Handle bits badge tier notification messages (#2611)
This commit is contained in:
@@ -14,6 +14,7 @@
|
||||
#include "singletons/Settings.hpp"
|
||||
#include "singletons/WindowManager.hpp"
|
||||
#include "util/FormatTime.hpp"
|
||||
#include "util/Helpers.hpp"
|
||||
#include "util/IrcHelpers.hpp"
|
||||
|
||||
#include <IrcMessage>
|
||||
@@ -579,10 +580,11 @@ std::vector<MessagePtr> IrcMessageHandler::parseUserNoticeMessage(
|
||||
content = parameters[1];
|
||||
}
|
||||
|
||||
if (msgType == "sub" || msgType == "resub" || msgType == "subgift")
|
||||
if (msgType == "sub" || msgType == "resub" || msgType == "subgift" ||
|
||||
msgType == "bitsbadgetier")
|
||||
{
|
||||
// Sub-specific message. I think it's only allowed for "resub" messages
|
||||
// atm
|
||||
// Sub-specific and bits badge upgrade specific message.
|
||||
// It's only allowed for "resub" messages.
|
||||
if (!content.isEmpty())
|
||||
{
|
||||
MessageParseArgs args;
|
||||
@@ -600,9 +602,18 @@ std::vector<MessagePtr> IrcMessageHandler::parseUserNoticeMessage(
|
||||
|
||||
if (it != tags.end())
|
||||
{
|
||||
auto b =
|
||||
MessageBuilder(systemMessage, parseTagString(it.value().toString()),
|
||||
calculateMessageTimestamp(message));
|
||||
QString messageText = it.value().toString();
|
||||
|
||||
if (msgType == "bitsbadgetier")
|
||||
{
|
||||
messageText = QString("%1 just earned a new %2 Bits badge!")
|
||||
.arg(tags.value("display-name").toString())
|
||||
.arg(kFormatNumbers(
|
||||
tags.value("msg-param-threshold").toInt()));
|
||||
}
|
||||
|
||||
auto b = MessageBuilder(systemMessage, parseTagString(messageText),
|
||||
calculateMessageTimestamp(message));
|
||||
|
||||
b->flags.set(MessageFlag::Subscription);
|
||||
auto newMessage = b.release();
|
||||
@@ -628,10 +639,11 @@ void IrcMessageHandler::handleUserNoticeMessage(Communi::IrcMessage *message,
|
||||
content = parameters[1];
|
||||
}
|
||||
|
||||
if (msgType == "sub" || msgType == "resub" || msgType == "subgift")
|
||||
if (msgType == "sub" || msgType == "resub" || msgType == "subgift" ||
|
||||
msgType == "bitsbadgetier")
|
||||
{
|
||||
// Sub-specific message. I think it's only allowed for "resub" messages
|
||||
// atm
|
||||
// Sub-specific and bits badge upgrade specific message.
|
||||
// It's only allowed for "resub" messages.
|
||||
if (!content.isEmpty())
|
||||
{
|
||||
this->addMessage(message, target, content, server, true, false);
|
||||
@@ -642,9 +654,18 @@ void IrcMessageHandler::handleUserNoticeMessage(Communi::IrcMessage *message,
|
||||
|
||||
if (it != tags.end())
|
||||
{
|
||||
auto b =
|
||||
MessageBuilder(systemMessage, parseTagString(it.value().toString()),
|
||||
calculateMessageTimestamp(message));
|
||||
QString messageText = it.value().toString();
|
||||
|
||||
if (msgType == "bitsbadgetier")
|
||||
{
|
||||
messageText = QString("%1 just earned a new %2 Bits badge!")
|
||||
.arg(tags.value("display-name").toString())
|
||||
.arg(kFormatNumbers(
|
||||
tags.value("msg-param-threshold").toInt()));
|
||||
}
|
||||
|
||||
auto b = MessageBuilder(systemMessage, parseTagString(messageText),
|
||||
calculateMessageTimestamp(message));
|
||||
|
||||
b->flags.set(MessageFlag::Subscription);
|
||||
auto newMessage = b.release();
|
||||
|
||||
Reference in New Issue
Block a user