diff --git a/src/common/Channel.cpp b/src/common/Channel.cpp index 92a9dd330..8d247cf2f 100644 --- a/src/common/Channel.cpp +++ b/src/common/Channel.cpp @@ -77,7 +77,8 @@ void Channel::addMessage(MessagePtr message, } // FOURTF: change this when adding more providers - if (this->isTwitchChannel()) + if (this->isTwitchChannel() && + (!overridingFlags || !overridingFlags->has(MessageFlag::DoNotLog))) { app->logging->addMessage(this->name_, message); } diff --git a/src/controllers/commands/CommandController.cpp b/src/controllers/commands/CommandController.cpp index e244a54b2..8d98a999a 100644 --- a/src/controllers/commands/CommandController.cpp +++ b/src/controllers/commands/CommandController.cpp @@ -206,11 +206,14 @@ QString CommandController::execCommand(const QString &textNoEmoji, app->twitch.server->sendMessage("jtv", text); + auto overrideFlags = boost::optional(messagexD->flags); + overrideFlags->set(MessageFlag::DoNotLog); + if (getSettings()->inlineWhispers) { app->twitch.server->forEachChannel( - [&messagexD](ChannelPtr _channel) { - _channel->addMessage(messagexD); + [&messagexD, overrideFlags](ChannelPtr _channel) { + _channel->addMessage(messagexD, overrideFlags); }); } diff --git a/src/messages/Message.hpp b/src/messages/Message.hpp index f4f4efa77..c8efc73d6 100644 --- a/src/messages/Message.hpp +++ b/src/messages/Message.hpp @@ -27,7 +27,7 @@ enum class MessageFlag : uint16_t { Untimeout = (1 << 10), PubSub = (1 << 11), Subscription = (1 << 12), - Notification = (1 << 13), + DoNotLog = (1 << 13), AutoMod = (1 << 14), RecentMessage = (1 << 15), }; diff --git a/src/providers/twitch/IrcMessageHandler.cpp b/src/providers/twitch/IrcMessageHandler.cpp index a23ffa70d..27df7cb8c 100644 --- a/src/providers/twitch/IrcMessageHandler.cpp +++ b/src/providers/twitch/IrcMessageHandler.cpp @@ -261,12 +261,13 @@ void IrcMessageHandler::handleWhisperMessage(Communi::IrcMessage *message) auto overrideFlags = boost::optional(_message->flags); overrideFlags->set(MessageFlag::DoNotTriggerNotification); + overrideFlags->set(MessageFlag::DoNotLog); if (getSettings()->inlineWhispers) { app->twitch.server->forEachChannel( - [_message, overrideFlags](ChannelPtr channel) { - channel->addMessage(_message, overrideFlags); // + [&_message, overrideFlags](ChannelPtr channel) { + channel->addMessage(_message, overrideFlags); }); } }