160 lines
4.8 KiB
Go
160 lines
4.8 KiB
Go
package events
|
||
|
||
import "time"
|
||
|
||
// An array of up to 10 objects that describe users who participated in a Channel Points Prediction.
|
||
type TopPredictors struct {
|
||
// The ID of the user.
|
||
UserId string `json:"user_id"`
|
||
|
||
// The login of the user.
|
||
UserLogin string `json:"user_login"`
|
||
|
||
// The display name of the user.
|
||
UserName string `json:"user_name"`
|
||
|
||
// The number of Channel Points won.
|
||
// This value is always null in the event payload for Prediction progress and Prediction lock.
|
||
// This value is 0 if the outcome did not win or if the Prediction was canceled and Channel Points were refunded.
|
||
ChannelPointsWon int `json:"channel_points_won"`
|
||
|
||
// The number of Channel Points used.
|
||
ChannelPointsUsed int `json:"channel_points_used"`
|
||
}
|
||
|
||
// An array of the outcomes for a particular Channel Points Prediction. Each Prediction’s event payload includes an outcomes array.
|
||
// The outcomes array contains an object that describes each outcome and, if applicable, the number of users who selected that outcome,
|
||
// the number of Channel Points for that outcome, and an array of top_predictors.
|
||
type Outcome struct {
|
||
// The outcome ID.
|
||
Id string `json:"id"`
|
||
|
||
// The outcome title.
|
||
Title string `json:"title"`
|
||
|
||
// The color for the outcome. Valid values are pink and blue.
|
||
Color string `json:"color"`
|
||
|
||
// The number of users who used Channel Points on this outcome.
|
||
Users int `json:"users"`
|
||
|
||
// The total number of Channel Points used on this outcome.
|
||
ChannelPoints int `json:"channel_points"`
|
||
|
||
// An array of users who used the most Channel Points on this outcome.
|
||
TopPredictors []TopPredictors `json:"top_predictors"`
|
||
}
|
||
|
||
type ChannelPredictionBeginEvent struct {
|
||
|
||
// The Channel Points Prediction 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"`
|
||
|
||
// Title for the Channel Points Prediction.
|
||
Title string `json:"title"`
|
||
|
||
// An array of outcomes for the Channel Points Prediction.
|
||
Outcomes []Outcome `json:"outcomes"`
|
||
|
||
// The time the Channel Points Prediction started.
|
||
StartedAt time.Time `json:"started_at"`
|
||
|
||
// The time the Channel Points Prediction will automatically lock.
|
||
LocksAt time.Time `json:"locks_at"`
|
||
}
|
||
|
||
type ChannelPredictionProgressEvent struct {
|
||
|
||
// The Channel Points Prediction 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"`
|
||
|
||
// Title for the Channel Points Prediction.
|
||
Title string `json:"title"`
|
||
|
||
// An array of outcomes for the Channel Points Prediction.
|
||
Outcomes []Outcome `json:"outcomes"`
|
||
|
||
// The time the Channel Points Prediction started.
|
||
StartedAt time.Time `json:"started_at"`
|
||
|
||
// The time the Channel Points Prediction will automatically lock.
|
||
LocksAt time.Time `json:"locks_at"`
|
||
}
|
||
|
||
type ChannelPredictionLockEvent struct {
|
||
|
||
// The Channel Points Prediction 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"`
|
||
|
||
// Title for the Channel Points Prediction.
|
||
Title string `json:"title"`
|
||
|
||
// An array of outcomes for the Channel Points Prediction.
|
||
Outcomes []Outcome `json:"outcomes"`
|
||
|
||
// The time the Channel Points Prediction started.
|
||
StartedAt time.Time `json:"started_at"`
|
||
|
||
// The time the Channel Points Prediction was locked.
|
||
LockedAt time.Time `json:"locked_at"`
|
||
}
|
||
|
||
type ChannelPredictionEndEvent struct {
|
||
// The Channel Points Prediction 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"`
|
||
|
||
// Title for the Channel Points Prediction.
|
||
Title string `json:"title"`
|
||
|
||
// The ID of the winning outcome.
|
||
WinningOutcomeId string `json:"winning_outcome_id"`
|
||
|
||
// An array of outcomes for the Channel Points Prediction.
|
||
Outcomes []Outcome `json:"outcomes"`
|
||
|
||
// The status of the Channel Points Prediction. Valid values are resolved and canceled.
|
||
Status string `json:"status"`
|
||
|
||
// The time the Channel Points Prediction started.
|
||
StartedAt time.Time `json:"started_at"`
|
||
|
||
// The time the Channel Points Prediction ended.
|
||
EndedAt time.Time `json:"ended_at"`
|
||
}
|