Advertisement
Guest User

Bautista.tcl

a guest
Sep 25th, 2015
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.23 KB | None | 0 0
  1. #------------------------------------------------------------#
  2. # Servicio de Ayuda Opers_help By ANAKIN^ #
  3. #------------------------------------------------------------#
  4.  
  5. ##AUTOR : ANAKIN^
  6. ##VERSION : 2.0
  7. ##EMAIL : residentevil-555@hotmail.com, anakin9404@hotmail.com
  8. ##SERVER : irc.chatzona.org
  9. ##URL : www.chateacongente.com
  10.  
  11. ###############
  12. # DESCRIPCIÓN #
  13. ###############
  14. #Cuando un usuario entre al canal #opers_help el Bot(Bautista) le mandara privado solicitandole la ayuda que necesite,
  15. #El usuario pondrá su duda en el privado del Bot y este lo notificara al canal #opers, donde un operador
  16. #Vera si acepta la ayuda o lo deniega con el comando help estando en el canal #opers,
  17. #Este servicio funciona en varios tipos de servidores irc como ircuh, unreal,
  18. #DarKu etc.
  19.  
  20.  
  21.  
  22. ### eventos del script #######
  23. bind pub - "!ayudar" bautista:acepta
  24. bind pub - "!denegar" bautista:deniega
  25. bind pub - "!fin" bautista:fin
  26. bind pub - !help help
  27. #bind pub - "!kick" do:kickreply
  28.  
  29.  
  30. bind evnt - init-server evnt:init_server
  31. bind join - * entrada:join
  32. bind part - * salida:part
  33. bind msgm - * acepta:help
  34.  
  35. set helpchan "#opers"
  36. set advbantype "1"
  37. set mainchan "#opers_help"
  38.  
  39.  
  40. proc entrada:join {nick uhost handle chan} {
  41. set opershelp "#opers"
  42. if {($chan != $opershelp)} {
  43. putserv "PRIVMSG #opers :4$nick 1Entra a 7#Opers_Help"
  44. putserv "PRIVMSG $nick :Hola, soy el roBOT encargado de ponerle en contacto con un 12OPERador 1para que solucione su duda. 1Por favor, ¿podría describirme en una sola línea brevemente el problema?"
  45. }
  46. }
  47.  
  48.  
  49. proc evnt:init_server {type} {
  50. global botnick
  51. putserv "SILENCE +$botnick"
  52.  
  53. }
  54.  
  55.  
  56. proc salida:part {nick uhost handle chan {msg ""}} {
  57. set opershelp "#opers"
  58. if {($chan != $opershelp)} {
  59. putserv "SILENCE -$nick"
  60. putserv "PRIVMSG #opers :4$nick 1SALE de 7#Opers_Help"
  61. }
  62. }
  63.  
  64.  
  65. proc acepta:help {nick uhost handle text} {
  66. global mainchan helpchan
  67. if {[onchan $nick $mainchan]} {
  68. putserv "PRIVMSG $helpchan :1el usuario 4$nick 1tiene el siguiente problema: 3\[2 $text 3\]"
  69. putserv "PRIVMSG $nick :Por favor, espere unos segundos mientras le pongo en contacto con un 12OPERador 1para que trate de resolver su problema. "
  70. #putserv "SILENCE +$nick"
  71. } else {
  72. putserv "PRIVMSG $nick :Para solicitar soporte por favor ingrese a 7#Opers_Help"
  73. }
  74. }
  75.  
  76.  
  77. proc bautista:acepta {nick uhost handle chan text} {
  78. global mainchan helpchan
  79. if {![onchan $text $mainchan]} {
  80. putserv "PRIVMSG #opers :El NiCK 3 $text 1Ni solicita Ni Precisa Asistencia!, 6ACEPTACIÓN Ilógica!"
  81. return
  82. }
  83.  
  84. if {"$chan"=="$helpchan"} {
  85. putserv "PRIVMSG #opers :El 12OPERador 1$nick ha 3ACEPTADO 1la consulta del usuario 1 $text "
  86. putserv "PRIVMSG $text :Gracias por esperar, en breves momentos se pondrá en contacto con usted 1$nick para intentar solucionar su duda."
  87. putserv "PRIVMSG $text :Por favor, abandone el canal una vez haya sido atendido. Gracias."
  88. putserv "MODE #opers_help +v $text"
  89.  
  90. }
  91. }
  92.  
  93. proc bautista:deniega {nick uhost handle chan text} {
  94. global mainchan helpchan
  95. if {"$chan"=="$helpchan"} {
  96. putserv "PRIVMSG #opers :El 12OPERador 1$nick ha 4DENEGADO 1la consulta del usuario 1 $text "
  97. putserv "PRIVMSG $text :Lo sentimos, en estos momentos no se encuentra ningún 1OPERador disponible para solucionar su duda, inténtelo más tarde. Gracias."
  98. putserv "PRIVMSG $text :Disculpe las molestias."
  99. }
  100. }
  101.  
  102. proc bautista:fin {nick uhost handle chan text} {
  103. set banmask "[advs:banmask $uhost $text]"
  104. global mainchan helpchan
  105. if {"$chan"=="$helpchan"} {
  106. putserv "MODE #opers_help -v $text"
  107. putserv "PRIVMSG #opers :El 12OPERador 1$nick ha 4FINALIZADO 1la consulta del usuario 1 $text "
  108. utimer 20 [list putserv "MODE #opers_help +b $banmask"]
  109. utimer 22 [list putserv "KICK #opers_help $text :1Debe abandonar el canal,gracias."]
  110. }
  111. }
  112.  
  113. proc help {nick uhost hand chan text} {
  114. putquick "PRIVMSG #opers :3\[7Comandos de Bautista3\]"
  115. putquick "PRIVMSG #opers : "
  116. putquick "PRIVMSG #opers : 3Bautista 1Bot de Ayuda del Canal 7#Opers_Help1"
  117. putquick "PRIVMSG #opers : "
  118. putquick "PRIVMSG #opers : 1Comandos básicos del bot 3Bautista:"
  119. putquick "PRIVMSG #opers :4!Ayudar 12<Nick-Del-User12> 1- 1Atiende la consulta de un usuario del canal 7#Opers_Help1"
  120. putquick "PRIVMSG #opers :4!Denegar 12<Nick-Del-User12> 1- 1Ignora la consulta de un usuario de 7#Opers_Help1"
  121. putquick "PRIVMSG #opers :4!fin 12<Nick-Del-User12> 1- 1Finaliza la ayuda de un usuario en 7#Opers_Help1"
  122. putquick "PRIVMSG #opers : "
  123. putquick "PRIVMSG #opers :4Normas:1 NO flood a 3Bautista1, NO atender al mismo nick varios 12OPERadores1. 1NO expulsar a 3Bautista 1de ningún canal"
  124. putquick "PRIVMSG #opers :4Normas:1 Canal Confidencial, lo que pasa en 4#Opers 1NO sale bajo ningún concepto de 4#Opers1. Si no cumple estas normas, será eliminado del staff de la red ZonaLatina. Gracias"
  125. }
  126.  
  127. proc advs:banmask {uhost nick} {
  128. global advbantype
  129. switch -- $advbantype {
  130. 1 { set banmask "*!*@[lindex [split $uhost @] 1]" }
  131. 2 { set banmask "*!*@[lindex [split [maskhost $uhost] "@"] 1]" }
  132. 3 { set banmask "*!*$uhost" }
  133. 4 { set banmask "*!*[lindex [split [maskhost $uhost] "!"] 1]" }
  134. 5 { set banmask "*!*[lindex [split $uhost "@"] 0]*@[lindex [split $uhost "@"] 1]" }
  135. 6 { set banmask "*$nick*!*@[lindex [split [maskhost $uhost] "@"] 1]" }
  136. 7 { set banmask "*$nick*!*@[lindex [split $uhost "@"] 1]" }
  137. 8 { set banmask "$nick![lindex [split $uhost "@"] 0]@[lindex [split $uhost @] 1]" }
  138. 9 { set banmask "$nick![lindex [split $uhost "@"] 0]@[lindex [split [maskhost $uhost] "@"] 1]" }
  139. default { set banmask "*!*@[lindex [split $uhost @] 1]" }
  140. return $banmask
  141. }
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement