rendered paste bodypackage require http
bind pubm - "*" bind:pubm
proc bind:pubm {nick userhost handle chan text} {
global botnick iktag ikadminchan
if {[regexp -nocase "(^(All|$iktag|$botnick)(!|@)(.*?))" $text] == 1} {
set target [core:disp $chan $nick $text]
regsub -nocase {!} $text { } text
regsub -nocase {@} $text { } text
if {[isop $nick $ikadminchan] == 1} {
set text [lrange $text 1 end]
set com [lindex $text 0]
switch $com {
channels { ik:channels $nick $chan $userhost $handle $target $text $com }
part { ik:part $nick $chan $userhost $handle $target $text $com [lindex $text "1"] }
join { ik:join $nick $chan $userhost $handle $target $text $com [lindex $text "1"] }
ccount { ik:ccount $nick $chan $userhost $handle $target $text $com }
ucheck { ik:ucheck $nick $chan $userhost $handle $target $text $com }
help { ik:help $nick $chan $userhost $handle $target $text $com }
msg { ik:msg $nick $chan $userhost $handle $target $text $com [lindex $text 1] [lrange $text 2 end] }
}
}
}
}
proc event:part {nick chan reason} {
global c1 c2 ikadminchan
putserv "PRIVMSG $ikadminchan :\[Part\] \003$c1\Parting \003$c2$chan \003$c1\Reason: \003$c2$reason"
channel remove $chan
}
proc event:join {nick chan reason} {
global c1 c2 ikadminchan
putserv "PRIVMSG $ikadminchan :\[Join\] \003$c1\Joining \003$c2$chan \003$c1\Reason: \003$c2$reason"
channel add $chan
}
proc ik:help {nick chan userhost handle target text com} { puthelp "$target :Help Doc Information" }
proc ik:channels {nick chan userhost handle target text com} { putserv "$target :Currently on: [channels]" }
proc ik:msg {nick chan userhost handle target text com sendchan message} { putserv "PRIVMSG $sendchan :$message" }
proc ik:ucheck {nick chan userhost handle target text com} {
global ikadminchan botnick
foreach line [channels] {
if {[llength [chanlist $line]] < 4} {
event:part $botnick $com "[llength [chanlist $line]] Users"
}
}
}
proc ik:ccount {nick chan userhost handle target text com} {
global ikadminchan
set usercount 0
foreach line [channels] { incr usercount [llength [chanlist $line]] }
putserv "$target :I am in [llength [channels]] channels with $usercount users."
}
proc ik:part {nick chan userhost handle target text com chanp} {
global botnick
event:part $botnick $chanp "Part command used by $nick"
}
proc ik:join {nick chan userhost handle target text com chanj} {
global botnick
event:join $botnick $chanj "Join command used by $nick"
}
proc core:disp {chan nick text} {
global iktag botnick
if {[regexp -nocase "(^(All|$iktag|$botnick)!(.*?))" $text] == 1} { return "NOTICE $nick" }
if {[regexp -nocase "(^(All|$iktag|$botnick)@(.*?))" $text] == 1} { return "PRIVMSG $chan" }
}