Advertisement
Guest User

Untitled

a guest
Aug 8th, 2018
162
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TCL 1.51 KB | None | 0 0
  1. #!/usr/local/bin/tclsh
  2.  
  3. package require irc
  4.  
  5. cd [file dirname $argv0]
  6.  
  7. load ./libmh_tcl.so
  8.  
  9. ::irc::config logger 1
  10. ::irc::config debug 1
  11.  
  12. set server "irc.gnaa.us"
  13. set nick "inc0g"
  14. set chan "#gnaa"
  15.  
  16. set last_chan_msg ""
  17.  
  18. set c [::irc::connection]
  19.  
  20. # End of motd
  21. $c registerevent 376 {
  22.  
  23.     mh_init
  24.     cmd-join $::chan
  25.     mh_spontaneous_reply
  26. }
  27.  
  28. proc mh_spontaneous_reply {} {
  29.  
  30.     $::c privmsg $::chan [mh_doreply $::last_chan_msg]
  31.  
  32.     after [expr {int (rand () * 200000) + 60000}] \
  33.         mh_spontaneous_reply
  34. }
  35.  
  36. # Privmsg
  37. $c registerevent PRIVMSG {
  38.  
  39.     if {[string equal [target] $::nick]} {
  40.  
  41.         set msg_split [split [msg] " "]
  42.         set cmd [lindex $msg_split 0]
  43.  
  44.         if {[string equal $cmd exit]} {
  45.  
  46.             mh_cleanup
  47.             cmd-quit
  48.             set ::forever 1
  49.  
  50.         } else {
  51.  
  52.             after [expr {int (rand () * 5000) + 1000}] \
  53.                 [list \
  54.                     $::c \
  55.                     privmsg \
  56.                     [who] \
  57.                     [mh_doreply [msg]]
  58.                 ]
  59.         }
  60.  
  61.     } elseif {[string equal [target] $::chan]} {
  62.    
  63.         set msg_split [split [msg] " "]
  64.         set cmd [lindex $msg_split 0]
  65.  
  66.         if {[string equal $cmd .exit]} {
  67.  
  68.             mh_cleanup
  69.             cmd-quit
  70.             set ::forever 1
  71.  
  72.         } elseif {[regexp -nocase -- $::nick [msg] m]} {
  73.  
  74.             after [expr {int (rand () * 10000) + 1000}] \
  75.                 [list \
  76.                     $::c \
  77.                     privmsg \
  78.                     $::chan \
  79.                     "[who]: [mh_doreply [regsub -all -nocase -- $::nick [msg] {}]]" \
  80.                 ]
  81.  
  82.         } else {
  83.  
  84.             set ::last_chan_msg [msg]
  85.             mh_doreply [msg]
  86.         }
  87.     }
  88. }
  89.  
  90.  
  91. # Connect
  92. $c connect $server
  93. $c user $nick h d e
  94. $c nick $nick
  95.  
  96. vwait forever
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement