Advertisement
outsider

Greet2

Oct 18th, 2018
728
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
TCL 1.44 KB | None | 0 0
  1. # a 'simple' greet enhancement
  2. # expand whois-fields with 'lastgreet' if you want to take advantage of the userfile and make it more resilient
  3. # activate: .chanset <channel> -greet +greet2
  4.  
  5. setudef flag greet2
  6. setudef int greet2_expire
  7.  
  8. bind join - * greet2:join
  9. proc greet2:join {nick host hand chan} {
  10.     global whois-fields greet2
  11.    
  12.     # does user meet basic requirement
  13.     if {![validuser $hand] || [getuser $hand INFO] eq ""} { return 0 }
  14.    
  15.     # does the channel meet basic requirement
  16.     if {![validchan $chan] || [channel get $chan greet] || ![channel get $chan greet2] || [channel get $chan greet2_expire] eq 0} { return 0 }
  17.    
  18.     # do we have a whois field called lastgreet?
  19.     if {[lsearch -exact "lastgreet" [string tolower ${whois-fields}]} {
  20.         set lastgreet [getuser $hand XTRA lastgreet]
  21.         setuser $hand XTRA lastgreet [unixtime]
  22.     } else {
  23.         if {[info exists greet2($chan,$host)]} {
  24.             set lastgreet $greet2($chan,$host)
  25.         } else {
  26.             set lastgreet [expr [unixtime] - ([channel get $chan greet2_expire] * 61)]
  27.         }
  28.         set greet2($chan,$host) [unixtime]
  29.        
  30.         #uncomment following line if you want to cleanup memory at the cost of timers running
  31.         #timer [channel get $chan greet2_expire] "unset -nocomplain greet2($chan,$host)"
  32.     }
  33.    
  34.     # bail out if the time has not expired yet
  35.     if {[expr ([unixtime] - $lastgreet) / 60 ] < [channel get $chan greet2_expire]} { return 0 }
  36.    
  37.     putserv [format "PRIVMSG %s :%s" $chan [getuser $hand INFO]]
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement