165 lines
5.0 KiB
Go
165 lines
5.0 KiB
Go
|
package events
|
|||
|
|
|||
|
import "time"
|
|||
|
|
|||
|
// The top contributor for a contribution type.
|
|||
|
// For example, the top contributor using BITS (by aggregate) or the top contributor using subscriptions (by count).
|
|||
|
type TopContribution struct {
|
|||
|
// The user ID of the contributor.
|
|||
|
UserId string `json:"user_id"`
|
|||
|
|
|||
|
// The user login of the contributor.
|
|||
|
UserLogin string `json:"user_login"`
|
|||
|
|
|||
|
// The user display name of the contributor.
|
|||
|
UserName string `json:"user_name"`
|
|||
|
|
|||
|
// The contribution method used. Possible values are:
|
|||
|
//
|
|||
|
// bits — Cheering with Bits.
|
|||
|
//
|
|||
|
// subscription — Subscription activity like subscribing or gifting subscriptions.
|
|||
|
//
|
|||
|
// other — Covers other contribution methods not listed.
|
|||
|
Type string `json:"type"`
|
|||
|
|
|||
|
// The amount of the contribution.
|
|||
|
// If type is bits, total represents the amount of Bits used.
|
|||
|
// If type is subscription, total is 500, 1000, or 2500 to represent tier 1, 2, or 3 subscriptions, respectively.
|
|||
|
Total int `json:"total"`
|
|||
|
}
|
|||
|
|
|||
|
// The most recent contribution towards the Hype Train’s goal.
|
|||
|
type LastContribution struct {
|
|||
|
// The user ID of the user that made the contribution.
|
|||
|
UserId string `json:"user_id"`
|
|||
|
|
|||
|
// The user login of the user that made the contribution.
|
|||
|
UserLogin string `json:"user_login"`
|
|||
|
|
|||
|
// The user display name of the user that made the contribution.
|
|||
|
UserName string `json:"user_name"`
|
|||
|
|
|||
|
// The contribution method used. Possible values are:
|
|||
|
//
|
|||
|
// bits — Cheering with Bits.
|
|||
|
//
|
|||
|
// subscription — Subscription activity like subscribing or gifting subscriptions.
|
|||
|
//
|
|||
|
// other — Covers other contribution methods not listed.
|
|||
|
Type string `json:"type"`
|
|||
|
|
|||
|
// The amount of the contribution.
|
|||
|
// If type is bits, total represents the amount of Bits used.
|
|||
|
// If type is subscription, total is 500, 1000, or 2500 to represent tier 1, 2, or 3 subscriptions, respectively.
|
|||
|
Total int `json:"total"`
|
|||
|
}
|
|||
|
|
|||
|
type HypeTrainBeginEvent struct {
|
|||
|
// The Hype Train ID.
|
|||
|
Id string `json:"id"`
|
|||
|
|
|||
|
// 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"`
|
|||
|
|
|||
|
// Total points contributed to the Hype Train.
|
|||
|
Total int `json:"total"`
|
|||
|
|
|||
|
// The number of points contributed to the Hype Train at the current level.
|
|||
|
Progress int `json:"progress"`
|
|||
|
|
|||
|
// The number of points required to reach the next level.
|
|||
|
Goal int `json:"goal"`
|
|||
|
|
|||
|
// The contributors with the most points contributed.
|
|||
|
TopContributions []TopContribution `json:"top_contributions"`
|
|||
|
|
|||
|
// The most recent contribution.
|
|||
|
LastContribution LastContribution `json:"last_contribution"`
|
|||
|
|
|||
|
// The starting level of the Hype Train.
|
|||
|
Level int `json:"level"`
|
|||
|
|
|||
|
// The time when the Hype Train started.
|
|||
|
StartedAt time.Time `json:"started_at"`
|
|||
|
|
|||
|
// The time when the Hype Train expires. The expiration is extended when the Hype Train reaches a new level.
|
|||
|
ExpiresAt time.Time `json:"expires_at"`
|
|||
|
}
|
|||
|
|
|||
|
type HypeTrainProgressEvent struct {
|
|||
|
// The Hype Train ID.
|
|||
|
Id string `json:"id"`
|
|||
|
|
|||
|
// 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 current level of the Hype Train.
|
|||
|
Level int `json:"level"`
|
|||
|
|
|||
|
// Total points contributed to the Hype Train.
|
|||
|
Total int `json:"total"`
|
|||
|
|
|||
|
// The number of points contributed to the Hype Train at the current level.
|
|||
|
Progress int `json:"progress"`
|
|||
|
|
|||
|
// The number of points required to reach the next level.
|
|||
|
Goal int `json:"goal"`
|
|||
|
|
|||
|
// The contributors with the most points contributed.
|
|||
|
TopContributions []TopContribution `json:"top_contributions"`
|
|||
|
|
|||
|
// The most recent contribution.
|
|||
|
LastContribution LastContribution `json:"last_contribution"`
|
|||
|
|
|||
|
// The time when the Hype Train started.
|
|||
|
StartedAt time.Time `json:"started_at"`
|
|||
|
|
|||
|
// The time when the Hype Train expires. The expiration is extended when the Hype Train reaches a new level.
|
|||
|
ExpiresAt time.Time `json:"expires_at"`
|
|||
|
}
|
|||
|
|
|||
|
type HypeTrainEndEvent struct {
|
|||
|
// The Hype Train ID.
|
|||
|
Id string `json:"id"`
|
|||
|
|
|||
|
// 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 final level of the Hype Train.
|
|||
|
Level int `json:"level"`
|
|||
|
|
|||
|
// Total points contributed to the Hype Train.
|
|||
|
Total int `json:"total"`
|
|||
|
|
|||
|
// The contributors with the most points contributed.
|
|||
|
TopContributions []TopContribution `json:"top_contributions"`
|
|||
|
|
|||
|
// The time when the Hype Train started.
|
|||
|
StartedAt time.Time `json:"started_at"`
|
|||
|
|
|||
|
// The time when the Hype Train ended.
|
|||
|
EndedAt time.Time `json:"ended_at"`
|
|||
|
|
|||
|
// The time when the Hype Train cooldown ends so that the next Hype Train can start.
|
|||
|
CooldownEndsAt time.Time `json:"cooldown_ends_at"`
|
|||
|
}
|