pokepurple/addons/twitcher/generated/twitch_video.gd

215 lines
7.1 KiB
GDScript3
Raw Permalink Normal View History

@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/Video
class_name TwitchVideo
## An ID that identifies the video.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The ID of the stream that the video originated from if the video's type is "archive;" otherwise, **null**.
@export var stream_id: String:
set(val):
stream_id = val
track_data(&"stream_id", val)
## The ID of the broadcaster that owns the video.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_id", val)
## The broadcaster's login name.
@export var user_login: String:
set(val):
user_login = val
track_data(&"user_login", val)
## The broadcaster's display name.
@export var user_name: String:
set(val):
user_name = val
track_data(&"user_name", val)
## The video's title.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## The video's description.
@export var description: String:
set(val):
description = val
track_data(&"description", val)
## The date and time, in UTC, of when the video was created. The timestamp is in RFC3339 format.
@export var created_at: String:
set(val):
created_at = val
track_data(&"created_at", val)
## The date and time, in UTC, of when the video was published. The timestamp is in RFC3339 format.
@export var published_at: String:
set(val):
published_at = val
track_data(&"published_at", val)
## The video's URL.
@export var url: String:
set(val):
url = val
track_data(&"url", val)
## A URL to a thumbnail image of the video. Before using the URL, you must replace the `%{width}` and `%{height}` placeholders with the width and height of the thumbnail you want returned. Due to current limitations, `${width}` must be 320 and `${height}` must be 180.
@export var thumbnail_url: String:
set(val):
thumbnail_url = val
track_data(&"thumbnail_url", val)
## The video's viewable state. Always set to **public**.
@export var viewable: String:
set(val):
viewable = val
track_data(&"viewable", val)
## The number of times that users have watched the video.
@export var view_count: int:
set(val):
view_count = val
track_data(&"view_count", val)
## The ISO 639-1 two-letter language code that the video was broadcast in. For example, the language code is DE if the video was broadcast in German. For a list of supported languages, see [Supported Stream Language](https://help.twitch.tv/s/article/languages-on-twitch#streamlang). The language value is "other" if the video was broadcast in a language not in the list of supported languages.
@export var language: String:
set(val):
language = val
track_data(&"language", val)
## The video's type. Possible values are:
##
## * archive — An on-demand video (VOD) of one of the broadcaster's past streams.
## * highlight — A highlight reel of one of the broadcaster's past streams. See [Creating Highlights](https://help.twitch.tv/s/article/creating-highlights-and-stream-markers).
## * upload — A video that the broadcaster uploaded to their video library. See Upload under [Video Producer](https://help.twitch.tv/s/article/video-on-demand?language=en%5FUS#videoproducer).
@export var type: String:
set(val):
type = val
track_data(&"type", val)
## The video's length in ISO 8601 duration format. For example, 3m21s represents 3 minutes, 21 seconds.
@export var duration: String:
set(val):
duration = val
track_data(&"duration", val)
## The segments that Twitch Audio Recognition muted; otherwise, **null**.
@export var muted_segments: Array[MutedSegments]:
set(val):
muted_segments = val
track_data(&"muted_segments", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _stream_id: String, _user_id: String, _user_login: String, _user_name: String, _title: String, _description: String, _created_at: String, _published_at: String, _url: String, _thumbnail_url: String, _viewable: String, _view_count: int, _language: String, _type: String, _duration: String, _muted_segments: Array[MutedSegments]) -> TwitchVideo:
var twitch_video: TwitchVideo = TwitchVideo.new()
twitch_video.id = _id
twitch_video.stream_id = _stream_id
twitch_video.user_id = _user_id
twitch_video.user_login = _user_login
twitch_video.user_name = _user_name
twitch_video.title = _title
twitch_video.description = _description
twitch_video.created_at = _created_at
twitch_video.published_at = _published_at
twitch_video.url = _url
twitch_video.thumbnail_url = _thumbnail_url
twitch_video.viewable = _viewable
twitch_video.view_count = _view_count
twitch_video.language = _language
twitch_video.type = _type
twitch_video.duration = _duration
twitch_video.muted_segments = _muted_segments
return twitch_video
static func from_json(d: Dictionary) -> TwitchVideo:
var result: TwitchVideo = TwitchVideo.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("stream_id", null) != null:
result.stream_id = d["stream_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("title", null) != null:
result.title = d["title"]
if d.get("description", null) != null:
result.description = d["description"]
if d.get("created_at", null) != null:
result.created_at = d["created_at"]
if d.get("published_at", null) != null:
result.published_at = d["published_at"]
if d.get("url", null) != null:
result.url = d["url"]
if d.get("thumbnail_url", null) != null:
result.thumbnail_url = d["thumbnail_url"]
if d.get("viewable", null) != null:
result.viewable = d["viewable"]
if d.get("view_count", null) != null:
result.view_count = d["view_count"]
if d.get("language", null) != null:
result.language = d["language"]
if d.get("type", null) != null:
result.type = d["type"]
if d.get("duration", null) != null:
result.duration = d["duration"]
if d.get("muted_segments", null) != null:
for value in d["muted_segments"]:
result.muted_segments.append(MutedSegments.from_json(value))
return result
## The segments that Twitch Audio Recognition muted; otherwise, **null**.
## #/components/schemas/Video/MutedSegments
class MutedSegments extends TwitchData:
## The duration of the muted segment, in seconds.
@export var duration: int:
set(val):
duration = val
track_data(&"duration", val)
## The offset, in seconds, from the beginning of the video to where the muted segment begins.
@export var offset: int:
set(val):
offset = val
track_data(&"offset", val)
## Constructor with all required fields.
static func create(_duration: int, _offset: int) -> MutedSegments:
var muted_segments: MutedSegments = MutedSegments.new()
muted_segments.duration = _duration
muted_segments.offset = _offset
return muted_segments
static func from_json(d: Dictionary) -> MutedSegments:
var result: MutedSegments = MutedSegments.new()
if d.get("duration", null) != null:
result.duration = d["duration"]
if d.get("offset", null) != null:
result.offset = d["offset"]
return result