added basic keyword ignore setting
This commit is contained in:
@@ -230,7 +230,6 @@ void TwitchChannel::fetchRecentMessages()
|
||||
auto msgArray = obj.value("messages").toArray();
|
||||
if (msgArray.size() > 0) {
|
||||
std::vector<messages::MessagePtr> messages;
|
||||
messages.resize(msgArray.size());
|
||||
|
||||
for (int i = 0; i < msgArray.size(); i++) {
|
||||
QByteArray content = msgArray[i].toString().toUtf8();
|
||||
@@ -239,7 +238,9 @@ void TwitchChannel::fetchRecentMessages()
|
||||
|
||||
messages::MessageParseArgs args;
|
||||
twitch::TwitchMessageBuilder builder(channel, privMsg, args);
|
||||
messages.at(i) = builder.parse();
|
||||
if (!builder.isIgnored()) {
|
||||
messages.push_back(builder.parse());
|
||||
}
|
||||
}
|
||||
channel->addMessagesAtStart(messages);
|
||||
}
|
||||
|
||||
@@ -27,6 +27,21 @@ TwitchMessageBuilder::TwitchMessageBuilder(Channel *_channel,
|
||||
, tags(this->ircMessage->tags())
|
||||
, usernameColor(singletons::ThemeManager::getInstance().messages.textColors.system)
|
||||
{
|
||||
this->originalMessage = this->ircMessage->content();
|
||||
}
|
||||
|
||||
bool TwitchMessageBuilder::isIgnored() const
|
||||
{
|
||||
singletons::SettingManager &settings = singletons::SettingManager::getInstance();
|
||||
std::shared_ptr<std::vector<QString>> ignoredKeywords = settings.getIgnoredKeywords();
|
||||
|
||||
for (const QString &keyword : *ignoredKeywords) {
|
||||
if (this->originalMessage.contains(keyword, Qt::CaseInsensitive)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
MessagePtr TwitchMessageBuilder::parse()
|
||||
@@ -34,8 +49,6 @@ MessagePtr TwitchMessageBuilder::parse()
|
||||
singletons::SettingManager &settings = singletons::SettingManager::getInstance();
|
||||
singletons::EmoteManager &emoteManager = singletons::EmoteManager::getInstance();
|
||||
|
||||
this->originalMessage = this->ircMessage->content();
|
||||
|
||||
// PARSING
|
||||
this->parseUsername();
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ public:
|
||||
QString messageID;
|
||||
QString userName;
|
||||
|
||||
bool isIgnored() const;
|
||||
messages::MessagePtr parse();
|
||||
|
||||
private:
|
||||
|
||||
Reference in New Issue
Block a user