go-twitch/api/moderation/models.go

86 lines
3.0 KiB
Go
Raw Permalink Normal View History

2024-03-03 15:14:59 -05:00
package moderation
import "time"
type AutoModSettings struct {
// The ID of the broadcaster whose AutoMod settings you want to get.
BroadcasterID string `json:"broadcaster_id"`
// The ID of the broadcaster or a user that has permission to moderate the broadcasters chat room.
// This ID must match the user ID in the user access token.
ModeratorID string `json:"moderator_id"`
// 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 hostility involving aggression.
Aggression int `json:"aggression"`
// The Automod level for discrimination based on sexuality, sex, or gender.
SexualitySexOrGender int `json:"sexuality_sex_or_gender"`
// The Automod level for discrimination against women.
Misogyny int `json:"misogyny"`
// The Automod level for hostility involving name calling or insults.
Bullying int `json:"bullying"`
// The Automod level for profanity.
Swearing int `json:"swearing"`
// The Automod level for racial discrimination.
RaceEthnicityOrReligion int `json:"race_ethnicity_or_religion"`
// The Automod level for sexual content.
SexBasedTerms int `json:"sex_based_terms"`
}
type BlockedTerm struct {
// The broadcaster that owns the list of blocked terms.
BroadcasterID string `json:"broadcaster_id"`
// The moderator that blocked the word or phrase from being used in the broadcasters chat room.
ModeratorID string `json:"moderator_id"`
// An ID that identifies this blocked term.
ID string `json:"id"`
// The blocked word or phrase.
Text string `json:"text"`
// The UTC date and time (in RFC3339 format) that the term was blocked.
CreatedAt time.Time `json:"created_at"`
// The UTC date and time (in RFC3339 format) that the term was updated.
//
// When the term is added, this timestamp is the same as created_at.
// The timestamp changes as AutoMod continues to deny the term.
UpdatedAt time.Time `json:"updated_at"`
// The UTC date and time (in RFC3339 format) that the blocked term is set to expire.
// After the block expires, users may use the term in the broadcasters chat room.
//
// This field is null if the term was added manually or was permanently blocked by AutoMod.
ExpiresAt *time.Time `json:"expires_at"`
}
type ShieldModeStatus struct {
// A Boolean value that determines whether Shield Mode is active. Is true if Shield Mode is active; otherwise, false.
IsActive bool `json:"is_active"`
// An ID that identifies the moderator that last activated Shield Mode.
ModeratorID string `json:"moderator_id"`
// The moderators login name.
ModeratorLogin string `json:"moderator_login"`
// The moderators display name.
ModeratorName string `json:"moderator_name"`
// The UTC timestamp (in RFC3339 format) of when Shield Mode was last activated.
LastActivatedAt time.Time `json:"last_activated_at"`
}