Posted to tcl by mjanssen at Thu Aug 09 18:58:04 GMT 2007view pretty

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"

	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
	return "$chan"
}