mIRC Homepage
Posted By: gemeau50 on join event - to lock channel - 26/01/08 07:33 PM
I am on Undernet. Is there a way to differentiate through an "on join event" a mass join due to the return of a split server versus a regular mass join?

TX in advance
Posted By: RoCk Re: on join event - to lock channel - 26/01/08 07:48 PM

You would be safe to set a limit (+l) or key (+k) or invite only (+i) or all of those to lock the channel because clients that are re-joining from a netsplit will bypass those modes, no modes can stop clients re-joining from a netsplit from joining. But to answer your exact question, no there really is no difference between the two, aside from what I've already pointed out.
Posted By: LostShadow Re: on join event - to lock channel - 26/01/08 08:36 PM
An on join event for a re-connecting netsplit and a user joining the channel?

No, no way to differentiate.

However, for the netsplit, though, which may be an on quit event, you would have to store the quit message, then, when the users rejoin, you would have to if the statements and while loop variable check, and then unset them all.

Which could be a lot of work.

-Neal.
Posted By: Riamus2 Re: on join event - to lock channel - 26/01/08 09:10 PM
Depending what you are trying to do, you can check the number of joins within 1 second. If the number is > something such as 5, you can assume it's a rejoin from a netsplit. Like I said, this all depends on what you're trying to do. If you just want to know for sure if it's a netsplit rejoin or not, this won't help as you can have 1 person rejoin from a netsplit. But if you just want to lock the channel if more than X people join in something like 5 seconds or something like that, you can use this idea to ignore it if all those people join in 1 second.
Posted By: LostShadow Re: on join event - to lock channel - 26/01/08 09:23 PM
Ah, since a netsplit is not affected by a +l, +k, or +i, as Rock said, then you have nothing to lose about setting those modes.

The only thing you don't do is /kick. Efnet #mIRC has that problem with Modoc's script during a netsplit. So set those +l <Number>, +k, or +i modes, and don't kick anyone, then use artificial intelligence to kick out those that were not part of the netsplit.

And if you asked me, I would say +l <Number> is the best, so you could allow *some* users to join.

-Neal.
© mIRC Discussion Forums