diff --git a/CHANGELOG.md b/CHANGELOG.md index 66e184bd..a6d54bab 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - Bugfix: Fixed 7TV usernames messing with Qt's HTML (#5780) - Bugfix: Fixed BTTV emotes occasionally showing the wrong author. (#5783) - Bugfix: Fixed some Twitch emotes containing HTML entities. (#5786) +- Bugfix: Fixed the same blocked term showing up more than once. (#5789) - Dev: Hard-code Boost 1.86.0 in macos CI builders. (#5774) ## 2.5.2-beta.1 diff --git a/src/providers/twitch/TwitchIrcServer.cpp b/src/providers/twitch/TwitchIrcServer.cpp index 8f0d3d5e..69d53a78 100644 --- a/src/providers/twitch/TwitchIrcServer.cpp +++ b/src/providers/twitch/TwitchIrcServer.cpp @@ -495,12 +495,12 @@ void TwitchIrcServer::initialize() PubSubAutoModQueueMessage::Reason::BlockedTerm) { auto numBlockedTermsMatched = - msg.blockedTermsFound.count(); + msg.blockedTermsFound.size(); auto hideBlockedTerms = getSettings() ->streamerModeHideBlockedTermText && getApp()->getStreamerMode()->isEnabled(); - if (!msg.blockedTermsFound.isEmpty()) + if (!msg.blockedTermsFound.empty()) { if (hideBlockedTerms) { @@ -513,14 +513,16 @@ void TwitchIrcServer::initialize() } else { + QStringList blockedTerms( + msg.blockedTermsFound.begin(), + msg.blockedTermsFound.end()); action.reason = u"matches %1 blocked term%2 \"%3\""_s .arg(numBlockedTermsMatched) .arg(numBlockedTermsMatched > 1 ? u"s" : u"") - .arg(msg.blockedTermsFound.join( - u"\", \"")); + .arg(blockedTerms.join(u"\", \"")); } } else diff --git a/src/providers/twitch/pubsubmessages/AutoMod.cpp b/src/providers/twitch/pubsubmessages/AutoMod.cpp index 21c0be51..236b84a7 100644 --- a/src/providers/twitch/pubsubmessages/AutoMod.cpp +++ b/src/providers/twitch/pubsubmessages/AutoMod.cpp @@ -60,7 +60,7 @@ PubSubAutoModQueueMessage::PubSubAutoModQueueMessage(const QJsonObject &root) const auto termText = term.value("text").toString(); if (!termText.isEmpty()) { - this->blockedTermsFound.push_back(termText); + this->blockedTermsFound.insert(termText); } } } diff --git a/src/providers/twitch/pubsubmessages/AutoMod.hpp b/src/providers/twitch/pubsubmessages/AutoMod.hpp index a6147e7b..4312d523 100644 --- a/src/providers/twitch/pubsubmessages/AutoMod.hpp +++ b/src/providers/twitch/pubsubmessages/AutoMod.hpp @@ -6,6 +6,8 @@ #include #include +#include + namespace chatterino { struct PubSubAutoModQueueMessage { @@ -41,7 +43,7 @@ struct PubSubAutoModQueueMessage { QString senderUserDisplayName; QColor senderUserChatColor; - QStringList blockedTermsFound; + std::set blockedTermsFound; PubSubAutoModQueueMessage() = default; explicit PubSubAutoModQueueMessage(const QJsonObject &root);