A note: it is necessary to unrequest the CAP near the initial negotiation in order for ZNC not to serve the messages, but mIRC still thinks the echo-message is negotiated (messages show as unsent in the UI). So it is also necessary to unrequest during the CONNECT event, then mIRC no longer shows messages as unsent.

Code
<- :znc.znc.in CAP unknown-nick LS :batch cap-notify echo-message multi-prefix server-time userhost-in-names znc.in/batch znc.in/self-message znc.in/server-time-iso
-> znc.znc.in CAP REQ :batch echo-message multi-prefix server-time userhost-in-names
-> znc.znc.in CAP REQ :-echo-message
<- @time=2022-07-05T18:17:52.856Z :znc.znc.in CAP Membear ACK :batch echo-message multi-prefix server-time userhost-in-names
-> znc.znc.in CAP LIST
-> znc.znc.in CAP END
<- @time=2022-07-05T18:17:52.856Z :znc.znc.in CAP Membear ACK :-echo-message
<- @time=2022-07-05T18:17:52.965Z :znc.znc.in CAP Membear LIST :batch multi-prefix server-time userhost-in-names
<- @time=2022-07-05T18:17:52.966Z :znc.znc.in CAP Membear NEW :account-notify account-tag away-notify extended-join
-> mercury.libera.chat CAP REQ :-echo-message
<- @time=2022-07-05T18:17:54.840Z :znc.znc.in CAP Membear ACK :-echo-message


Code
on *:connect:{ .raw CAP REQ :-echo-message }
raw CAP:*LS*znc.in/self-message*:{ .raw CAP REQ :-echo-message }

Last edited by Loki12583; 05/07/22 10:21 PM.