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.:

Code
test {
  %type = PRIVMSG
  ;%type = NOTICE
  %source = a
  %target = b
  %text = c
  parseline -itqp : $+ %source $+ !user@host.ip %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.