diff options
| author | 2023-11-15 22:17:18 +0000 | |
|---|---|---|
| committer | 2024-05-06 17:18:07 +0100 | |
| commit | 4b6af49b435d213d94221ac210293f4a2e7ef66f (patch) | |
| tree | 3d00f8f232ba5b10d17cd89a35ecdea0d7050f9a /src/modules/m_ircv3_echomessage.cpp | |
| parent | Switch --(protocol)debug to use a custom logger. (diff) | |
Allow mutating the status message type in OnUserPre(Tag)Message.
Diffstat (limited to 'src/modules/m_ircv3_echomessage.cpp')
| -rw-r--r-- | src/modules/m_ircv3_echomessage.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/modules/m_ircv3_echomessage.cpp b/src/modules/m_ircv3_echomessage.cpp index 7677c3d7d..59cb22c70 100644 --- a/src/modules/m_ircv3_echomessage.cpp +++ b/src/modules/m_ircv3_echomessage.cpp @@ -92,7 +92,8 @@ public: case MessageTarget::TYPE_CHANNEL: { Channel* chan = target.Get<Channel>(); - ClientProtocol::Messages::Privmsg privmsg(ClientProtocol::Messages::Privmsg::nocopy, user, chan, text, details.type, target.status); + const char status = details.echo_original ? target.original_status : target.status; + ClientProtocol::Messages::Privmsg privmsg(ClientProtocol::Messages::Privmsg::nocopy, user, chan, text, details.type, status); privmsg.AddTags(tags); AddEchoTag(privmsg); localuser->Send(ServerInstance->GetRFCEvents().privmsg, privmsg); @@ -132,7 +133,8 @@ public: case MessageTarget::TYPE_CHANNEL: { Channel* chan = target.Get<Channel>(); - CTCTags::TagMessage message(user, chan, tags, target.status); + const char status = details.echo_original ? target.original_status : target.status; + CTCTags::TagMessage message(user, chan, tags, status); AddEchoTag(message); localuser->Send(tagmsgprov, message); break; |
