diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e54586eb..6f8dc5336 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unversioned +- Bugfix: Fixed rendering of moderator announcements. (#3639) + ## 2.3.5 - Major: Added highlights for first messages (#3267) diff --git a/src/providers/twitch/IrcMessageHandler.cpp b/src/providers/twitch/IrcMessageHandler.cpp index e22f800f2..59c3bfde5 100644 --- a/src/providers/twitch/IrcMessageHandler.cpp +++ b/src/providers/twitch/IrcMessageHandler.cpp @@ -31,6 +31,7 @@ static const QSet specialMessageTypes{ "resub", // resub messages "bitsbadgetier", // bits badge upgrade "ritual", // new viewer ritual + "announcement", // new mod announcement thing }; MessagePtr generateBannedMessage(bool confirmedBan) @@ -649,6 +650,10 @@ std::vector IrcMessageHandler::parseUserNoticeMessage( kFormatNumbers( tags.value("msg-param-threshold").toInt())); } + else if (msgType == "announcement") + { + messageText = "Announcement"; + } auto b = MessageBuilder(systemMessage, parseTagString(messageText), calculateMessageTimestamp(message)); @@ -699,6 +704,10 @@ void IrcMessageHandler::handleUserNoticeMessage(Communi::IrcMessage *message, kFormatNumbers( tags.value("msg-param-threshold").toInt())); } + else if (msgType == "announcement") + { + messageText = "Announcement"; + } auto b = MessageBuilder(systemMessage, parseTagString(messageText), calculateMessageTimestamp(message)); diff --git a/src/widgets/Window.cpp b/src/widgets/Window.cpp index b864709bf..78442a9f6 100644 --- a/src/widgets/Window.cpp +++ b/src/widgets/Window.cpp @@ -229,6 +229,9 @@ void Window::addDebugStuff(HotkeyController::HotkeyMap &actions) // Message with founder badge miscMessages.emplace_back(R"(@badge-info=founder/72;badges=founder/0,bits/5000;color=#FF0000;display-name=TranRed;emotes=;first-msg=0;flags=;id=7482163f-493d-41d9-b36f-fba50e0701b7;mod=0;room-id=11148817;subscriber=0;tmi-sent-ts=1641123773885;turbo=0;user-id=57019243;user-type= :tranred!tranred@tranred.tmi.twitch.tv PRIVMSG #pajlada :GFMP pajaE)"); + // mod announcement + miscMessages.emplace_back(R"(@badge-info=subscriber/47;badges=broadcaster/1,subscriber/3012,twitchconAmsterdam2020/1;color=#FF0000;display-name=Supinic;emotes=;flags=;id=8c26e1ab-b50c-4d9d-bc11-3fd57a941d90;login=supinic;mod=0;msg-id=announcement;msg-param-color=PRIMARY;room-id=31400525;subscriber=1;system-msg=;tmi-sent-ts=1648762219962;user-id=31400525;user-type= :tmi.twitch.tv USERNOTICE #supinic :mm test lol)"); + // various link tests linkMessages.emplace_back(R"(@badge-info=subscriber/48;badges=broadcaster/1,subscriber/36,partner/1;color=#CC44FF;display-name=pajlada;emotes=;flags=;id=3c23cf3c-0864-4699-a76b-089350141147;mod=0;room-id=11148817;subscriber=1;tmi-sent-ts=1577628844607;turbo=0;user-id=11148817;user-type= :pajlada!pajlada@pajlada.tmi.twitch.tv PRIVMSG #pajlada : Links that should pass: )" + getValidLinks().join(' ')); linkMessages.emplace_back(R"(@badge-info=subscriber/48;badges=broadcaster/1,subscriber/36,partner/1;color=#CC44FF;display-name=pajlada;emotes=;flags=;id=3c23cf3c-0864-4699-a76b-089350141147;mod=0;room-id=11148817;subscriber=1;tmi-sent-ts=1577628844607;turbo=0;user-id=11148817;user-type= :pajlada!pajlada@pajlada.tmi.twitch.tv PRIVMSG #pajlada : Links that should NOT pass: )" + getInvalidLinks().join(' '));