fix(eventsub): stack bans (#6092)
This commit is contained in:
@@ -251,40 +251,6 @@ void makeModerateMessage(EventSubMessageBuilder &builder,
|
||||
builder.setMessageAndSearchText(text);
|
||||
}
|
||||
|
||||
void makeModerateMessage(EventSubMessageBuilder &builder,
|
||||
const lib::payload::channel_moderate::v2::Event &event,
|
||||
const lib::payload::channel_moderate::v2::Ban &action)
|
||||
{
|
||||
builder->flags.set(MessageFlag::ModerationAction, MessageFlag::Timeout);
|
||||
|
||||
QString text;
|
||||
bool isShared = event.isFromSharedChat();
|
||||
|
||||
builder.appendUser(event.moderatorUserName, event.moderatorUserLogin, text);
|
||||
builder.emplaceSystemTextAndUpdate("banned", text);
|
||||
builder.appendUser(action.userName, action.userLogin, text, isShared);
|
||||
|
||||
if (isShared)
|
||||
{
|
||||
builder.emplaceSystemTextAndUpdate("in", text);
|
||||
builder.appendUser(*event.sourceBroadcasterUserName,
|
||||
*event.sourceBroadcasterUserLogin, text, false);
|
||||
}
|
||||
|
||||
if (action.reason.view().empty())
|
||||
{
|
||||
builder.emplaceSystemTextAndUpdate(".", text);
|
||||
}
|
||||
else
|
||||
{
|
||||
builder.emplaceSystemTextAndUpdate(":", text);
|
||||
builder.emplaceSystemTextAndUpdate(action.reason.qt(), text);
|
||||
}
|
||||
|
||||
builder.setMessageAndSearchText(text);
|
||||
builder->timeoutUser = action.userLogin.qt();
|
||||
}
|
||||
|
||||
void makeModerateMessage(
|
||||
EventSubMessageBuilder &builder,
|
||||
const lib::payload::channel_moderate::v2::Event &event,
|
||||
|
||||
@@ -61,11 +61,6 @@ void makeModerateMessage(
|
||||
const lib::payload::channel_moderate::v2::Event &event,
|
||||
const lib::payload::channel_moderate::v2::Warn &action);
|
||||
|
||||
/// <MODERATOR> banned <USER>[ in <CHANNEL>]: <REASON>
|
||||
void makeModerateMessage(EventSubMessageBuilder &builder,
|
||||
const lib::payload::channel_moderate::v2::Event &event,
|
||||
const lib::payload::channel_moderate::v2::Ban &action);
|
||||
|
||||
/// <MODERATOR> unbanned <USER>[ in <CHANNEL>].
|
||||
void makeModerateMessage(
|
||||
EventSubMessageBuilder &builder,
|
||||
|
||||
@@ -92,8 +92,53 @@ void handleModerateMessage(
|
||||
builder.emplaceSystemTextAndUpdate(action.reason.qt(), text);
|
||||
}
|
||||
|
||||
builder->messageText = text;
|
||||
builder->searchText = text;
|
||||
builder.setMessageAndSearchText(text);
|
||||
builder->timeoutUser = action.userLogin.qt();
|
||||
|
||||
auto msg = builder.release();
|
||||
runInGuiThread([chan, msg, time] {
|
||||
chan->addOrReplaceTimeout(msg, time);
|
||||
});
|
||||
}
|
||||
|
||||
void handleModerateMessage(
|
||||
TwitchChannel *chan, const QDateTime &time,
|
||||
const lib::payload::channel_moderate::v2::Event &event,
|
||||
const lib::payload::channel_moderate::v2::Ban &action)
|
||||
{
|
||||
EventSubMessageBuilder builder(chan, time);
|
||||
builder->loginName = event.moderatorUserLogin.qt();
|
||||
// pretend we're pubsub
|
||||
builder->flags.set(MessageFlag::PubSub, MessageFlag::Timeout,
|
||||
MessageFlag::ModerationAction);
|
||||
|
||||
QString text;
|
||||
bool isShared = event.isFromSharedChat();
|
||||
|
||||
builder.appendUser(event.moderatorUserName, event.moderatorUserLogin, text);
|
||||
builder.emplaceSystemTextAndUpdate("banned", text);
|
||||
builder.appendUser(action.userName, action.userLogin, text, isShared);
|
||||
|
||||
if (isShared)
|
||||
{
|
||||
builder.emplaceSystemTextAndUpdate("in", text);
|
||||
builder.appendUser(*event.sourceBroadcasterUserName,
|
||||
*event.sourceBroadcasterUserLogin, text, false);
|
||||
builder->flags.set(MessageFlag::SharedMessage);
|
||||
builder->channelName = event.sourceBroadcasterUserLogin->qt();
|
||||
}
|
||||
|
||||
if (action.reason.view().empty())
|
||||
{
|
||||
builder.emplaceSystemTextAndUpdate(".", text);
|
||||
}
|
||||
else
|
||||
{
|
||||
builder.emplaceSystemTextAndUpdate(":", text);
|
||||
builder.emplaceSystemTextAndUpdate(action.reason.qt(), text);
|
||||
}
|
||||
|
||||
builder.setMessageAndSearchText(text);
|
||||
builder->timeoutUser = action.userLogin.qt();
|
||||
|
||||
auto msg = builder.release();
|
||||
|
||||
@@ -22,9 +22,16 @@ void handleModerateMessage(
|
||||
const lib::payload::channel_moderate::v2::Event &event,
|
||||
const lib::payload::channel_moderate::v2::Clear &action);
|
||||
|
||||
/// <MODERATOR> timed out <USER> for <DURATION>[ in <CHANNEL>]: <REASON>
|
||||
void handleModerateMessage(
|
||||
TwitchChannel *chan, const QDateTime &time,
|
||||
const lib::payload::channel_moderate::v2::Event &event,
|
||||
const lib::payload::channel_moderate::v2::Timeout &action);
|
||||
|
||||
/// <MODERATOR> banned <USER>[ in <CHANNEL>]: <REASON>
|
||||
void handleModerateMessage(
|
||||
TwitchChannel *chan, const QDateTime &time,
|
||||
const lib::payload::channel_moderate::v2::Event &event,
|
||||
const lib::payload::channel_moderate::v2::Ban &action);
|
||||
|
||||
} // namespace chatterino::eventsub
|
||||
|
||||
Reference in New Issue
Block a user