Posted to tcl by mjanssen at Thu Aug 09 19:06:09 GMT 2007view raw
- proc pub:join {hand chan args x mix} {
- global settings
- if { [validchan $chan]} {a:tell $x 174 $chan ; return "FAILED: invalid chan specified ($chan)" }
- if { [llength [channels]] >= $settings(max_chans) } {a:tell $x 80; return "FAILED: channels limit reached" }
- if {![llength [lindex $args 0]]} {a:tell $x 305; return "USAGE: !join <$channel> <$manager>"}
- ::stats::channel -add $chan {}
- ::stats::channel -set $chan jointime [unixtime]
- ::stats::channel -set $chan joinwhom $hand
- a:announce -home 173 "$hand [lindex $x 0] [lindex $mix 0] $chan"
- # wait with check until we have joined
- utimer 10 [list on_chan $hand $chan $args $x $mix]
- return "$chan"
- }
- proc on_chan {hand chan args x mix} {
- if {![onchan [lindex $args 0] $chan]} {
- putserv "PRIVMSG $chan :someone"
- return
- }
- pub:chattr $hand $chan "[lindex $args 0] +Nnf" $x $mix
- a:announce -home 1735 "[lindex $args 0] $chan"
- channel add $chan +secure
- pub:save
- }