215 lines
No EOL
7.1 KiB
GDScript
215 lines
No EOL
7.1 KiB
GDScript
@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
|
|
|