aboutsummaryrefslogtreecommitdiff
path: root/src/modules/m_ircv3_echomessage.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/m_ircv3_echomessage.cpp')
-rw-r--r--src/modules/m_ircv3_echomessage.cpp6
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;