Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Bans.tcl - istok@IRCSpeed.org
- # Commands:
- # !bans <=- muestra la lista de bans.
- # !globans <=- muestra la lista de bans global.
- # !addban *!*@banmask.etc razon <=- agrega autoban en un determinado canal
- # !delban *!*@banmask.etc <=- remueve el autoban en un determinado canal
- # !gban *!*@banmask.etc reasons-for-ban <=- agrega autoban en formal global
- # !delgban *!*@banmask.etc <=- remueve autoban en forma global
- # MSGCMD: /msg botnick bans <=- para ver la lista en forma global.
- # MSGCMD: /msg botnick bans #channel <=- para ver la lista de un determinado canal.
- ###################################################################
- set triga "!"
- proc getTriga {} {
- global triga
- return $triga
- }
- bind pub - ${triga}bans chan:bans
- proc chan:bans {nick uhost hand chan text} {
- global botnick
- if {[matchattr [nick2hand $nick] o|o $chan]} {
- putquick "PRIVMSG $chan :\002BANLIST\002 for $chan sent to $nick"
- putquick "NOTICE $nick :********* \002$chan BanList\002 **********"
- foreach botban [banlist $chan] {
- putquick "NOTICE $nick :\002BOTBAN\002: $botban"
- }
- putquick "NOTICE $nick :********** \002$chan BanList \037END\037\002 **********"
- }
- }
- bind pub - ${triga}globans glo:bans
- proc glo:bans {nick uhost hand chan text} {
- global botnick
- if {[matchattr [nick2hand $nick] o]} {
- putquick "PRIVMSG $chan :\002GLOBAL BANLIST\002 sent to $nick"
- putquick "NOTICE $nick :********* \002Global BanList\002 **********"
- foreach globan [banlist] {
- putquick "NOTICE $nick :\002GLOBAN\002: $globan"
- }
- putquick "NOTICE $nick :********** \002Global BanList \037END\037\002 **********"
- }
- }
- bind msg - bans ban:list
- proc ban:list {nick uhost hand arg} {
- global botnick
- if {([lindex $arg 0] == "") && ([matchattr [nick2hand $nick] o])} {
- putquick "NOTICE $nick :********** \002Global BanList\002 **********"
- foreach globban [banlist] {
- putquick "NOTICE $nick :\002GLOBBAN\002: $globban"
- }
- putquick "NOTICE $nick :********** \002Global BanList \037END\037\002 **********"
- } else {
- set chan [strlwr [lindex $arg 0]]
- if {([lindex [split $arg] 0] != "") && ([matchattr [nick2hand $nick] o|o $chan])} {
- putquick "NOTICE $nick :********** \002$chan BanList\002 **********"
- foreach chanban [banlist $chan] {
- putquick "NOTICE $nick :\002CHANBAN\002: $chanban"
- }
- putquick "NOTICE $nick :********** \002$chan BanList \037END\037\002 **********"
- }
- }
- }
- bind pub - ${triga}addban banint:pub
- proc banint:pub {nick uhost hand chan arg} {
- if {![matchattr [nick2hand $nick] o|m $chan]} {return}
- set banmask [lindex [split $arg] 0]
- if {$banmask == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]addban *!*@banmask.etc reason-for-ban"; return}
- if {[isban $banmask $chan] && ![regexp c [getchanmode $chan]]} {putquick "PRIVMSG $chan :\037ERROR\037: Banmask already exists."; return}
- if {[isban $banmask $chan] && [regexp c [getchanmode $chan]]} {putquick "PRIVMSG $chan :ERROR: Banmask already exists."; return}
- set banreason [join [lrange [split $arg] 1 end]]
- if {$banreason == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]addban *!*@banmask.etc reason-for-ban"; return}
- putquick "MODE $chan +b $banmask"
- newchanban "$chan" "$banmask" "$nick" "$banreason" 0
- putquick "NOTICE $nick :Successfully Added Ban: $banmask for $chan"
- }
- bind pub - ${triga}delban unbanint:pub
- proc unbanint:pub {nick uhost hand chan arg} {
- if {![matchattr [nick2hand $nick] o|m $chan]} {return}
- set unbanmask [lindex [split $arg] 0]
- if {$unbanmask == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]delban *!*@banmask.etc"; return}
- if {![isban $unbanmask $chan] && ![regexp c [getchanmode $chan]]} {putquick "PRIVMSG $chan :\037ERROR\037: Banmask not found."; return}
- if {![isban $unbanmask $chan] && [regexp c [getchanmode $chan]]} {putquick "PRIVMSG $chan :ERROR: Banmask not found."; return}
- killchanban $chan $unbanmask
- putquick "NOTICE $nick :Successfully Deleted Ban: $unbanmask for $chan"
- }
- bind pub - ${triga}gban gban:pub
- proc gban:pub {nick uhost hand chan arg} {
- global botnick
- if {[matchattr [nick2hand $nick] o]} {return}
- set banmask [lindex [split $arg] 0]
- if {$banmask == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]gban *!*@banmask.etc reason-for-ban"; return}
- if {[isban $banmask]} {putquick "NOTICE $nick :\037ERROR\037: Banmask already exists."; return}
- set banreason [join [lrange [split $arg] 1 end]]
- if {$banreason == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]gban *!*@banmask.etc reason-for-ban"; return}
- newban $banmask $nick $banreason 0
- putquick "NOTICE $nick :Successfully Added Global Ban: $banmask for: [channels]"
- }
- bind pub - ${triga}delgban unbanglob:pub
- proc unbanglob:pub {nick uhost hand chan arg} {
- global botnick
- if {[matchattr [nick2hand $nick] o]} {return}
- set unbanmask [lindex [split $arg] 0]
- if {$unbanmask == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]delgban *!*@banmask.etc"; return}
- if {![isban $unbanmask]} {putquick "NOTICE $nick :\037ERROR\037: Banmask not Found."; return}
- killban $unbanmask
- putquick "NOTICE $nick :Successfully Deleted Global Ban: $unbanmask for: [channels]"
- }
- putlog "LOADED .:Bans.tcl:. - istok@IRCSpeed.org"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement