Advertisement
Guest User

Untitled

a guest
Aug 14th, 2018
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.29 KB | None | 0 0
  1. # Bans.tcl - istok@IRCSpeed.org
  2.  
  3. # Commands:
  4. # !bans <=- muestra la lista de bans.
  5. # !globans <=- muestra la lista de bans global.
  6. # !addban *!*@banmask.etc razon <=- agrega autoban en un determinado canal
  7. # !delban *!*@banmask.etc <=- remueve el autoban en un determinado canal
  8. # !gban *!*@banmask.etc reasons-for-ban <=- agrega autoban en formal global
  9. # !delgban *!*@banmask.etc <=- remueve autoban en forma global
  10.  
  11. # MSGCMD: /msg botnick bans <=- para ver la lista en forma global.
  12. # MSGCMD: /msg botnick bans #channel <=- para ver la lista de un determinado canal.
  13. ###################################################################
  14. set triga "!"
  15.  
  16. proc getTriga {} {
  17. global triga
  18. return $triga
  19. }
  20.  
  21. bind pub - ${triga}bans chan:bans
  22. proc chan:bans {nick uhost hand chan text} {
  23. global botnick
  24. if {[matchattr [nick2hand $nick] o|o $chan]} {
  25. putquick "PRIVMSG $chan :\002BANLIST\002 for $chan sent to $nick"
  26. putquick "NOTICE $nick :********* \002$chan BanList\002 **********"
  27.  
  28. foreach botban [banlist $chan] {
  29. putquick "NOTICE $nick :\002BOTBAN\002: $botban"
  30. }
  31. putquick "NOTICE $nick :********** \002$chan BanList \037END\037\002 **********"
  32. }
  33. }
  34.  
  35. bind pub - ${triga}globans glo:bans
  36. proc glo:bans {nick uhost hand chan text} {
  37. global botnick
  38. if {[matchattr [nick2hand $nick] o]} {
  39. putquick "PRIVMSG $chan :\002GLOBAL BANLIST\002 sent to $nick"
  40. putquick "NOTICE $nick :********* \002Global BanList\002 **********"
  41. foreach globan [banlist] {
  42. putquick "NOTICE $nick :\002GLOBAN\002: $globan"
  43. }
  44. putquick "NOTICE $nick :********** \002Global BanList \037END\037\002 **********"
  45. }
  46. }
  47.  
  48. bind msg - bans ban:list
  49. proc ban:list {nick uhost hand arg} {
  50. global botnick
  51. if {([lindex $arg 0] == "") && ([matchattr [nick2hand $nick] o])} {
  52. putquick "NOTICE $nick :********** \002Global BanList\002 **********"
  53. foreach globban [banlist] {
  54. putquick "NOTICE $nick :\002GLOBBAN\002: $globban"
  55. }
  56. putquick "NOTICE $nick :********** \002Global BanList \037END\037\002 **********"
  57. } else {
  58. set chan [strlwr [lindex $arg 0]]
  59. if {([lindex [split $arg] 0] != "") && ([matchattr [nick2hand $nick] o|o $chan])} {
  60. putquick "NOTICE $nick :********** \002$chan BanList\002 **********"
  61. foreach chanban [banlist $chan] {
  62. putquick "NOTICE $nick :\002CHANBAN\002: $chanban"
  63. }
  64. putquick "NOTICE $nick :********** \002$chan BanList \037END\037\002 **********"
  65. }
  66. }
  67. }
  68.  
  69. bind pub - ${triga}addban banint:pub
  70. proc banint:pub {nick uhost hand chan arg} {
  71. if {![matchattr [nick2hand $nick] o|m $chan]} {return}
  72. set banmask [lindex [split $arg] 0]
  73. if {$banmask == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]addban *!*@banmask.etc reason-for-ban"; return}
  74. if {[isban $banmask $chan] && ![regexp c [getchanmode $chan]]} {putquick "PRIVMSG $chan :\037ERROR\037: Banmask already exists."; return}
  75. if {[isban $banmask $chan] && [regexp c [getchanmode $chan]]} {putquick "PRIVMSG $chan :ERROR: Banmask already exists."; return}
  76. set banreason [join [lrange [split $arg] 1 end]]
  77. if {$banreason == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]addban *!*@banmask.etc reason-for-ban"; return}
  78. putquick "MODE $chan +b $banmask"
  79. newchanban "$chan" "$banmask" "$nick" "$banreason" 0
  80. putquick "NOTICE $nick :Successfully Added Ban: $banmask for $chan"
  81. }
  82.  
  83. bind pub - ${triga}delban unbanint:pub
  84. proc unbanint:pub {nick uhost hand chan arg} {
  85. if {![matchattr [nick2hand $nick] o|m $chan]} {return}
  86. set unbanmask [lindex [split $arg] 0]
  87. if {$unbanmask == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]delban *!*@banmask.etc"; return}
  88. if {![isban $unbanmask $chan] && ![regexp c [getchanmode $chan]]} {putquick "PRIVMSG $chan :\037ERROR\037: Banmask not found."; return}
  89. if {![isban $unbanmask $chan] && [regexp c [getchanmode $chan]]} {putquick "PRIVMSG $chan :ERROR: Banmask not found."; return}
  90. killchanban $chan $unbanmask
  91. putquick "NOTICE $nick :Successfully Deleted Ban: $unbanmask for $chan"
  92. }
  93.  
  94. bind pub - ${triga}gban gban:pub
  95. proc gban:pub {nick uhost hand chan arg} {
  96. global botnick
  97. if {[matchattr [nick2hand $nick] o]} {return}
  98. set banmask [lindex [split $arg] 0]
  99. if {$banmask == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]gban *!*@banmask.etc reason-for-ban"; return}
  100. if {[isban $banmask]} {putquick "NOTICE $nick :\037ERROR\037: Banmask already exists."; return}
  101. set banreason [join [lrange [split $arg] 1 end]]
  102. if {$banreason == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]gban *!*@banmask.etc reason-for-ban"; return}
  103. newban $banmask $nick $banreason 0
  104. putquick "NOTICE $nick :Successfully Added Global Ban: $banmask for: [channels]"
  105. }
  106.  
  107. bind pub - ${triga}delgban unbanglob:pub
  108. proc unbanglob:pub {nick uhost hand chan arg} {
  109. global botnick
  110. if {[matchattr [nick2hand $nick] o]} {return}
  111. set unbanmask [lindex [split $arg] 0]
  112. if {$unbanmask == ""} {putquick "NOTICE $nick \037ERROR\037: Incorrect Parameters. \037SYNTAX\037: [getTriga]delgban *!*@banmask.etc"; return}
  113. if {![isban $unbanmask]} {putquick "NOTICE $nick :\037ERROR\037: Banmask not Found."; return}
  114. killban $unbanmask
  115. putquick "NOTICE $nick :Successfully Deleted Global Ban: $unbanmask for: [channels]"
  116. }
  117.  
  118. putlog "LOADED .:Bans.tcl:. - istok@IRCSpeed.org"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement