OK, my other problem was solved in a nifty way so I'll just ask about this one as well. We're starting to getting problems with playstation/xbox-spamming (which I guess pays off in a console-oriented channel). We have three channels, one for each console, and I'd like to kick people who says the same thing in all three pretty much at the same time. This is what I'm doing now.
on *:TEXT:*playstation*:#PS2_3:{
write ch_ps.txt $ctime $nick $1-
}
on *TEXT:*playstation*:#XBOX_XBOX360:{
var %words = $1-
var %ps = 1, %psmax = $lines($mircdirSpamlist\ch_ps.txt)
while (%ps <= %psmax) {
if ($gettok($read($mircdirSpamlist\ch_ps.txt,%ps),3-,32)) == %words) {
if ($calc($ctime - $gettok($read($mircdirSpamlist\ch_ps.txt,%ps),1,32))) <= 60 {
if ($nick == $gettok($read($mircdirSpamlist\ch_ps.txt,%ps),2,32)) {
ban $nick
kick $nick You have been kicked for spamming in multiple channels!
}
}
}
inc %ps
}
}
Is it possible to instead compare the two channels directly?
I looked at /filter, but that doesn't seem to do what I'm after. And my code is probably far from the best way of doing this, even though it works most of the time.
Cheers!