go-twitch/api/streams/models.go

88 lines
2.7 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package streams
import "time"
type Stream struct {
// An ID that identifies the stream. You can use this ID later to look up the video on demand (VOD).
ID string `json:"id"`
// The ID of the user thats broadcasting the stream.
UserID string `json:"user_id"`
// The users login name.
UserLogin string `json:"user_login"`
// The users display name.
UserName string `json:"user_name"`
// The ID of the category or game being played.
GameID string `json:"game_id"`
// The name of the category or game being played.
GameName string `json:"game_name"`
// The type of stream. Possible values are:
//
// live
//
// If an error occurs, this field is set to an empty string.
Type string `json:"type"`
// The streams title. Is an empty string if not set.
Title string `json:"title"`
// The tags applied to the stream.
Tags []string `json:"tags"`
// The number of users watching the stream.
ViewerCount int `json:"viewer_count"`
// The UTC date and time (in RFC3339 format) of when the broadcast began.
StartedAt time.Time `json:"started_at"`
// The language that the stream uses.
// This is an ISO 639-1 two-letter language code or other if the stream uses a language not in the list of supported stream languages.
Language string `json:"language"`
// A URL to an image of a frame from the last 5 minutes of the stream.
// Replace the width and height placeholders in the URL ({width}x{height}) with the size of the image you want, in pixels.
ThumbnailURL string `json:"thumbnail_url"`
// A Boolean value that indicates whether the stream is meant for mature audiences.
IsMature bool `json:"is_mature"`
}
type StreamMarker struct {
// An ID that identifies this marker.
ID string `json:"id"`
// The UTC date and time (in RFC3339 format) of when the user created the marker.
CreatedAt time.Time `json:"created_at"`
// The relative offset (in seconds) of the marker from the beginning of the stream.
PositionSeconds int `json:"position_seconds"`
// A description that the user gave the marker to help them remember why they marked the location.
Description string `json:"description"`
}
type StreamMarkers struct {
// The ID of the user that created the marker.
UserID string `json:"user_id"`
// The users display name.
UserName string `json:"user_name"`
// The users login name.
UserLogin string `json:"user_login"`
// A list of videos that contain markers. The list contains a single video.
Videos []struct {
// An ID that identifies this video.
VideoID string `json:"video_id"`
// The list of markers in this video. The list in ascending order by when the marker was created.
Markers []StreamMarker `json:"markers"`
} `json:"videos"`
}