rendered paste body;Written by [FtUC]Hydro
alias qbash {
set %qbash.chan $1
set -z %bash.flood 6
if $2 { set %qbash.qnum $2 }
sockopen qbash www.bash.org 80
}
on *:sockopen:qbash:{
var %a = sockwrite -tn $sockname
%a GET $iif(!%qbash.qnum,/?random1,/?quote= $+ %qbash.qnum) HTTP/1.1
%a Host: www.bash.org
%a Keep-Alive: 300
%a Connection: keep-alive
%a Referer: http://www.bash.org/
%a
}
on *:sockread:qbash:{
var %read
sockread %read
while $sockbr {
if $regex(%read,/(Quote #\d+? was rejected\.)/) {
msg %qbash.chan $+ $regml(1)
sockclose qbash
unset %qbash.*
break
}
elseif $regex(%read,/(Quote #\d+? does not exist\.)/) {
msg %qbash.chan $+ $regml(1)
sockclose qbash
unset %qbash.*
break
}
elseif $regex(%read,/<p class="qt">/) {
set %qbash.found $true
set %qbash.counter 0
}
if %qbash.found {
var %temp = $striphtml(%read).160
%temp = $striphtml_entities(%temp).160
noop $regex(%temp,/^(?:(#\d+?) \+\(\d+\)- \[X\])?(.+?)$/)
.timer 1 %qbash.counter msg %qbash.chan $iif($regml(0) == 2,$+($chr(2),Quote $regml(1),$chr(2),:) $regml(2),$regml(1))
inc %qbash.counter
}
if %qbash.found && $regex(%read,/<\/p>$/) {
sockclose qbash
unset %qbash.*
break
}
sockread %read
}
}
on *:text:!bash*:#:{
if $1 == !bash && ($network == mIRCx || #[FtUC]* iswm $chan) && !%bash.flood {
qbash $chan $iif($2 isnum,$2)
}
}
; # .:[ dJabba's $striphtml version 0.5 ]:. #
; Modified by [FtUC]Hydro
alias -l striphtml {
if $isid && $1 {
var %H = $1 , %T = $regsub(%H,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,,%H)
return %H
}
}
alias striphtml_entities {
var %H = $1
var %H = $replace(%H,",",<,<,>,>,€,€, ,$iif($prop,$chr($prop),$chr(32)),´,´)
var %H = $replace(%H,¦,¦,¸,¸,¢,¢,ˆ,ˆ,©,©,°,°)
var %H = $replace(%H,÷,÷,&Euro;,€,ƒ,ƒ,½,½,¼,¼)
var %H = $replace(%H,¾,¾,¡,¡,¿,¿,«,«,¯,¯,µ,µ,·,·)
var %H = $replace(%H,¬,¬)
var %H = $replace(%H,¶,¶,±,±,£,£,»,»,®,®,§,§,­,,¹,¹,²,²)
var %H = $replace(%H,³,³,˜,˜,×,×,¨,¨)
var %H = $replace(%H,¥,¥)
var %H = $replace(%H,’,’,‚,‚,“,“,”,”,„,„,‹,‹,›,›,†,†,‡,‡,‰,‰,•,•,…,…)
var %H = $replace(%H,ℑ,I,ℜ,R,™,™)
var %H = $replace(%H,−,-)
var %H = $replace(%H,&,&)
return %H
}