;Pandora's talking Bot Script by Ford_Lawnmower -- irc.mindforge.org #USA-Chat
On *:Text:*:#: {
if ($hget(Pandora,$+($network,$chan))) {
var %text $strip($1-)
if ($me isin %text) { hadd Pandora $+($network,$chan) $puttok($hget(Pandora,$+($network,$chan)),$wildsite,6,32) }
if (shutup isin %text) && ($nick isop $chan || $gettok($hget(Pandora,$+($network,$chan)),6,32) == $wildsite) {
.msg $chan I will not be silenced forever :P
hadd Pandora $+($network,$chan) $puttok($hget(Pandora,$+($network,$chan)),0,6,32)
return
}
if ($gettok($hget(Pandora,$+($network,$chan)),6,32) == $wildsite) {
var %sockname $+(pandora,$nick,$ticks)
sockopen %sockname $gettok($hget(Pandora,$+($network,$chan)),1,32) 80
sockmark %sockname $chan $fixurl($wildsite) $fixurl($replace(%text,$me,$gettok($hget(Pandora,$+($network,$chan)),5,32))) $hget(Pandora,$+($network,$chan))
}
}
}
On *:Action:$(* $+ $me $+ *):#: {
if ($nick !isreg $chan) {
var %sockname $+(pandora,$nick,$ticks)
sockopen %sockname $gettok($hget(Pandora,$+($network,$chan)),1,32) 80
sockmark %sockname $chan $fixurl($wildsite) $fixurl($replace($strip($1-),$me,$gettok($hget(Pandora,$+($network,$chan)),5,32))) $hget(Pandora,$+($network,$chan))
}
}
On *:Sockopen:Pandora*: {
tokenize 32 $sock($sockname).mark
var %post $+(&custid=,$2,&input=,$3)
.sockwrite -n $sockname POST $5 HTTP/1.1
.sockwrite -n $sockname User-Agent: Opera 9.6
.sockwrite -n $sockname Host: $4
.sockwrite -n $sockname Content-Type: application/x-www-form-urlencoded
.sockwrite -n $sockname Content-Length: $calc($len(%post) + 1)
.sockwrite -n $sockname $crlf %post
}
On *:Sockread:Pandora*: {
if ($sockerr) { echo -at >sockerror Pandora< }
else {
var %pandora | sockread %pandora
if ($between(%pandora,$gettok($sock($sockname).mark,6,32),$gettok($sock($sockname).mark,7,32),1)) {
var %ifmatch $replace($ifmatch,",")
if (%ifmatch != I will pass it along to my botmaster.) {
.timer $+ $+(PD,$network,$gettok($sock($sockname).mark,1,32)) 1 2 .msg $httpstrip($gettok($sock($sockname).mark,1,32) $remove(%ifmatch,www dot pandorabots dot com pandora talk botid,$&
I will pass it along to my botmaster.,demo vhost pandorabots dot com pandora talk botid))
sockclose $sockname
}
}
}
}
On *:Sockwrite:Pandora*: {
if ($sockerr) {
echo -at Pandoras Site is Currently overloaded - $sockerr
halt
}
}
On *:Start: {
hmake Pandora
if ($exists(Pandora.hsh)) { hload Pandora Pandora.hsh }
}
On *:Exit: {
if ($hget(Pandora)) {
hsave Pandora Pandora.hsh
hfree Pandora
}
}
menu nicklist {
$iif(!$hget(Pandora,$+($network,$chan)),$style(2)) Pandora
.Set the focus of $gettok($hget(Pandora,$+($network,$chan)),5,32) on $$1: {
if (!$address($$1,2)) { who $$1 }
hadd Pandora $+($network,$chan) $puttok($hget(Pandora,$+($network,$chan)),$address($$1,2),6,32)
echo -a Focus switched to $$1
}
}
menu channel {
$iif($hget(Pandora,$+($network,$chan)),$style(1)) Pandora
.$iif($hget(Pandora,$+($network,$chan)),$style(1)) Select Bot for $chan:DialogOpen $+(botselect,$network,$chan) botselect
.$iif(!$hget(Pandora,$+($network,$chan)),$style(2)) Bot Off for $chan:hdel Pandora $+($network,$chan) | echo -at Pandora is deactivated for $chan
.Use bot from botid: {
var %botname $$?"Enter Your Bots Name"
if (%botname) { var %botid $$?"Enter Your Bots ID" }
if (%botname) && (%botid) {
hadd -m Pandora $+($network,$chan) www.pandorabots.com $+(/pandora/talk-xml?botid=,%botid) <that> </that> $replace(%botname,$chr(32),_) 0
echo -a The Bot %botname %botid has been started on $chan
}
}
}
dialog -l BotSelect {
title "Pandoras Bot Selection"
size -1 -1 96 108
option dbu
text "Network:", 1, 7 8 25 8, right
text "Channel:", 2, 7 18 25 8, right
text "", 3, 35 8 57 8
text "", 4, 35 18 57 8
combo 5, 8 30 82 50, sort size vsbar
radio "On", 6, 24 81 18 10, left
radio "Off", 7, 48 81 18 10
button "Close", 8, 61 92 29 12, cancel
button "Accept", 9, 8 92 29 12
}
On *:dialog:BotSelect*:Sclick:9: {
if ($did($dname,6).state) {
hadd -m Pandora $+($did($dname,3).text,$did($dname,4).text) $botinfo($did($dname,5).seltext)
echo -at $did($dname,5).seltext has been activated for $did($dname,4).text
if ($dialog($dname)) { dialog -x $dname }
}
else { echo -at Bot is turned off for $+($did($dname,4).text,!) If you want to activate pandora, click On. }
}
On *:dialog:BotSelect*:init:*: {
did -a $dname 3 $network
did -a $dname 4 $active
didtok $dname 5 14 LilithObaid(Portuguese)Sara(Spainish)Mathilde(French)Dr DuckHector van DaemonGabi(German-Adault)Eliza(German)Grandma ElaineIncognita
didtok $dname 5 14 Smoshinator(Rude)Spambot(Rude)AFRObot(Rude)DawnstarWraithRoninChabba(German)LaurieGodAlice
did -c $dname $iif($hget(Pandora,$+($network,$active)),6,7)
did -fc $dname 5 $iif($gettok($hget(Pandora,$+($network,$active)),7,32),$didwm($dname,5,$replace($gettok($hget(Pandora,$+($network,$active)),7,32),_,$chr(32))),2)
}
On *:Text:.focus *:?: {
if ($2 !ischan) || ($3 !ison $2) { .msg $nick Proper syntax is .focus #channel nickname. The channel must exist & the nickname must be on the channel! | return }
if (!$hget(Pandora,$+($network,$2))) { .msg $nick No bot is turned on for that channel! Please add a bot before changing focus! | return }
if ($nick !isop $2) { .msg $nick You must be an operator on $2 to change the focus of the bot! | return }
if ($3 == $me) { .msg $nick You cannot place the focus on me!! I am the bot silly :P | return }
focus $network $2-
.msg $nick Focus for $network channel $2 has been changed to $3 at the address $address($3,2)
}
alias focus {
if ($hget(Pandora,$+($1,$2))) {
hadd Pandora $+($1,$2) $puttok($hget(Pandora,$+($1,$2)),$address($3,2),6,32)
}
}
alias -l DialogOpen { dialog $iif($dialog($1),-v,-m) $1- }
alias -l fixurl return $regsubex($1-,/([^a-z0-9])/ig,% $+ $base($asc(\t),10,16,2))
alias -l httpstrip {
var %x, %i = $regsub($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)/g,$null,%x), %x = $remove(%x, )
return %x
}
;alias by Gummo
alias -l between {
noop $regex($1,/\Q $+ $2 $+ \E(.*?)\Q $+ $3 $+ \E/gi)
return $regml($4)
}
alias -l botinfo {
if ($1- == Alice) { var %return www.pandorabots.com /pandora/talk-xml?botid=f5d922d97e345aa1 <that> </that> Alice 0 }
if ($1- == God) { var %return www.pandorabots.com /pandora/talk-xml?botid=b21f0d757e36f385 <that> </that> God 0 }
if ($1- == Laurie) { var %return www.pandorabots.com /pandora/talk-xml?botid=b800da72be34d5d9 <that> </that> Laurie 0 }
if ($1- == Chabba(German)) { var %return www.pandorabots.com /pandora/talk-xml?botid=9e129a956e3548fd <that> </that> Chabba 0 }
if ($1- == Ronin) { var %return www.pandorabots.com /pandora/talk-xml?botid=d3012a1f2e377a96 <that> </that> Ronin 0 }
if ($1- == Wraith) { var %return www.pandorabots.com /pandora/talk-xml?botid=e2ee8c6c9e377a87 <that> </that> Wraith 0 }
if ($1- == Dawnstar) { var %return www.pandorabots.com /pandora/talk-xml?botid=c1776ae8ce354d1f <that> </that> Dawnstar 0 }
if ($1- == AFRObot(Rude)) { var %return www.pandorabots.com /pandora/talk-xml?botid=9d3dc63c7e34956d <that> </that> AFRObot 0 }
if ($1- == Spambot(Rude)) { var %return www.pandorabots.com /pandora/talk-xml?botid=d3b8db41ee36d42d <that> </that> Spambot 0 }
if ($1- == Smoshinator(Rude)) { var %return www.pandorabots.com /pandora/talk-xml?botid=b4db4c279e3420eb <that> </that> Smoshinator 0 }
if ($1- == Incognita) { var %return www.pandorabots.com /pandora/talk-xml?botid=f7634aec7e3652ed <that> </that> Incognita 0 }
if ($1- == Grandma Elaine) { var %return www.pandorabots.com /pandora/talk-xml?botid=8f02c14a0e34bbe4 <that> </that> Grandma_Elaine 0 }
if ($1- == Eliza(German)) { var %return www.pandorabots.com /pandora/talk-xml?botid=e4fc10b06e3632ef <that> </that> Eliza 0 }
if ($1- == Gabi(German-Adault)) { var %return www.pandorabots.com /pandora/talk-xml?botid=bd81f97c0e354f35 <that> </that> Gabi 0 }
if ($1- == Hector van Daemon) { var %return www.pandorabots.com /pandora/talk-xml?botid=be43a1422e36ad7b <that> </that> Hector_van_Daemon 0 }
if ($1- == Dr Duck) { var %return www.pandorabots.com /pandora/talk-xml?botid=f3b9b50cbe344c44 <that> </that> Dr_Duck 0 }
if ($1- == Mathilde(French)) { var %return www.pandorabots.com /pandora/talk-xml?botid=eff729829e36e89c <that> </that> Mathilde 0 }
if ($1- == Sara(Spainish)) { var %return www.pandorabots.com /pandora/talk-xml?botid=e71c0d43fe35093a <that> </that> Sara 0 }
if ($1- == Obaid(Portuguese)) { var %return www.pandorabots.com /pandora/talk-xml?botid=a29a250aee36f3b3 <that> </that> Obaid 0 }
if ($1- == Lilith) { var %return www.pandorabots.com /pandora/talk-xml?botid=b9b96b247e34f4f2 <that> </that> Lilith 0 }
return %return $replace($1-,$chr(32),_)
}