go-twitch/eventsub/events/automod.go

150 lines
4.7 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package events
import "time"
type AutomodMessage struct {
// The contents of the message caught by automod.
Text string `json:"text"`
// Metadata surrounding the potential inappropriate fragments of the message.
Fragments []struct {
// Message text in a fragment.
Text string `json:"text"`
// Optional. Metadata pertaining to the emote.
Emote struct {
// An ID that uniquely identifies this emote.
ID string `json:"id"`
// An ID that identifies the emote set that the emote belongs to.
EmoteSetID string `json:"emote_set_id"`
} `json:"emote"`
// Optional. Metadata pertaining to the cheermote.
Cheermote struct {
// The name portion of the Cheermote string that you use in chat to cheer Bits. The full Cheermote string is the concatenation of {prefix} + {number of Bits}.
Prefix string `json:"prefix"`
// The amount of bits cheered.
Bits int `json:"bits"`
// The tier level of the cheermote.
Tier int `json:"tier"`
} `json:"cheermote"`
} `json:"fragments"`
}
type AutomodMessageHoldEvent struct {
// The ID of the broadcaster specified in the request.
BroadcasterUserID string `json:"broadcaster_user_id"`
// The login of the broadcaster specified in the request.
BroadcasterUserLogin string `json:"broadcaster_user_login"`
// The user name of the broadcaster specified in the request.
BroadcasterUserName string `json:"broadcaster_user_name"`
// The message senders user ID.
UserID string `json:"user_id"`
// The message senders login name.
UserLogin string `json:"user_login"`
// The message senders display name.
UserName string `json:"user_name"`
// The ID of the message that was flagged by automod.
MessageID string `json:"message_id"`
// The body of the message.
Message []AutomodMessage `json:"message"`
// The category of the message.
Category string `json:"category"`
// The level of severity. Measured between 1 to 4.
Level int `json:"level"`
// The timestamp of when automod saved the message.
HeldAt time.Time `json:"held_at"`
}
type AutomodSettingsUpdateEvent struct {
// The ID of the broadcaster specified in the request.
BroadcasterUserID string `json:"broadcaster_user_id"`
// The login of the broadcaster specified in the request.
BroadcasterUserLogin string `json:"broadcaster_user_login"`
// The user name of the broadcaster specified in the request.
BroadcasterUserName string `json:"broadcaster_user_name"`
// The ID of the moderator who changed the channel settings.
ModeratorUserID string `json:"moderator_user_id"`
// The moderators login.
ModeratorUserLogin string `json:"moderator_user_login"`
// The moderators user name.
ModeratorUserName string `json:"moderator_user_name"`
// The automod level for hostility involving name calling or insults.
Bullying int `json:"bullying"`
// The default AutoMod level for the broadcaster.
// This field is null if the broadcaster has set one or more of the individual settings.
OverallLevel *int `json:"overall_level"`
// The Automod level for discrimination against disability.
Disability int `json:"disability"`
// The Automod level for racial discrimination.
RaceEthnicityOrReligion int `json:"race_ethnicity_or_religion"`
// The Automod level for discrimination against women.
Misogyny int `json:"misogyny"`
// The Automod level for discrimination based on sexuality, sex, or gender.
SexualitySexOrGender int `json:"sexuality_sex_or_gender"`
// The Automod level for hostility involving aggression.
Aggression int `json:"aggression"`
// The Automod level for sexual content.
SexBasedTerms int `json:"sex_based_terms"`
// The Automod level for profanity.
Swearing int `json:"swearing"`
}
type AutomodTermsUpdateEvent struct {
// The ID of the broadcaster specified in the request.
BroadcasterUserID string `json:"broadcaster_user_id"`
// The login of the broadcaster specified in the request.
BroadcasterUserLogin string `json:"broadcaster_user_login"`
// The user name of the broadcaster specified in the request.
BroadcasterUserName string `json:"broadcaster_user_name"`
// The ID of the moderator who changed the channel settings.
ModeratorUserID string `json:"moderator_user_id"`
// The moderators login.
ModeratorUserLogin string `json:"moderator_user_login"`
// The moderators user name.
ModeratorUserName string `json:"moderator_user_name"`
// The status change applied to the terms. Possible options are:
// add_permitted, remove_permitted, add_blocked, or remove_blocked
Action string `json:"action"`
// Indicates whether this term was added due to an Automod message approve/deny action.
FromAutomod bool `json:"from_automod"`
// The list of terms that had a status change.
Terms []string `json:"terms"`
}