feat(eventsub): implement (shared chat) delete (#5993)

This commit is contained in:
pajlada
2025-02-26 14:33:31 +01:00
committed by GitHub
parent 1bf87e46cd
commit b957af4f50
9 changed files with 829 additions and 13 deletions
@@ -198,6 +198,53 @@ void makeModerateMessage(
builder->timeoutUser = action.userLogin.qt();
}
void makeModerateMessage(
EventSubMessageBuilder &builder,
const lib::payload::channel_moderate::v2::Event &event,
const lib::payload::channel_moderate::v2::Delete &action)
{
builder.message().flags.set(MessageFlag::DoNotTriggerNotification);
QString text;
bool isShared = event.isFromSharedChat();
builder.appendUser(event.moderatorUserName, event.moderatorUserLogin, text);
builder.emplaceSystemTextAndUpdate("deleted message from", text);
builder.appendUser(action.userName, action.userLogin, text);
if (isShared)
{
builder.emplaceSystemTextAndUpdate("in", text);
builder.appendUser(*event.sourceBroadcasterUserName,
*event.sourceBroadcasterUserLogin, text);
}
builder.emplaceSystemTextAndUpdate("saying:", text);
if (action.messageBody.view().length() > 50)
{
builder
.emplace<TextElement>(action.messageBody.qt().left(50) + "",
MessageElementFlag::Text, MessageColor::Text)
->setLink({Link::JumpToMessage, action.messageID.qt()});
text.append(action.messageBody.qt().left(50) + "");
}
else
{
builder
.emplace<TextElement>(action.messageBody.qt(),
MessageElementFlag::Text, MessageColor::Text)
->setLink({Link::JumpToMessage, action.messageID.qt()});
text.append(action.messageBody.qt());
}
builder->messageText = text;
builder->searchText = text;
builder->timeoutUser = action.userLogin.qt();
}
void makeModerateMessage(
EventSubMessageBuilder &builder,
const lib::payload::channel_moderate::v2::Event &event,
@@ -63,6 +63,12 @@ void makeModerateMessage(
const lib::payload::channel_moderate::v2::Event &event,
const lib::payload::channel_moderate::v2::Unban &action);
/// <MODERATOR> deleted message from <USER>[ in <CHANNEL>] saying: <MESSAGE>
void makeModerateMessage(
EventSubMessageBuilder &builder,
const lib::payload::channel_moderate::v2::Event &event,
const lib::payload::channel_moderate::v2::Delete &action);
// mode changes
void makeModerateMessage(