From 3b3791e43af7dcd81ddd4c8f80d4b3cffe4ca92e Mon Sep 17 00:00:00 2001 From: fourtf Date: Wed, 21 Aug 2019 02:00:42 +0200 Subject: [PATCH] Special message when login expired. --- src/messages/MessageElement.cpp | 2 ++ src/providers/twitch/IrcMessageHandler.cpp | 17 +++++++++++++---- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/messages/MessageElement.cpp b/src/messages/MessageElement.cpp index 907bcc54..31bfe816 100644 --- a/src/messages/MessageElement.cpp +++ b/src/messages/MessageElement.cpp @@ -197,6 +197,8 @@ TextElement::TextElement(const QString &text, MessageElementFlags flags, , color_(color) , style_(style) { + assert(text != "authentication"); + for (const auto &word : text.split(' ')) { this->words_.push_back({word, -1}); diff --git a/src/providers/twitch/IrcMessageHandler.cpp b/src/providers/twitch/IrcMessageHandler.cpp index e8cb71f1..eab95b65 100644 --- a/src/providers/twitch/IrcMessageHandler.cpp +++ b/src/providers/twitch/IrcMessageHandler.cpp @@ -516,12 +516,21 @@ void IrcMessageHandler::handleModeMessage(Communi::IrcMessage *message) std::vector IrcMessageHandler::parseNoticeMessage( Communi::IrcNoticeMessage *message) { - std::vector builtMessages; + if (message->content().startsWith("Login auth", Qt::CaseInsensitive)) + { + return {MessageBuilder(systemMessage, + "Login expired! Try logging in again.") + .release()}; + } + else + { + std::vector builtMessages; - builtMessages.emplace_back(makeSystemMessage(message->content())); + builtMessages.emplace_back(makeSystemMessage(message->content())); - return builtMessages; -} + return builtMessages; + } +} // namespace chatterino void IrcMessageHandler::handleNoticeMessage(Communi::IrcNoticeMessage *message) {