Yes, the message is being broadcasted to all channels the bot is in.
Yes, thats what the script is supposed to do! To msg all the channels the bot is on (the script is working perfectly!). So how come you are saying the script doesn't seem to work?
*confused*
$basechan would be set to a channel where the you can trigger the script no where else.
Well actually to trigger it on a specific channel, $basechan should be set in the bind pub, pubm which ever you are using it shouldn't be set where it currently is.
if {(![string equal -nocase $c $basechan])} {
#This line means if current channel in channel list loop is *not*
#matching $basechan then it should activate the utimer.
#Hence this will activate for all channels except $basechan itself.
I have no idea why the $i is there, but i read somewhere on the forums that 'incr' is used to loop timers.
You already have looped all the channels where the bot is on so then you don't need a variable to count the number of channels. The variable [channels] is a list itself and will loop each element (channel) in the list.