I have been coding a script to deal with recent spam on DALnet, including banning users that part a channel where the part message matches one of a preconfigured number of text patterns. The problem is that it sometimes worked and sometimes didn't.
In order to try to identify the problem I used another bot to create a catch-all part bind and echo the arguments passed to the bind proc to an IRC channel. It confirmed that the exact same part message is sometimes returned and sometimes not, as follows :-
----- 1st event -----
IRC client join/part
[23:47] * jinglun has joined #Atlantis
[23:47] * jinglun has left #Atlantis (WWW.TheBestScript.TK .)
part bind proc arguments
[23:47] <@Baal> *-PART-* nick (jinglun), user@host (chrissy@94.159.3.2), handle (*), channel (#Atlantis), message ()
----- 2nd event -----
IRC client join/part
[00:00] * rowatt has joined #Atlantis
[00:00] * rowatt has left #Atlantis (WWW.TheBestScript.TK .)
part bind proc arguments
[00:00] <@Baal> *-PART-* nick (rowatt), user@host (milicent@123.237.8.238), handle (*), channel (#Atlantis), message (WWW.TheBestScript.TK .)
------------------------
So, on both occasions the part message is identical yet it is only sent to the part bind proc on one of the two occasions. Anybody know why?
Is it anything to do with being on the same IRC server as the spammer?