package model import ( "fmt" "strings" "time" ) type ( TwitchOAuthToken struct { AccessToken string ExpiresAt time.Time TokenType string } TwitchState struct { Token *TwitchOAuthToken } TwitchStreamInfo struct { ID string `json:"id"` UserID string `json:"user_id"` UserLogin string `json:"user_login"` UserName string `json:"user_name"` GameID string `json:"game_id"` GameName string `json:"game_name"` Type string `json:"type"` Title string `json:"title"` ViewerCount int `json:"viewer_count"` StartedAt string `json:"started_at"` Language string `json:"language"` ThumbnailURL string `json:"thumbnail_url"` TagIDs []string `json:"tag_ids"` Tags []string `json:"tags"` IsMature bool `json:"is_mature"` } ) func (info *TwitchStreamInfo) Thumbnail(width int, height int) string { res := strings.Replace(info.ThumbnailURL, "{width}", fmt.Sprintf("%d", width), 1) res = strings.Replace(res, "{height}", fmt.Sprintf("%d", height), 1) return res }