pokepurple/addons/twitcher/generated/twitch_stream.gd

164 lines
5.2 KiB
GDScript3
Raw Normal View History

@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/Stream
class_name TwitchStream
## An ID that identifies the stream. You can use this ID later to look up the video on demand (VOD).
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The ID of the user thats broadcasting the stream.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_id", val)
## The users login name.
@export var user_login: String:
set(val):
user_login = val
track_data(&"user_login", val)
## The users display name.
@export var user_name: String:
set(val):
user_name = val
track_data(&"user_name", val)
## The ID of the category or game being played.
@export var game_id: String:
set(val):
game_id = val
track_data(&"game_id", val)
## The ID of the category or game being played.
@export var game_name: String:
set(val):
game_name = val
track_data(&"game_name", val)
## The type of stream. Possible values are:
##
## * live
##
## If an error occurs, this field is set to an empty string.
@export var type: String:
set(val):
type = val
track_data(&"type", val)
## The streams title. Is an empty string if not set.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## The number of users watching the stream.
@export var viewer_count: int:
set(val):
viewer_count = val
track_data(&"viewer_count", val)
## The UTC date and time (in RFC3339 format) of when the broadcast began.
@export var started_at: String:
set(val):
started_at = val
track_data(&"started_at", val)
## 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](https://help.twitch.tv/s/article/languages-on-twitch#streamlang).
@export var language: String:
set(val):
language = val
track_data(&"language", val)
## 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.
@export var thumbnail_url: String:
set(val):
thumbnail_url = val
track_data(&"thumbnail_url", val)
## **IMPORTANT** As of February 28, 2023, this field is deprecated and returns only an empty array. If you use this field, please update your code to use the `tags` field.
##
## The list of tags that apply to the stream. The list contains IDs only when the channel is steaming live. For a list of possible tags, see [List of All Tags](https://www.twitch.tv/directory/all/tags). The list doesnt include Category Tags.
@export var tag_ids: Array[String]:
set(val):
tag_ids = val
track_data(&"tag_ids", val)
## The tags applied to the stream.
@export var tags: Array[String]:
set(val):
tags = val
track_data(&"tags", val)
## A Boolean value that indicates whether the stream is meant for mature audiences.
@export var is_mature: bool:
set(val):
is_mature = val
track_data(&"is_mature", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _user_id: String, _user_login: String, _user_name: String, _game_id: String, _game_name: String, _type: String, _title: String, _viewer_count: int, _started_at: String, _language: String, _thumbnail_url: String, _tag_ids: Array[String], _tags: Array[String], _is_mature: bool) -> TwitchStream:
var twitch_stream: TwitchStream = TwitchStream.new()
twitch_stream.id = _id
twitch_stream.user_id = _user_id
twitch_stream.user_login = _user_login
twitch_stream.user_name = _user_name
twitch_stream.game_id = _game_id
twitch_stream.game_name = _game_name
twitch_stream.type = _type
twitch_stream.title = _title
twitch_stream.viewer_count = _viewer_count
twitch_stream.started_at = _started_at
twitch_stream.language = _language
twitch_stream.thumbnail_url = _thumbnail_url
twitch_stream.tag_ids = _tag_ids
twitch_stream.tags = _tags
twitch_stream.is_mature = _is_mature
return twitch_stream
static func from_json(d: Dictionary) -> TwitchStream:
var result: TwitchStream = TwitchStream.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("user_id", null) != null:
result.user_id = d["user_id"]
if d.get("user_login", null) != null:
result.user_login = d["user_login"]
if d.get("user_name", null) != null:
result.user_name = d["user_name"]
if d.get("game_id", null) != null:
result.game_id = d["game_id"]
if d.get("game_name", null) != null:
result.game_name = d["game_name"]
if d.get("type", null) != null:
result.type = d["type"]
if d.get("title", null) != null:
result.title = d["title"]
if d.get("viewer_count", null) != null:
result.viewer_count = d["viewer_count"]
if d.get("started_at", null) != null:
result.started_at = d["started_at"]
if d.get("language", null) != null:
result.language = d["language"]
if d.get("thumbnail_url", null) != null:
result.thumbnail_url = d["thumbnail_url"]
if d.get("tag_ids", null) != null:
for value in d["tag_ids"]:
result.tag_ids.append(value)
if d.get("tags", null) != null:
for value in d["tags"]:
result.tags.append(value)
if d.get("is_mature", null) != null:
result.is_mature = d["is_mature"]
return result