You're confused, if you have 'on *:text:*something*:#chan1,#chan2:{'
The event will trigger twice, once with $chan = #chan1, once again with $chan = #chan2, you don't have to do anything special but: var %msg msg $chan | %msg this is the message
I did do
on *:JOIN:#: {
set %msg $chan /me ||
}
Problem with that is, every time I then use the %msg it's to a specific channel. As it sets it on the first channel it joins it'll then forever be msg #lindenkron /me ||. So if the bot is called upon to send a message, it calls %msg which doesn't use $chan, but instead will use the #lindenkron which the variable saved (To every channel, not just #lindenkron).
I don't think I'm confused here mate - not sure if you understand me though

.