2024-03-05 12:14:18 -05:00
|
|
|
|
package events
|
|
|
|
|
|
|
|
|
|
import "time"
|
|
|
|
|
|
|
|
|
|
type ChannelBanEvent struct {
|
|
|
|
|
// The user ID for the user who was banned on the specified channel.
|
|
|
|
|
UserID string `json:"user_id"`
|
|
|
|
|
|
|
|
|
|
// The user login for the user who was banned on the specified channel.
|
|
|
|
|
UserLogin string `json:"user_login"`
|
|
|
|
|
|
|
|
|
|
// The user display name for the user who was banned on the specified channel.
|
|
|
|
|
UserName string `json:"user_name"`
|
|
|
|
|
|
|
|
|
|
// The requested broadcaster ID.
|
|
|
|
|
BroadcasterUserID string `json:"broadcaster_user_id"`
|
|
|
|
|
|
|
|
|
|
// The requested broadcaster login.
|
|
|
|
|
BroadcasterUserLogin string `json:"broadcaster_user_login"`
|
|
|
|
|
|
|
|
|
|
// The requested broadcaster display name.
|
|
|
|
|
BroadcasterUserName string `json:"broadcaster_user_name"`
|
|
|
|
|
|
|
|
|
|
// The user ID of the issuer of the ban.
|
|
|
|
|
ModeratorUserID string `json:"moderator_user_id"`
|
|
|
|
|
|
|
|
|
|
// The user login of the issuer of the ban.
|
|
|
|
|
ModeratorUserLogin string `json:"moderator_user_login"`
|
|
|
|
|
|
|
|
|
|
// The user name of the issuer of the ban.
|
|
|
|
|
ModeratorUserName string `json:"moderator_user_name"`
|
|
|
|
|
|
|
|
|
|
// The reason behind the ban.
|
|
|
|
|
Reason string `json:"reason"`
|
|
|
|
|
|
|
|
|
|
// The UTC date and time (in RFC3339 format) of when the user was banned or put in a timeout.
|
|
|
|
|
BannedAt time.Time `json:"banned_at"`
|
|
|
|
|
|
|
|
|
|
// The UTC date and time (in RFC3339 format) of when the timeout ends.
|
|
|
|
|
// Is null if the user was banned instead of put in a timeout.
|
|
|
|
|
EndsAt *time.Time `json:"ends_at"`
|
|
|
|
|
|
|
|
|
|
// Indicates whether the ban is permanent (true) or a timeout (false). If true, ends_at will be null.
|
|
|
|
|
IsPermanent bool `json:"is_permanent"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ChannelChatClearEvent struct {
|
|
|
|
|
// The broadcaster user ID.
|
|
|
|
|
BroadcasterUserID string `json:"broadcaster_user_id"`
|
|
|
|
|
|
|
|
|
|
// The broadcaster user login.
|
|
|
|
|
BroadcasterUserLogin string `json:"broadcaster_user_login"`
|
|
|
|
|
|
|
|
|
|
// The broadcaster user display name.
|
|
|
|
|
BroadcasterUserName string `json:"broadcaster_user_name"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ChannelChatClearUserMessagesEvent struct {
|
|
|
|
|
// The broadcaster user ID.
|
|
|
|
|
BroadcasterUserID string `json:"broadcaster_user_id"`
|
|
|
|
|
|
|
|
|
|
// The broadcaster user login.
|
|
|
|
|
BroadcasterUserLogin string `json:"broadcaster_user_login"`
|
|
|
|
|
|
|
|
|
|
// The broadcaster user display name.
|
|
|
|
|
BroadcasterUserName string `json:"broadcaster_user_name"`
|
|
|
|
|
|
|
|
|
|
// The ID of the user that was banned or put in a timeout. All of their messages are deleted.
|
|
|
|
|
TargetUserID string `json:"target_user_id"`
|
|
|
|
|
|
|
|
|
|
// The user name of the user that was banned or put in a timeout.
|
|
|
|
|
TargetUserName string `json:"target_user_name"`
|
|
|
|
|
|
|
|
|
|
// The user login of the user that was banned or put in a timeout.
|
|
|
|
|
TargetUserLogin string `json:"target_user_login"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type Badge struct {
|
|
|
|
|
// An ID that identifies this set of chat badges. For example, Bits or Subscriber.
|
|
|
|
|
SetID string `json:"set_id"`
|
|
|
|
|
|
|
|
|
|
// An ID that identifies this version of the badge.
|
|
|
|
|
// The ID can be any value. For example, for Bits, the ID is the Bits tier level, but for World of Warcraft, it could be Alliance or Horde.
|
|
|
|
|
ID string `json:"id"`
|
|
|
|
|
|
|
|
|
|
// Contains metadata related to the chat badges in the badges tag.
|
|
|
|
|
// Currently, this tag contains metadata only for subscriber badges, to indicate the number of months the user has been a subscriber.
|
|
|
|
|
Info string `json:"info"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type MessageData struct {
|
|
|
|
|
// The chat message in plain text.
|
|
|
|
|
Text string `json:"text"`
|
|
|
|
|
|
|
|
|
|
// Ordered list of chat message fragments.
|
|
|
|
|
Framgments []struct {
|
|
|
|
|
// The type of chat message fragment.
|
|
|
|
|
// Possible values:
|
|
|
|
|
//
|
|
|
|
|
// text, cheermote, emote, mention
|
|
|
|
|
Type string `json:"type"`
|
|
|
|
|
|
|
|
|
|
// Message text in fragment.
|
|
|
|
|
Text string `json:"text"`
|
|
|
|
|
|
|
|
|
|
// 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}.
|
|
|
|
|
// For example, if the prefix is “Cheer” and you want to cheer 100 Bits, the full Cheermote string is Cheer100.
|
|
|
|
|
// When the Cheermote string is entered in chat, Twitch converts it to the image associated with the Bits tier that was cheered.
|
|
|
|
|
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"`
|
|
|
|
|
|
|
|
|
|
// 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"`
|
|
|
|
|
|
|
|
|
|
// The ID of the broadcaster who owns the emote.
|
|
|
|
|
OwnerID string `json:"owner_id"`
|
|
|
|
|
|
|
|
|
|
// The formats that the emote is available in.
|
|
|
|
|
// For example, if the emote is available only as a static PNG, the array contains only static.
|
|
|
|
|
// But if the emote is available as a static PNG and an animated GIF, the array contains static and animated.
|
|
|
|
|
// The possible formats are:
|
|
|
|
|
//
|
|
|
|
|
// animated - An animated GIF is available for this emote.
|
|
|
|
|
//
|
|
|
|
|
// static - A static PNG file is available for this emote.
|
|
|
|
|
Format []string `json:"format"`
|
|
|
|
|
} `json:"emote"`
|
|
|
|
|
|
|
|
|
|
// Metadata pertaining to the mention.
|
|
|
|
|
Mention *struct {
|
|
|
|
|
// The user ID of the mentioned user.
|
|
|
|
|
UserID string `json:"user_id"`
|
|
|
|
|
|
|
|
|
|
// The user name of the mentioned user.
|
|
|
|
|
UserName string `json:"user_name"`
|
|
|
|
|
|
|
|
|
|
// The user login of the mentioned user.
|
|
|
|
|
UserLogin string `json:"user_login"`
|
|
|
|
|
} `json:"mention"`
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ChannelChatMessageEvent struct {
|
|
|
|
|
// The broadcaster user ID.
|
|
|
|
|
BroadcasterUserID string `json:"broadcaster_user_id"`
|
|
|
|
|
|
|
|
|
|
// The broadcaster user login.
|
|
|
|
|
BroadcasterUserLogin string `json:"broadcaster_user_login"`
|
|
|
|
|
|
|
|
|
|
// The broadcaster user display name.
|
|
|
|
|
BroadcasterUserName string `json:"broadcaster_user_name"`
|
|
|
|
|
|
|
|
|
|
// The user ID of the user that sent the message.
|
|
|
|
|
ChatterUserID string `json:"chatter_user_id"`
|
|
|
|
|
|
|
|
|
|
// The user name of the user that sent the message.
|
|
|
|
|
ChatterUserName string `json:"chatter_user_name"`
|
|
|
|
|
|
|
|
|
|
// The user login of the user that sent the message.
|
|
|
|
|
ChatterUserLogin string `json:"chatter_user_login"`
|
|
|
|
|
|
|
|
|
|
// A UUID that identifies the message.
|
|
|
|
|
MessageID string `json:"message_id"`
|
|
|
|
|
|
|
|
|
|
// The structured chat message.
|
|
|
|
|
Message MessageData `json:"message"`
|
|
|
|
|
|
|
|
|
|
// The type of message. Possible values:
|
|
|
|
|
//
|
|
|
|
|
// text, channel_points_highlighted, channel_points_sub_only, user_intro
|
|
|
|
|
MessageType string `json:"message_type"`
|
|
|
|
|
|
|
|
|
|
// List of chat badges.
|
|
|
|
|
Badges []Badge `json:"badges"`
|
|
|
|
|
|
|
|
|
|
// Metadata if this message is a cheer.
|
|
|
|
|
Cheer *struct {
|
|
|
|
|
// The amount of Bits the user cheered.
|
|
|
|
|
Bits int `json:"bits"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// The color of the user’s name in the chat room.
|
|
|
|
|
// This is a hexadecimal RGB color code in the form, #<RGB>.
|
|
|
|
|
// This tag may be empty if it is never set.
|
|
|
|
|
Color string `json:"color"`
|
|
|
|
|
|
|
|
|
|
// Metadata if this message is a reply.
|
|
|
|
|
Reply *struct {
|
|
|
|
|
// An ID that uniquely identifies the parent message that this message is replying to.
|
|
|
|
|
ParentMessageID string `json:"parent_message_id"`
|
|
|
|
|
|
|
|
|
|
// The message body of the parent message.
|
|
|
|
|
ParentMessageBody string `json:"parent_message_body"`
|
|
|
|
|
|
|
|
|
|
// User ID of the sender of the parent message.
|
|
|
|
|
ParentUserID string `json:"parent_user_id"`
|
|
|
|
|
|
|
|
|
|
// User name of the sender of the parent message.
|
|
|
|
|
ParentUserName string `json:"parent_user_name"`
|
|
|
|
|
|
|
|
|
|
// User login of the sender of the parent message.
|
|
|
|
|
ParentUserLogin string `json:"parent_user_login"`
|
|
|
|
|
|
|
|
|
|
// An ID that identifies the parent message of the reply thread.
|
|
|
|
|
ThreadMessageID string `json:"thread_message_id"`
|
|
|
|
|
|
|
|
|
|
// User ID of the sender of the thread’s parent message.
|
|
|
|
|
ThreadUserID string `json:"thread_user_id"`
|
|
|
|
|
|
|
|
|
|
// User name of the sender of the thread’s parent message.
|
|
|
|
|
ThreadUserName string `json:"thread_user_name"`
|
|
|
|
|
|
|
|
|
|
// User login of the sender of the thread’s parent message.
|
|
|
|
|
ThreadUserLogin string `json:"thread_user_login"`
|
|
|
|
|
} `json:"reply"`
|
|
|
|
|
|
|
|
|
|
// The ID of a channel points custom reward that was redeemed.
|
|
|
|
|
ChannelPointsCustomRewardID *string `json:"channel_points_custom_reward_id"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ChannelChatMessageDeleteEvent struct {
|
|
|
|
|
// The broadcaster user ID.
|
|
|
|
|
BroadcasterUserID string `json:"broadcaster_user_id"`
|
|
|
|
|
|
|
|
|
|
// The broadcaster user login.
|
|
|
|
|
BroadcasterUserLogin string `json:"broadcaster_user_login"`
|
|
|
|
|
|
|
|
|
|
// The broadcaster user display name.
|
|
|
|
|
BroadcasterUserName string `json:"broadcaster_user_name"`
|
|
|
|
|
|
|
|
|
|
// The ID of the user whose message was deleted.
|
|
|
|
|
TargetUserID string `json:"target_user_id"`
|
|
|
|
|
|
|
|
|
|
// The user name of the user whose message was deleted.
|
|
|
|
|
TargetUserName string `json:"target_user_name"`
|
|
|
|
|
|
|
|
|
|
// The user login of the user whose message was deleted.
|
|
|
|
|
TargetUserLogin string `json:"target_user_login"`
|
|
|
|
|
|
|
|
|
|
// A UUID that identifies the message that was removed.
|
|
|
|
|
MessageID string `json:"message_id"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ChannelChatNotificationEvent struct {
|
|
|
|
|
// The broadcaster user ID.
|
|
|
|
|
BroadcasterUserID string `json:"broadcaster_user_id"`
|
|
|
|
|
|
|
|
|
|
// The broadcaster user login.
|
|
|
|
|
BroadcasterUserLogin string `json:"broadcaster_user_login"`
|
|
|
|
|
|
|
|
|
|
// The broadcaster user name.
|
|
|
|
|
BroadcasterUserName string `json:"broadcaster_user_name"`
|
|
|
|
|
|
|
|
|
|
// The user ID of the user that sent the message.
|
|
|
|
|
ChatterUserID string `json:"chatter_user_id"`
|
|
|
|
|
|
|
|
|
|
// The user login of the user that sent the message.
|
|
|
|
|
ChatterUserLogin string `json:"chatter_user_login"`
|
|
|
|
|
|
|
|
|
|
// The user name of the user that sent the message.
|
|
|
|
|
ChatterUserName string `json:"chatter_user_name"`
|
|
|
|
|
|
|
|
|
|
// Whether or not the chatter is anonymous.
|
|
|
|
|
ChatterIsAnonymous bool `json:"chatter_is_anonymous"`
|
|
|
|
|
|
|
|
|
|
// The color of the user's name in the chat room.
|
|
|
|
|
Color string `json:"color"`
|
|
|
|
|
|
|
|
|
|
// List of chat badges
|
|
|
|
|
Badges []Badge `json:"badges"`
|
|
|
|
|
|
|
|
|
|
// The message Twitch shows in the chat room for this notice.
|
|
|
|
|
SystemMessage string `json:"system_message"`
|
|
|
|
|
|
|
|
|
|
// A UUID that identifies the message.
|
|
|
|
|
MessageID string `json:"message_id"`
|
|
|
|
|
|
|
|
|
|
// The structured chat message.
|
|
|
|
|
Message MessageData `json:"message"`
|
|
|
|
|
|
|
|
|
|
// The type of notice.
|
|
|
|
|
// Possible values are:
|
|
|
|
|
//
|
|
|
|
|
// sub, resub, sub_gift, community_sub_gift, gift_paid_upgrade, raid, unraid, pay_it_forward, announcement, bits_badge_tier, charity_donation
|
|
|
|
|
NoticeType string `json:"notice_type"`
|
|
|
|
|
|
|
|
|
|
// Information about the sub event. Null if notice_type is not sub.
|
|
|
|
|
Sub *struct {
|
|
|
|
|
// The type of subscription plan being used. Possible values are:
|
|
|
|
|
//
|
|
|
|
|
// 1000 - First level of paid or Prime subscription.
|
|
|
|
|
//
|
|
|
|
|
// 2000 - Second level of paid subscription.
|
|
|
|
|
//
|
|
|
|
|
// 3000 - Third level of paid subscription.
|
|
|
|
|
SubTier string `json:"sub_tier"`
|
|
|
|
|
|
|
|
|
|
// Indicates if the subscription was obtained through Amazon Prime.
|
|
|
|
|
IsPrime bool `json:"is_prime"`
|
|
|
|
|
|
|
|
|
|
// The number of months the subscription is for.
|
|
|
|
|
DurationMonths int `json:"duration_months"`
|
|
|
|
|
} `json:"sub"`
|
|
|
|
|
|
|
|
|
|
// Information about the resub event. Null if notice_type is not resub.
|
|
|
|
|
Resub *struct {
|
|
|
|
|
// The total number of months the user has subscribed.
|
|
|
|
|
CumulativeMonths int `json:"cumulative_months"`
|
|
|
|
|
|
|
|
|
|
// The number of months the subscription is for.
|
|
|
|
|
DurationMonths int `json:"duration_months"`
|
|
|
|
|
|
|
|
|
|
// The total number of months the user has subscribed consecutively.
|
|
|
|
|
StreakMonths int `json:"streak_months"`
|
|
|
|
|
|
|
|
|
|
// The type of subscription plan being used. Possible values are:
|
|
|
|
|
//
|
|
|
|
|
// 1000 - First level of paid or Prime subscription.
|
|
|
|
|
//
|
|
|
|
|
// 2000 - Second level of paid subscription.
|
|
|
|
|
//
|
|
|
|
|
// 3000 - Third level of paid subscription.
|
|
|
|
|
SubTier string `json:"sub_tier"`
|
|
|
|
|
|
|
|
|
|
// Whether or not the resub was prime resub.
|
|
|
|
|
IsPrime bool `json:"is_prime"`
|
|
|
|
|
|
|
|
|
|
// Whether or not the resub was a result of a gift
|
|
|
|
|
IsGift bool `json:"is_gift"`
|
|
|
|
|
|
|
|
|
|
// Whether or not the gift was anonymous.
|
|
|
|
|
GifterIsAnonymous bool `json:"gifter_is_anonymous"`
|
|
|
|
|
|
|
|
|
|
// The user ID of the user who sent the gift.
|
|
|
|
|
GifterUserID string `json:"gifter_user_id"`
|
|
|
|
|
|
|
|
|
|
// The user login of the user who sent the gift.
|
|
|
|
|
GifterUserLogin string `json:"gifter_user_login"`
|
|
|
|
|
|
|
|
|
|
// The user name of the user who sent the gift.
|
|
|
|
|
GifterUserName string `json:"gifter_user_name"`
|
|
|
|
|
} `json:"resub"`
|
|
|
|
|
|
|
|
|
|
// Information about the gift sub event. Null if notice_type is not sub_gift.
|
|
|
|
|
SubGift *struct {
|
|
|
|
|
// The number of months the subscription is for.
|
|
|
|
|
DurationMonths int `json:"duration_months"`
|
|
|
|
|
|
|
|
|
|
// The amount of gifts the gifter has given in this channel. Null if anonymous.
|
|
|
|
|
CumulativeTotal *int `json:"cumulative_total"`
|
|
|
|
|
|
|
|
|
|
// The user ID of the subscription gift recipient.
|
|
|
|
|
RecipientUserID string `json:"recipient_user_id"`
|
|
|
|
|
|
|
|
|
|
// The user login of the subscription gift recipient.
|
|
|
|
|
RecipientUserLogin string `json:"recipient_user_login"`
|
|
|
|
|
|
|
|
|
|
// The user name of the subscription gift recipient.
|
|
|
|
|
RecipientUserName string `json:"recipient_user_name"`
|
|
|
|
|
|
|
|
|
|
// The type of subscription plan being used. Possible values are:
|
|
|
|
|
//
|
|
|
|
|
// 1000 - First level of paid or Prime subscription.
|
|
|
|
|
//
|
|
|
|
|
// 2000 - Second level of paid subscription.
|
|
|
|
|
//
|
|
|
|
|
// 3000 - Third level of paid subscription.
|
|
|
|
|
SubTier string `json:"sub_tier"`
|
|
|
|
|
|
|
|
|
|
// The ID of the associated community gift. Null if not associated with a community gift.
|
|
|
|
|
CommunityGiftID *string `json:"community_gift_id"`
|
|
|
|
|
} `json:"sub_gift"`
|
|
|
|
|
|
|
|
|
|
// Information about the community gift sub event. Null if notice_type is not community_sub_gift.
|
|
|
|
|
CommunitySubGift *struct {
|
|
|
|
|
// The ID of the associated community gift.
|
|
|
|
|
ID string `json:"id"`
|
|
|
|
|
|
|
|
|
|
// The number of subscriptions being gifted.
|
|
|
|
|
Total int `json:"total"`
|
|
|
|
|
|
|
|
|
|
// The type of subscription plan being used. Possible values are:
|
|
|
|
|
//
|
|
|
|
|
// 1000 - First level of paid or Prime subscription.
|
|
|
|
|
//
|
|
|
|
|
// 2000 - Second level of paid subscription.
|
|
|
|
|
//
|
|
|
|
|
// 3000 - Third level of paid subscription.
|
|
|
|
|
SubTier string `json:"sub_tier"`
|
|
|
|
|
|
|
|
|
|
// The amount of gifts the gifter has given in this channel. Null if anonymous.
|
|
|
|
|
CumulativeTotal *int `json:"cumulative_total"`
|
|
|
|
|
} `json:"community_sub_gift"`
|
|
|
|
|
|
|
|
|
|
// Information about the community gift paid upgrade event. Null if notice_type is not gift_paid_upgrade.
|
|
|
|
|
GiftPaidUpgrade *struct {
|
|
|
|
|
// Whether the gift was given anonymously.
|
|
|
|
|
GifterIsAnonymous bool `json:"gifter_is_anonymous"`
|
|
|
|
|
|
|
|
|
|
// The user ID of the user who gifted the subscription. Null if anonymous.
|
|
|
|
|
GifterUserID *string `json:"gifter_user_id"`
|
|
|
|
|
|
|
|
|
|
// The user login of the user who gifted the subscription. Null if anonymous.
|
|
|
|
|
GifterUserLogin *string `json:"gifter_user_login"`
|
|
|
|
|
|
|
|
|
|
// The user name of the user who gifted the subscription. Null if anonymous.
|
|
|
|
|
GifterUserName *string `json:"gifter_user_name"`
|
|
|
|
|
} `json:"gift_paid_upgrade"`
|
|
|
|
|
|
|
|
|
|
// Information about the Prime gift paid upgrade event. Null if notice_type is not prime_paid_upgrade.
|
|
|
|
|
PrimePaidUpgrade *struct {
|
|
|
|
|
// The type of subscription plan being used. Possible values are:
|
|
|
|
|
//
|
|
|
|
|
// 1000 - First level of paid or Prime subscription.
|
|
|
|
|
//
|
|
|
|
|
// 2000 - Second level of paid subscription.
|
|
|
|
|
//
|
|
|
|
|
// 3000 - Third level of paid subscription.
|
|
|
|
|
SubTier string `json:"sub_tier"`
|
|
|
|
|
} `json:"prime_paid_upgrade"`
|
|
|
|
|
|
|
|
|
|
// Information about the raid event. Null if notice_type is not raid.
|
|
|
|
|
Raid *struct {
|
|
|
|
|
// The user ID of the broadcaster raiding this channel.
|
|
|
|
|
UserID string `json:"user_id"`
|
|
|
|
|
|
|
|
|
|
// The user name of the broadcaster raiding this channel.
|
|
|
|
|
UserName string `json:"user_name"`
|
|
|
|
|
|
|
|
|
|
// The user login of the broadcaster raiding this channel.
|
|
|
|
|
UserLogin string `json:"user_login"`
|
|
|
|
|
|
|
|
|
|
// The number of viewers raiding this channel from the broadcaster’s channel.
|
|
|
|
|
ViewerCount int `json:"viewer_count"`
|
|
|
|
|
|
|
|
|
|
// Profile image URL of the broadcaster raiding this channel.
|
|
|
|
|
ProfileImageURL string `json:"profile_image_url"`
|
|
|
|
|
} `json:"raid"`
|
|
|
|
|
|
|
|
|
|
// Returns an empty payload if notice_type is unraid, otherwise returns null.
|
|
|
|
|
Unraid *struct{} `json:"unraid"`
|
|
|
|
|
|
|
|
|
|
// Information about the pay it forward event. Null if notice_type is not pay_it_forward.
|
|
|
|
|
PayItForward *struct {
|
|
|
|
|
// Whether the gift was given anonymously.
|
|
|
|
|
GifterIsAnonymous bool `json:"gifter_is_anonymous"`
|
|
|
|
|
|
|
|
|
|
// The user ID of the user who gifted the subscription. Null if anonymous.
|
|
|
|
|
GifterUserID *string `json:"gifter_user_id"`
|
|
|
|
|
|
|
|
|
|
// The user login of the user who gifted the subscription. Null if anonymous.
|
|
|
|
|
GifterUserLogin *string `json:"gifter_user_login"`
|
|
|
|
|
|
|
|
|
|
// The user name of the user who gifted the subscription. Null if anonymous.
|
|
|
|
|
GifterUserName *string `json:"gifter_user_name"`
|
|
|
|
|
} `json:"pay_it_forward"`
|
|
|
|
|
|
|
|
|
|
// Information about the announcement event. Null if notice_type is not announcement.
|
|
|
|
|
Announcement *struct {
|
|
|
|
|
// Color of the announcement.
|
|
|
|
|
Color string `json:"color"`
|
|
|
|
|
} `json:"announcement"`
|
|
|
|
|
|
|
|
|
|
// Information about the charity donation event. Null if notice_type is not charity_donation.
|
|
|
|
|
CharityDonation *struct {
|
|
|
|
|
// Name of the charity.
|
|
|
|
|
CharityName string `json:"charity_name"`
|
|
|
|
|
|
|
|
|
|
// An object that contains the amount of money that the user paid.
|
|
|
|
|
Amount struct {
|
|
|
|
|
// The monetary amount. The amount is specified in the currency’s minor unit.
|
|
|
|
|
// For example, the minor units for USD is cents, so if the amount is $5.50 USD, value is set to 550.
|
|
|
|
|
Value int `json:"value"`
|
|
|
|
|
|
|
|
|
|
// The number of decimal places used by the currency.
|
|
|
|
|
// For example, USD uses two decimal places.
|
|
|
|
|
DecimalPlace int `json:"decimal_place"`
|
|
|
|
|
|
|
|
|
|
// The ISO-4217 three-letter currency code that identifies the type of currency in value.
|
|
|
|
|
Currency string `json:"currency"`
|
|
|
|
|
} `json:"amount"`
|
|
|
|
|
} `json:"charity_donation"`
|
|
|
|
|
|
|
|
|
|
// Information about the bits badge tier event. Null if notice_type is not bits_badge_tier.
|
|
|
|
|
BitsBadgeTier *struct {
|
|
|
|
|
// The tier of the Bits badge the user just earned. For example, 100, 1000, or 10000.
|
|
|
|
|
Tier int `json:"tier"`
|
|
|
|
|
} `json:"bits_badge_tier"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ChannelChatSettingsUpdateEvent 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"`
|
|
|
|
|
|
|
|
|
|
// A Boolean value that determines whether chat messages must contain only emotes.
|
|
|
|
|
// True if only messages that are 100% emotes are allowed; otherwise false.
|
|
|
|
|
EmoteMode bool `json:"emote_mode"`
|
|
|
|
|
|
|
|
|
|
// A Boolean value that determines whether the broadcaster restricts the chat room to followers only, based on how long they’ve followed.
|
|
|
|
|
//
|
|
|
|
|
// True if the broadcaster restricts the chat room to followers only; otherwise false.
|
|
|
|
|
//
|
|
|
|
|
// See follower_mode_duration_minutes for how long the followers must have followed the broadcaster to participate in the chat room.
|
|
|
|
|
FollowerMode bool `json:"follower_mode"`
|
|
|
|
|
|
|
|
|
|
// The length of time, in minutes, that the followers must have followed the broadcaster to participate in the chat room. See follower_mode.
|
|
|
|
|
//
|
|
|
|
|
// Null if follower_mode is false.
|
|
|
|
|
FollowerModeDurationMinutes *int `json:"follower_mode_duration_minutes"`
|
|
|
|
|
|
|
|
|
|
// A Boolean value that determines whether the broadcaster limits how often users in the chat room are allowed to send messages.
|
|
|
|
|
//
|
|
|
|
|
// Is true, if the broadcaster applies a delay; otherwise, false.
|
|
|
|
|
//
|
|
|
|
|
// See slow_mode_wait_time_seconds for the delay.
|
|
|
|
|
SlowMode bool `json:"slow_mode"`
|
|
|
|
|
|
|
|
|
|
// The amount of time, in seconds, that users need to wait between sending messages. See slow_mode.
|
|
|
|
|
//
|
|
|
|
|
// Null if slow_mode is false.
|
|
|
|
|
SlowModeWaitTimeSeconds *int `json:"slow_mode_wait_time_seconds"`
|
|
|
|
|
|
|
|
|
|
// A Boolean value that determines whether only users that subscribe to the broadcaster’s channel can talk in the chat room.
|
|
|
|
|
//
|
|
|
|
|
// True if the broadcaster restricts the chat room to subscribers only; otherwise false.
|
|
|
|
|
SubscriberMode bool `json:"subscriber_mode"`
|
|
|
|
|
|
|
|
|
|
// A Boolean value that determines whether the broadcaster requires users to post only unique messages in the chat room.
|
|
|
|
|
//
|
|
|
|
|
// True if the broadcaster requires unique messages only; otherwise false.
|
|
|
|
|
UniqueChatMode bool `json:"unique_chat_mode"`
|
|
|
|
|
}
|
2024-04-24 01:30:58 -04:00
|
|
|
|
|
|
|
|
|
type ChannelChatUserMessageHoldEvent 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 User ID of the message sender.
|
|
|
|
|
UserID string `json:"user_id"`
|
|
|
|
|
|
|
|
|
|
// The message sender’s login name.
|
|
|
|
|
UserLogin string `json:"user_login"`
|
|
|
|
|
|
|
|
|
|
// The message sender’s 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"`
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
type ChannelChatUserMessageUpdateEvent 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 User ID of the message sender.
|
|
|
|
|
UserID string `json:"user_id"`
|
|
|
|
|
|
|
|
|
|
// The message sender’s login name.
|
|
|
|
|
UserLogin string `json:"user_login"`
|
|
|
|
|
|
|
|
|
|
// The message sender’s 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"`
|
|
|
|
|
}
|