# operator interface system/chanserv interface system (CSi) # file name: csi.mod authors: SidE_ShoW, NovaWolf, psykotyk # orbital 1.0 distribution # # This script is optimized for ircu2.9.32+digi0.* and # StarNET's modified xbot (ChanServ) # # List of current StarNET servers # # Server Port # # irc.starnet.org 6667 # digi.starnet.org 6607 # sideshow.us.starnet.org 6670 # ny.us.starnet.org 6667 # irc.net-set.com 6667 # ca.us.starnet.org 6667 # oh.us.starnet.org 6667 # darkstar.sd.us.starnet.org 6667 # discovery.chainei.com 6667 # eu.starnet.org 6667 # monmouth.com 6667 # axisnet.starnet.org 6667 # stang.us.starnet.org 6667 # # version 1.2 # 1) added Global notices/messages (mostly digi's code modified by SidE_ShoW # a little for use with both msg and notice # 2) added a lame /csisv cuz i am and i was bored # # version 1.3 # 1) emergency release /rgline wasn;t working lol sorry digi :P # 2) temporarly removed the formatting of server notices cuz it doesn't work # all the time. so server notices will look kinda ugly in diz for a bit # # version 1.4 # 1) wow this version was release about 5 seconds later do to another /gline # bug thnx digi for noticeing :P # 2) removed /masskill code because it seems our modiefied xbot does not # contain working masskill code simply use /whokill instead Note # /masskill is now an alias of /whokill until the xbot function is # fixed # # verison 1.5 # 1) staring to add "Usage:" for when you just type a command by itself # 2) fixed /walln bug cuz i forogt a } # 3) made /smode use $csnick until i add $osnick into the setup have to # give novalogic credz for noticeing that one :) # # version 1.6 # 1) err thanks to psykotyk for discontinueing orbital this version*should* # work as an indepentant script # 2) had to change the alias for global message since pana decided to add # /wallmsg # 3) gunna fix up so other 'looks' since it doesn't have orbital's 'looks' # anymore alias cscmdecho { echo \[1\;30m:\[0\;31m:\[1\;31m:\ $0- } alias csinecho { echo \[1\;33m[\\C\[1\;31mS\\[1\;32mmsg\\[1\;33m][1\;31m $0- } alias csoutecho { echo \[1\;33m[\\msg\C\[1\;35mS\[1\;33m]\ $0- } cscmdecho oper/chanserv interface (by SidE_ShoW, NovaWolf, and psykotyk) loaded. ^assign BLNK  ^assign CL  ^assign BLK  ^assign RED  ^assign GRN  ^assign YEL  ^assign BLU  ^assign MAG  ^assign CYN  ^assign WHT  ^assign BBLK  ^assign BRED  ^assign BGRN  ^assign BYEL  ^assign BBLU  ^assign BMAG  ^assign BCYN  ^assign BWHT  ^assign HBLK  ^assign HRED  ^assign HGRN  ^assign HYEL  ^assign HBLU  ^assign HMAG  ^assign HCYN  ^assign HWHT  @ csi.ver = [CSi/pre2.0|beta 1] @ csi.doms = [\$*.com,\$*.edu,\$*.gov,\$*.int,\$*.mil,\$*.net,\$*.org,\$*.rpa,\$*.ato,\$*.au,\$*.ca,\$*.de,\$*.fr,\$*.no,\$*.jp,\$*.se,\$*.uk,\$*.us,\$*.li,\$*.hx,\$*.mx] eval if (!CSI) { @ CSI = [$csi.ver] set format_version $format_version + $csi.ver } ^set format_server_notice $0- #^on ^server_notice "% % * *" echo ${HBLK}\!${CL}${CYN}serv${HCYN}:${CL}${CYN}$0${HBLK}\!${CL} $4- #^on ^server_notice "% % *oper*" echo $G ${CYN}$0${HBLK}:${CL}${HCYN} $3 ${CL}${CYN}$4 $5 ${CL} is now an IRCop $10 #^on ^server_notice "% % *connecting*" echo $G connection to ${CYN}$0${HBLK}:${CL}${HCYN} $6 ${CL}${CYN}$7${CL} #^on ^server_notice "% % * exiting: *" echo $G exit from ${CYN}$0${HBLK}:${CL}${HCYN} $6 ${CL}${CYN}$7${CL} ${CYN}$8-${CL} #^on ^server_notice "% % * unauthorized *" echo $G unauthorized connection to ${CYN}$0${HBLK}:${CL}${HCYN} ${CYN}$8-${CL} ^on ^server_notice "% % *break*" { ^assign serv1 $6 ^assign serv2 $7 if ([$S]==[$6]) { bind ^R self_insert bind ^R parse_command connect ${serv2} }{ bind ^R self_insert bind ^R parse_command connect ${serv2} 6667 ${serv1} } echo $G warning netsplit ${serv1}, ${serv2} echo $G press CTRL-R to attempt to reconnect the server } ^on ^server_notice "% % *junction*" { if ([$6]==[$serv1]) {if ([$7]==[$serv2]) { echo $G successfull re-connection ${serv1}, ${serv2} }}{ echo $G net-junction $6, $7 }} #^on ^server_notice "% % * HACK(2): *" echo $G Mode rejection in ${CYN}$7${CL} by ${CYN}$5${CL}${HBLK}: ${CYN}$8-${CL} #^on ^server_notice "% % * HACK: *" echo $G Mode rejection in ${CYN}$7${CL} by ${CYN}$5${CL}${HBLK}: ${CYN}$8-${CL} #^on ^server_notice "% % * HACK(4): *" echo $G ${CYN}$5${CL} set mode ${CYN}$8-${CL} in ${CYN}$7${CL} #^on ^server_notice "% % * HACK(3): *" echo $G ${CYN}$5${CL} is desynched in ${CYN}$7${CL} ${HBLK}(${CL}$8-${HBLK})${CL} alias cfprot { ^set flood_protection off ^timer $0 ^set flood_protection $fludprot } on ^309 * echo ${hblk}|${cl} admin : $1 is and IRC Admisitrator alias walln {if ([$0]==[]){ cscmdecho walln/wallnotice send a global notice to all users. cscmdecho if you do this when you are not /oper'd it will *not* goto umode +i people cscmdecho Usage: /walln }{ //notice $csi.doms [Global Notice] $0- }} alias wallnotice walln alias wallm wallmesg alias wallmesg {if ([$0]==[]){ cscmdecho wallm/wallmesg send a global message to all users. cscmdecho if you do this when you are not /oper'd it will *not* goto umode +i people cscmdecho Usage: /wallm }{ //msg $csi.doms [Global Message] $0- }} alias masskill whokill alias setup_var { @ parm = toupper($[1]0) if (index($parm ABCDEFGHIJK) != -1) { if ([$0]==[A]) {input "ChanServ Nick: " if ([$0]) { ^assign csnick $0}} if ([$0]==[B]) {input "ChanServ Password: " if ([$0]) { ^assign chanpass $rot13($encode($0))}} if ([$0]==[C]) {input "Flood Protection (off/on): " if ([$0]) { ^assign fludprot $0}} if ([$0]==[D]) {input "O-line Nick: " if ([$0]) { ^assign onick $0}} if ([$0]==[E]) {input "O-line Password: " if ([$0]) { ^assign opass $rot13($encode($0))}} if ([$0]==[F]) {input "Oper Channel: " if ([$0]) { ^assign ochan $0}} if ([$0]==[G]) {input "Oper Channel Key: " if ([$0]) { ^assign ochankey $rot13($encode($0))}} if ([$0]==[H]) {input "Auto Join Oper Chan 1= no 2= yes: " if ([$0]) { ^assign aochan $0 ^do.aochan}} if ([$0]==[I]) {input "Auto Oper Yourself 1= no 2= yes: " if ([$0]) { ^assign aoper $0 ^do.aoper}} if ([$0]==[J]) {input "Use ChanServ To Auto Op 1=no 2=yes: " if ([$0]) { ^assign caop $0 ^do.caop}} if ([$0]==[K]) {csisave} csisetup } } alias do.caop { if ([$caop]==[2]) { csinecho Enableing Auto $csnick op eval on ^join $N cop }{ csinecho Disableing Auto $csnick op eval on join -}} alias do.aoper { if ([$aoper]==[2]) { cscmdecho Enableing Auto Oper god }{ cscmdecho Disableing Auto Oper}} alias do.aochan { if ([$aochan]==[2]) { cscmdecho Enableing Auto Join Oper Channel $ochan jochan }{ cscmdecho Disableing Auto-Join Oper Channel}} alias csisave { eval ^exec -name csi cat > ~/.BitchX/.csi.save eval ^exec -in %csi # CSi Settings eval ^exec -in %csi @ csnick = [$csnick] eval ^exec -in %csi @ chanpass = [$chanpass] eval ^exec -in %csi @ fludprot = [$fludprot] eval ^exec -in %csi @ onick = [$onick] eval ^exec -in %csi @ opass = [$opass] eval ^exec -in %csi @ ochan = [$ochan] eval ^exec -in %csi @ ochankey = [$ochankey] eval ^exec -in %csi @ aochan = [$aochan] eval ^exec -in %csi @ aoper = [$aoper] eval ^exec -in %csi @ caop = [$caop] eval ^exec -close %csi csecho Saved CSi settings to ~/.BitchX/.csi.save. } alias saveall { //saveall csisave } alias csisetup { cscmdecho ${HWHT}A${HBLK}> ${CL}ChanServ Nick${HBLK}: [${CL}$csnick${HBLK}]${CL} cscmdecho ${HWHT}B${HBLK}> ${CL}ChanServ Password${HBLK}: [${CL}$decode($rot13($chanpass))${HBLK}]${CL} cscmdecho ${HWHT}C${HBLK}> ${CL}Flood Protection${HBLK}: [${CL}$fludprot${HBLK}]${CL} cscmdecho ${HWHT}D${HBLK}> ${CL}O-line Nick${HBLK}: [${CL}$onick${HBLK}]${CL} cscmdecho ${HWHT}E${HBLK}> ${CL}O-line Password${HBLK}: [${CL}$decode($rot13($opass))${HBLK}]${CL} cscmdecho ${HWHT}F${HBLK}> ${CL}Oper Channel${HBLK}: [${CL}$ochan${HBLK}]${CL} cscmdecho ${HWHT}G${HBLK}> ${CL}Oper Channel Key${HBLK}: [${CL}$decode($rot13($ochankey))${HBLK}]${CL} cscmdecho ${HWHT}H${HBLK}> ${CL}Auto Join Oper Channel ${HBLK}: [${CL}$aochan${HBLK}]${CL} cscmdecho ${HWHT}I${HBLK}> ${CL}Auto Oper ${HBLK}: [${CL}$aoper${HBLK}]${CL} cscmdecho ${HWHT}J${HBLK}> ${CL}Auto Op Useing ChanServ ${HBLK}: [${CL}$caop${HBLK}]${CL} cscmdecho ${HWHT}K${HBLK}> ${CL}Save CSi Settings input "Enter letter to change (enter:abort) > " if ([$0]) { setup_var $[1]0 } } alias csiconfig csisetup alias swallops {if ([$0]==[]){ cscmdecho swallops - Send secure server wallops. These cannot be read by non-opers cscmdecho Usage: /swallops }{ quote swallops :$0- }} alias swallop swallops alias lwallops quote locwall :$0- alias lwallop lwallops alias locwall lwallops alias dnslookup nslookup alias dnsquery exec dnsquery $0 alias nsquery dnsquery alias god { cscmdecho Requesting operator status... quote oper $onick $decode($rot13($opass)) } alias cop { @ blah = [$0] @ fux0r = [0] @ deschar = [$mid($fux0r 1 $blah)] if ([$deschar]==[#]) { @ chan = [$0] @ nick = [$1-] }{ @ chan = [$C] @ nick = [$0-] } if ([$0]==[]) { @ chan = [$C] @ nick = [$N] } eval csoutecho Request $nick be opped on $chan eval ^quote privmsg $csnick :op $chan $nick $decode($rot13($chanpass)) } alias cfind {if ([$0]==[]) { cscmdecho cfind - Look up somebody in the $csnick database cscmdecho Usage: /cfind }{ @ blah = [$0] @ fux0r = [0] @ deschar = [$mid($fux0r 1 $blah)] if ([$deschar]==[#]) { @ chan = [$0] @ nick = [$1] }{ @ chan = [$C] @ nick = [$0] } if ([$0]==[*]) { @ chan = [$0] @ nick = [$1] } eval csoutecho Request info for $nick on channel $chan eval ^quote privmsg $csnick :find $chan $nick }} alias chaninfo { @ blah = [$0] @ fux0r = [0] @ deschar = [$mid($fux0r 1 $blah)] if ([$deschar]==[#]) { @ chan = [$0] }{ @ chan = [$C] } csoutecho Looking up info on $chan eval ^quote privmsg $csnick :chaninfo $chan } alias clearchan { @ blah = [$0] @ fux0r = [0] @ deschar = [$mid($fux0r 1 $blah)] if ([$deschar]==[#]) { @ chan = [$0] }{ @ chan = [$C] } csoutecho Request modes be cleared on $chan eval ^quote privmsg $csnick :clearops $chan $decode($rot13($chanpass)) eval ^quote privmsg $csnick :clearmode $chan $decode($rot13($chanpass)) } alias gline { if ([$0]==[]) { cscmdecho gline - G:lines a user (global K:line) cscmdecho Usage /gline user@*.host.com }{ csoutecho Request to add G-line for $0 \($1-\) eval ^quote privmsg $csnick :gline $0 $1- $decode($rot13($chanpass)) }} alias rgline { if ([$0]==[]) { cscmdecho rgline - Removes a G:line (global K:line) cscmdecho Usage /rgline user@*.host.com}{ csoutecho Request to remove G-line for $0- eval quote privmsg $csnick :rgline $0- $decode($rot13($chanpass)) }} alias smode { @ blah = [$0] @ fux0r = [0] @ deschar = [$mid($fux0r 1 $blah)] if ([$deschar]==[#]) { eval ^quote privmsg $csnick :opcom $0 $1- }{ eval ^quote privmsg $csnick :opcom $C $0- } } alias jochan { cscmdecho Attempting To Join Oper Channel $ochan join $ochan $decode($rot13($ochankey)) } @ cs = [${HBLU}\[${CL}${CYN}CS${HCYN}i${CL}${HBLU}\]${CL}] eval ^on ^notice "ChanServ Nick: *" { cfprot 3 csinecho ${HMAG}ÉÍÍÍÍÄÄ${CL}[${HWHT} whois${CL} ]${HMAG}ÄÄÄÄÄÄÄÄÄÄÄÄÄ${CL}${MAG}ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ${HBLK}ÄÄÄÄÄÄÄÄÄÄÄÄÄ Ä Ä csinecho ${HMAG}º${CL} user/host ${HBLU}>${CL} $2 ${HBLK}/ ${CL} $4 csinecho ${MAG}º${CL} channel ${HBLU}>${CL} $6 } eval ^on ^notice "ChanServ Level: *" { csinecho ${HMAG}º${CL} level ${HBLU}>${CL} $2 csinecho ${MAG}º${CL} auto-op ${HBLU}>${CL} $4 csinecho ${MAG}³${CL} protect ${HBLU}>${CL} $6 csinecho ${MAG}³${CL} password ${HBLU}>${CL} $8 } eval ^on ^notice "ChanServ % *" { cfprot 1 csinecho $1- } load ~/.BitchX/.csi.save if ([$aochan]==[2]) { @ blah = [$ochan] @ fux0r = [0] @ deschar = [$mid($fux0r 1 $blah)] if ([$deschar]==[#]) { @ ochan = [$ochan] }{ @ ochan = [#$ochan] } cscmdecho Attempting To Automatically Join Oper Channel $ochan timer * join $ochan $decode($rot13($ochankey)) } if ([$aoper]==[2]) { cscmdecho Attempting To Auto Oper god } if ([$caop]==[2]) { csinecho Auto ChanServ Op Is Set To On, I Will Attempt To Auto Op You eval on ^join $N cop } @CSI = [CSi ${csi.ver}] ^assign csisv.num 0 @ csislogan.0 = [He's going the distance] @ csislogan.1 = [Radioactive cats have 18 half-lives.] @ csislogan.2 = [He's racing and pacing and ploting a course] @ csislogan.3 = [I'm a /luser baby so why don't ya /kill me] @ csislogan.4 = [What's another word for Thesaurus?] @ csislogan.5 = [Don't hit a man when he's down -- kick him it's easier.] @ csislogan.6 = [No one gets too old to learn a new way of being stupid.] @ csislogan.7 = [A man wrapped up in himself makes a very small package.] @ csislogan.8 = [Coincidences are spiritual puns.] @ csislogan.9 = [The beautiful people, the beautiful people] @ csislogan.10 = [OK, now let's look at four dimensions on the blackboard.] @ csislogan.11 = [This is a party move your asses] @ csislogan.12 = [Here I am in 53 B.C. and all I want is a dill pickle!!] @ csislogan.13 = [Only adults have difficulty with childproof caps.] @ csislogan.14 = [Please come home with me ... I have Tylenol!!] @ csislogan.15 = [All power corrupts, but we need electricity.] @ csislogan.16 = [Experience is what you get when you were expecting] @ csislogan.17 = [Ah say, son, you're about as sharp as a bowlin' ball.] @ csislogan.18 = [Being disintegrated makes me ve-ry an-gry!] alias csisv { @ csisv.num = csisv.num + 1 if ([$csisv.num]>[18]) { @ csisv.num = [0] } ^eval ^assign csislog $csislogan[$csisv.num] ^eval set client_information $csislog if (!NX) { me is roxin $csnick wif $csi.ver / \($client_information\) }{me is roxin $csnick wif $csi.ver / \($mansil($client_information)\)} }