go-twitch/eventsub/events/automod.go

150 lines
4.7 KiB
Go
Raw Normal View History

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"`
}