As discussed in my recent post
, mIRC has previously only handled messages where the target is your nickname, or a channel that you are on, which are the expected source/target combinations from a server.
The latest beta should now handle ZNC-type non-standard messages with source/target combinations that are not normally sent by a server, ie. sent by you to another nickname or channel.
I tested these by using /parseline to simulate different combinations of source/target/message types, eg.:
%type = PRIVMSG
;%type = NOTICE
%source = a
%target = b
%text = c
parseline -itqp : $+ %source $+ !email@example.com %type %target : $+ %text
Since these are non-standard messages, they should presumably not be processed in the same way as messages where you are the target, ie. normal messages have features like these applied to them: stripping control codes, ignoring messages, flood protection, replying to ctcps, replying to sound requests, applying the lock option that disables incoming messages, and so on. In the latest beta, non-standard messages do not have any of these features applied to them.
In addition, in the latest beta, non-standard messages will trigger the on OPEN/TEXT/ACTION/NOTICE/SNOTICE/CTCP events, in the same way as previous versions, and will set $invalidmsg (perhaps someone can think of a better identifier name?) to $true. These events were intended to handle standard messages, so this is not ideal but seems to be the only practical option (other than, perhaps, triggering on RAW:PRIVMSG/NOTICE:* for non-standard messages).
Since my experience with ZNC is limited, any feedback from ZNC users on these changes would be appreciated.