Initial Commit

Initial commit of Code Base.
This commit is contained in:
Mario Steele 2025-06-12 14:31:14 -05:00
parent 293b1213e1
commit c11a4ebbc2
653 changed files with 36893 additions and 1 deletions

View file

@ -0,0 +1,5 @@
# This folder is autogenerated via `res://addons/twitcher/editor/twitch_api_generator.gd`
All changes can be overriden very easily.
I case you want to add / change functionallity extend the classes or even better
use [composition over inheritance](https://en.wikipedia.org/wiki/Composition_over_inheritance)

View file

@ -0,0 +1,66 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchAddBlockedTerm
##
## #/components/schemas/AddBlockedTermBody
class Body extends TwitchData:
## The word or phrase to block from being used in the broadcasters chat room. The term must contain a minimum of 2 characters and may contain up to a maximum of 500 characters.
##
## Terms may include a wildcard character (\*). The wildcard character must appear at the beginning or end of a word or set of characters. For example, \*foo or foo\*.
##
## If the blocked term already exists, the response contains the existing blocked term.
@export var text: String:
set(val):
text = val
track_data(&"text", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_text: String) -> Body:
var body: Body = Body.new()
body.text = _text
return body
static func from_json(d: Dictionary) -> Body:
var result: Body = Body.new()
if d.get("text", null) != null:
result.text = d["text"]
return result
##
## #/components/schemas/AddBlockedTermResponse
class Response extends TwitchData:
## A list that contains the single blocked term that the broadcaster added.
@export var data: Array[TwitchBlockedTerm]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[TwitchBlockedTerm]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(TwitchBlockedTerm.from_json(value))
return result

View file

@ -0,0 +1 @@
uid://crmqbuhp7k7ms

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1 @@
uid://cw30cwveway65

View file

@ -0,0 +1,119 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/AutoModSettings
class_name TwitchAutoModSettings
## The broadcasters ID.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The moderators ID.
@export var moderator_id: String:
set(val):
moderator_id = val
track_data(&"moderator_id", val)
## The default AutoMod level for the broadcaster. This field is **null** if the broadcaster has set one or more of the individual settings.
@export var overall_level: int:
set(val):
overall_level = val
track_data(&"overall_level", val)
## The Automod level for discrimination against disability.
@export var disability: int:
set(val):
disability = val
track_data(&"disability", val)
## The Automod level for hostility involving aggression.
@export var aggression: int:
set(val):
aggression = val
track_data(&"aggression", val)
## The AutoMod level for discrimination based on sexuality, sex, or gender.
@export var sexuality_sex_or_gender: int:
set(val):
sexuality_sex_or_gender = val
track_data(&"sexuality_sex_or_gender", val)
## The Automod level for discrimination against women.
@export var misogyny: int:
set(val):
misogyny = val
track_data(&"misogyny", val)
## The Automod level for hostility involving name calling or insults.
@export var bullying: int:
set(val):
bullying = val
track_data(&"bullying", val)
## The Automod level for profanity.
@export var swearing: int:
set(val):
swearing = val
track_data(&"swearing", val)
## The Automod level for racial discrimination.
@export var race_ethnicity_or_religion: int:
set(val):
race_ethnicity_or_religion = val
track_data(&"race_ethnicity_or_religion", val)
## The Automod level for sexual content.
@export var sex_based_terms: int:
set(val):
sex_based_terms = val
track_data(&"sex_based_terms", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_id: String, _moderator_id: String, _overall_level: int, _disability: int, _aggression: int, _sexuality_sex_or_gender: int, _misogyny: int, _bullying: int, _swearing: int, _race_ethnicity_or_religion: int, _sex_based_terms: int) -> TwitchAutoModSettings:
var twitch_auto_mod_settings: TwitchAutoModSettings = TwitchAutoModSettings.new()
twitch_auto_mod_settings.broadcaster_id = _broadcaster_id
twitch_auto_mod_settings.moderator_id = _moderator_id
twitch_auto_mod_settings.overall_level = _overall_level
twitch_auto_mod_settings.disability = _disability
twitch_auto_mod_settings.aggression = _aggression
twitch_auto_mod_settings.sexuality_sex_or_gender = _sexuality_sex_or_gender
twitch_auto_mod_settings.misogyny = _misogyny
twitch_auto_mod_settings.bullying = _bullying
twitch_auto_mod_settings.swearing = _swearing
twitch_auto_mod_settings.race_ethnicity_or_religion = _race_ethnicity_or_religion
twitch_auto_mod_settings.sex_based_terms = _sex_based_terms
return twitch_auto_mod_settings
static func from_json(d: Dictionary) -> TwitchAutoModSettings:
var result: TwitchAutoModSettings = TwitchAutoModSettings.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("moderator_id", null) != null:
result.moderator_id = d["moderator_id"]
if d.get("overall_level", null) != null:
result.overall_level = d["overall_level"]
if d.get("disability", null) != null:
result.disability = d["disability"]
if d.get("aggression", null) != null:
result.aggression = d["aggression"]
if d.get("sexuality_sex_or_gender", null) != null:
result.sexuality_sex_or_gender = d["sexuality_sex_or_gender"]
if d.get("misogyny", null) != null:
result.misogyny = d["misogyny"]
if d.get("bullying", null) != null:
result.bullying = d["bullying"]
if d.get("swearing", null) != null:
result.swearing = d["swearing"]
if d.get("race_ethnicity_or_religion", null) != null:
result.race_ethnicity_or_religion = d["race_ethnicity_or_religion"]
if d.get("sex_based_terms", null) != null:
result.sex_based_terms = d["sex_based_terms"]
return result

View file

@ -0,0 +1 @@
uid://da1xnqcvu7tc0

View file

@ -0,0 +1,38 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/AutoModStatus
class_name TwitchAutoModStatus
## The caller-defined ID passed in the request.
@export var msg_id: String:
set(val):
msg_id = val
track_data(&"msg_id", val)
## A Boolean value that indicates whether Twitch would approve the message for chat or hold it for moderator review or block it from chat. Is **true** if Twitch would approve the message; otherwise, **false** if Twitch would hold the message for moderator review or block it from chat.
@export var is_permitted: bool:
set(val):
is_permitted = val
track_data(&"is_permitted", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_msg_id: String, _is_permitted: bool) -> TwitchAutoModStatus:
var twitch_auto_mod_status: TwitchAutoModStatus = TwitchAutoModStatus.new()
twitch_auto_mod_status.msg_id = _msg_id
twitch_auto_mod_status.is_permitted = _is_permitted
return twitch_auto_mod_status
static func from_json(d: Dictionary) -> TwitchAutoModStatus:
var result: TwitchAutoModStatus = TwitchAutoModStatus.new()
if d.get("msg_id", null) != null:
result.msg_id = d["msg_id"]
if d.get("is_permitted", null) != null:
result.is_permitted = d["is_permitted"]
return result

View file

@ -0,0 +1 @@
uid://ysgxjcmt1nul

View file

@ -0,0 +1,172 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchBanUser
##
## #/components/schemas/BanUserBody
class Body extends TwitchData:
## Identifies the user and type of ban.
@export var data: BodyData:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: BodyData) -> Body:
var body: Body = Body.new()
body.data = _data
return body
static func from_json(d: Dictionary) -> Body:
var result: Body = Body.new()
if d.get("data", null) != null:
result.data = BodyData.from_json(d["data"])
return result
## Identifies the user and type of ban.
## #/components/schemas/BanUserBody/Data
class BodyData extends TwitchData:
## The ID of the user to ban or put in a timeout.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_id", val)
## To ban a user indefinitely, dont include this field.
##
## To put a user in a timeout, include this field and specify the timeout period, in seconds. The minimum timeout is 1 second and the maximum is 1,209,600 seconds (2 weeks).
##
## To end a users timeout early, set this field to 1, or use the [Unban user](https://dev.twitch.tv/docs/api/reference#unban-user) endpoint.
@export var duration: int:
set(val):
duration = val
track_data(&"duration", val)
## The reason the youre banning the user or putting them in a timeout. The text is user defined and is limited to a maximum of 500 characters.
@export var reason: String:
set(val):
reason = val
track_data(&"reason", val)
## Constructor with all required fields.
static func create(_user_id: String) -> BodyData:
var body_data: BodyData = BodyData.new()
body_data.user_id = _user_id
return body_data
static func from_json(d: Dictionary) -> BodyData:
var result: BodyData = BodyData.new()
if d.get("user_id", null) != null:
result.user_id = d["user_id"]
if d.get("duration", null) != null:
result.duration = d["duration"]
if d.get("reason", null) != null:
result.reason = d["reason"]
return result
##
## #/components/schemas/BanUserResponse
class Response extends TwitchData:
## A list that contains the user you successfully banned or put in a timeout.
@export var data: Array[ResponseData]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[ResponseData]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(ResponseData.from_json(value))
return result
## A list that contains the user you successfully banned or put in a timeout.
## #/components/schemas/BanUserResponse/Data
class ResponseData extends TwitchData:
## The broadcaster whose chat room the user was banned from chatting in.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The moderator that banned or put the user in the timeout.
@export var moderator_id: String:
set(val):
moderator_id = val
track_data(&"moderator_id", val)
## The user that was banned or put in a timeout.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_id", val)
## The UTC date and time (in RFC3339 format) that the ban or timeout was placed.
@export var created_at: String:
set(val):
created_at = val
track_data(&"created_at", val)
## The UTC date and time (in RFC3339 format) that the timeout will end. Is **null** if the user was banned instead of being put in a timeout.
@export var end_time: String:
set(val):
end_time = val
track_data(&"end_time", val)
## Constructor with all required fields.
static func create(_broadcaster_id: String, _moderator_id: String, _user_id: String, _created_at: String, _end_time: String) -> ResponseData:
var response_data: ResponseData = ResponseData.new()
response_data.broadcaster_id = _broadcaster_id
response_data.moderator_id = _moderator_id
response_data.user_id = _user_id
response_data.created_at = _created_at
response_data.end_time = _end_time
return response_data
static func from_json(d: Dictionary) -> ResponseData:
var result: ResponseData = ResponseData.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("moderator_id", null) != null:
result.moderator_id = d["moderator_id"]
if d.get("user_id", null) != null:
result.user_id = d["user_id"]
if d.get("created_at", null) != null:
result.created_at = d["created_at"]
if d.get("end_time", null) != null:
result.end_time = d["end_time"]
return result

View file

@ -0,0 +1 @@
uid://by54cigjuq85x

View file

@ -0,0 +1,101 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/BannedUser
class_name TwitchBannedUser
## The ID of the banned user.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_id", val)
## The banned users login name.
@export var user_login: String:
set(val):
user_login = val
track_data(&"user_login", val)
## The banned users display name.
@export var user_name: String:
set(val):
user_name = val
track_data(&"user_name", val)
## The UTC date and time (in RFC3339 format) of when the timeout expires, or an empty string if the user is permanently banned.
@export var expires_at: String:
set(val):
expires_at = val
track_data(&"expires_at", val)
## The UTC date and time (in RFC3339 format) of when the user was banned.
@export var created_at: String:
set(val):
created_at = val
track_data(&"created_at", val)
## The reason the user was banned or put in a timeout if the moderator provided one.
@export var reason: String:
set(val):
reason = val
track_data(&"reason", val)
## The ID of the moderator that banned the user or put them in a timeout.
@export var moderator_id: String:
set(val):
moderator_id = val
track_data(&"moderator_id", val)
## The moderators login name.
@export var moderator_login: String:
set(val):
moderator_login = val
track_data(&"moderator_login", val)
## The moderators display name.
@export var moderator_name: String:
set(val):
moderator_name = val
track_data(&"moderator_name", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_user_id: String, _user_login: String, _user_name: String, _expires_at: String, _created_at: String, _reason: String, _moderator_id: String, _moderator_login: String, _moderator_name: String) -> TwitchBannedUser:
var twitch_banned_user: TwitchBannedUser = TwitchBannedUser.new()
twitch_banned_user.user_id = _user_id
twitch_banned_user.user_login = _user_login
twitch_banned_user.user_name = _user_name
twitch_banned_user.expires_at = _expires_at
twitch_banned_user.created_at = _created_at
twitch_banned_user.reason = _reason
twitch_banned_user.moderator_id = _moderator_id
twitch_banned_user.moderator_login = _moderator_login
twitch_banned_user.moderator_name = _moderator_name
return twitch_banned_user
static func from_json(d: Dictionary) -> TwitchBannedUser:
var result: TwitchBannedUser = TwitchBannedUser.new()
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("expires_at", null) != null:
result.expires_at = d["expires_at"]
if d.get("created_at", null) != null:
result.created_at = d["created_at"]
if d.get("reason", null) != null:
result.reason = d["reason"]
if d.get("moderator_id", null) != null:
result.moderator_id = d["moderator_id"]
if d.get("moderator_login", null) != null:
result.moderator_login = d["moderator_login"]
if d.get("moderator_name", null) != null:
result.moderator_name = d["moderator_name"]
return result

View file

@ -0,0 +1 @@
uid://btn5nmya3pbly

View file

@ -0,0 +1,65 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/BitsLeaderboard
class_name TwitchBitsLeaderboard
## An ID that identifies a user on the leaderboard.
@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 users position on the leaderboard.
@export var rank: int:
set(val):
rank = val
track_data(&"rank", val)
## The number of Bits the user has cheered.
@export var score: int:
set(val):
score = val
track_data(&"score", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_user_id: String, _user_login: String, _user_name: String, _rank: int, _score: int) -> TwitchBitsLeaderboard:
var twitch_bits_leaderboard: TwitchBitsLeaderboard = TwitchBitsLeaderboard.new()
twitch_bits_leaderboard.user_id = _user_id
twitch_bits_leaderboard.user_login = _user_login
twitch_bits_leaderboard.user_name = _user_name
twitch_bits_leaderboard.rank = _rank
twitch_bits_leaderboard.score = _score
return twitch_bits_leaderboard
static func from_json(d: Dictionary) -> TwitchBitsLeaderboard:
var result: TwitchBitsLeaderboard = TwitchBitsLeaderboard.new()
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("rank", null) != null:
result.rank = d["rank"]
if d.get("score", null) != null:
result.score = d["score"]
return result

View file

@ -0,0 +1 @@
uid://ds3gv8nlj3sym

View file

@ -0,0 +1,50 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchBlockUser
## All optional parameters for TwitchAPI.block_user
## #/components/schemas/BlockUserOpt
class Opt extends TwitchData:
## The location where the harassment took place that is causing the brodcaster to block the user. Possible values are:
##
## * chat
## * whisper
##
## .
@export var source_context: String:
set(val):
source_context = val
track_data(&"source_context", val)
## The reason that the broadcaster is blocking the user. Possible values are:
##
## * harassment
## * spam
## * other
@export var reason: String:
set(val):
reason = val
track_data(&"reason", val)
## Constructor with all required fields.
static func create() -> Opt:
var opt: Opt = Opt.new()
return opt
static func from_json(d: Dictionary) -> Opt:
var result: Opt = Opt.new()
if d.get("source_context", null) != null:
result.source_context = d["source_context"]
if d.get("reason", null) != null:
result.reason = d["reason"]
return result

View file

@ -0,0 +1 @@
uid://cfvd224a7lj8w

View file

@ -0,0 +1,87 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/BlockedTerm
class_name TwitchBlockedTerm
## The broadcaster that owns the list of blocked terms.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The moderator that blocked the word or phrase from being used in the broadcasters chat room.
@export var moderator_id: String:
set(val):
moderator_id = val
track_data(&"moderator_id", val)
## An ID that identifies this blocked term.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The blocked word or phrase.
@export var text: String:
set(val):
text = val
track_data(&"text", val)
## The UTC date and time (in RFC3339 format) that the term was blocked.
@export var created_at: String:
set(val):
created_at = val
track_data(&"created_at", val)
## The UTC date and time (in RFC3339 format) that the term was updated.
##
## When the term is added, this timestamp is the same as `created_at`. The timestamp changes as AutoMod continues to deny the term.
@export var updated_at: String:
set(val):
updated_at = val
track_data(&"updated_at", val)
## The UTC date and time (in RFC3339 format) that the blocked term is set to expire. After the block expires, users may use the term in the broadcasters chat room.
##
## This field is **null** if the term was added manually or was permanently blocked by AutoMod.
@export var expires_at: String:
set(val):
expires_at = val
track_data(&"expires_at", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_id: String, _moderator_id: String, _id: String, _text: String, _created_at: String, _updated_at: String, _expires_at: String) -> TwitchBlockedTerm:
var twitch_blocked_term: TwitchBlockedTerm = TwitchBlockedTerm.new()
twitch_blocked_term.broadcaster_id = _broadcaster_id
twitch_blocked_term.moderator_id = _moderator_id
twitch_blocked_term.id = _id
twitch_blocked_term.text = _text
twitch_blocked_term.created_at = _created_at
twitch_blocked_term.updated_at = _updated_at
twitch_blocked_term.expires_at = _expires_at
return twitch_blocked_term
static func from_json(d: Dictionary) -> TwitchBlockedTerm:
var result: TwitchBlockedTerm = TwitchBlockedTerm.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("moderator_id", null) != null:
result.moderator_id = d["moderator_id"]
if d.get("id", null) != null:
result.id = d["id"]
if d.get("text", null) != null:
result.text = d["text"]
if d.get("created_at", null) != null:
result.created_at = d["created_at"]
if d.get("updated_at", null) != null:
result.updated_at = d["updated_at"]
if d.get("expires_at", null) != null:
result.expires_at = d["expires_at"]
return result

View file

@ -0,0 +1 @@
uid://dut1o64kt25wi

View file

@ -0,0 +1,132 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/BroadcasterSubscription
class_name TwitchBroadcasterSubscription
## An ID that identifies the broadcaster.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The broadcasters login name.
@export var broadcaster_login: String:
set(val):
broadcaster_login = val
track_data(&"broadcaster_login", val)
## The broadcasters display name.
@export var broadcaster_name: String:
set(val):
broadcaster_name = val
track_data(&"broadcaster_name", val)
## The ID of the user that gifted the subscription to the user. Is an empty string if `is_gift` is **false**.
@export var gifter_id: String:
set(val):
gifter_id = val
track_data(&"gifter_id", val)
## The gifters login name. Is an empty string if `is_gift` is **false**.
@export var gifter_login: String:
set(val):
gifter_login = val
track_data(&"gifter_login", val)
## The gifters display name. Is an empty string if `is_gift` is **false**.
@export var gifter_name: String:
set(val):
gifter_name = val
track_data(&"gifter_name", val)
## A Boolean value that determines whether the subscription is a gift subscription. Is **true** if the subscription was gifted.
@export var is_gift: bool:
set(val):
is_gift = val
track_data(&"is_gift", val)
## The name of the subscription.
@export var plan_name: String:
set(val):
plan_name = val
track_data(&"plan_name", val)
## The type of subscription. Possible values are:
##
## * 1000 — Tier 1
## * 2000 — Tier 2
## * 3000 — Tier 3
@export var tier: String:
set(val):
tier = val
track_data(&"tier", val)
## An ID that identifies the subscribing user.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_id", val)
## The users display name.
@export var user_name: String:
set(val):
user_name = val
track_data(&"user_name", val)
## The users login name.
@export var user_login: String:
set(val):
user_login = val
track_data(&"user_login", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_id: String, _broadcaster_login: String, _broadcaster_name: String, _gifter_id: String, _gifter_login: String, _gifter_name: String, _is_gift: bool, _plan_name: String, _tier: String, _user_id: String, _user_name: String, _user_login: String) -> TwitchBroadcasterSubscription:
var twitch_broadcaster_subscription: TwitchBroadcasterSubscription = TwitchBroadcasterSubscription.new()
twitch_broadcaster_subscription.broadcaster_id = _broadcaster_id
twitch_broadcaster_subscription.broadcaster_login = _broadcaster_login
twitch_broadcaster_subscription.broadcaster_name = _broadcaster_name
twitch_broadcaster_subscription.gifter_id = _gifter_id
twitch_broadcaster_subscription.gifter_login = _gifter_login
twitch_broadcaster_subscription.gifter_name = _gifter_name
twitch_broadcaster_subscription.is_gift = _is_gift
twitch_broadcaster_subscription.plan_name = _plan_name
twitch_broadcaster_subscription.tier = _tier
twitch_broadcaster_subscription.user_id = _user_id
twitch_broadcaster_subscription.user_name = _user_name
twitch_broadcaster_subscription.user_login = _user_login
return twitch_broadcaster_subscription
static func from_json(d: Dictionary) -> TwitchBroadcasterSubscription:
var result: TwitchBroadcasterSubscription = TwitchBroadcasterSubscription.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("broadcaster_login", null) != null:
result.broadcaster_login = d["broadcaster_login"]
if d.get("broadcaster_name", null) != null:
result.broadcaster_name = d["broadcaster_name"]
if d.get("gifter_id", null) != null:
result.gifter_id = d["gifter_id"]
if d.get("gifter_login", null) != null:
result.gifter_login = d["gifter_login"]
if d.get("gifter_name", null) != null:
result.gifter_name = d["gifter_name"]
if d.get("is_gift", null) != null:
result.is_gift = d["is_gift"]
if d.get("plan_name", null) != null:
result.plan_name = d["plan_name"]
if d.get("tier", null) != null:
result.tier = d["tier"]
if d.get("user_id", null) != null:
result.user_id = d["user_id"]
if d.get("user_name", null) != null:
result.user_name = d["user_name"]
if d.get("user_login", null) != null:
result.user_login = d["user_login"]
return result

View file

@ -0,0 +1 @@
uid://dwjgwneb8uxui

View file

@ -0,0 +1,47 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/Category
class_name TwitchCategory
## A URL to an image of the games box art or streaming category.
@export var box_art_url: String:
set(val):
box_art_url = val
track_data(&"box_art_url", val)
## The name of the game or category.
@export var name: String:
set(val):
name = val
track_data(&"name", val)
## An ID that uniquely identifies the game or category.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_box_art_url: String, _name: String, _id: String) -> TwitchCategory:
var twitch_category: TwitchCategory = TwitchCategory.new()
twitch_category.box_art_url = _box_art_url
twitch_category.name = _name
twitch_category.id = _id
return twitch_category
static func from_json(d: Dictionary) -> TwitchCategory:
var result: TwitchCategory = TwitchCategory.new()
if d.get("box_art_url", null) != null:
result.box_art_url = d["box_art_url"]
if d.get("name", null) != null:
result.name = d["name"]
if d.get("id", null) != null:
result.id = d["id"]
return result

View file

@ -0,0 +1 @@
uid://be2yia4ctewtx

View file

@ -0,0 +1,132 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/Channel
class_name TwitchChannel
## The ISO 639-1 two-letter language code of the language used by the broadcaster. For example, _en_ for English. If the broadcaster uses a language not in the list of [supported stream languages](https://help.twitch.tv/s/article/languages-on-twitch#streamlang), the value is _other_.
@export var broadcaster_language: String:
set(val):
broadcaster_language = val
track_data(&"broadcaster_language", val)
## The broadcasters login name.
@export var broadcaster_login: String:
set(val):
broadcaster_login = val
track_data(&"broadcaster_login", val)
## The broadcasters display name.
@export var display_name: String:
set(val):
display_name = val
track_data(&"display_name", val)
## The ID of the game that the broadcaster is playing or last played.
@export var game_id: String:
set(val):
game_id = val
track_data(&"game_id", val)
## The name of the game that the broadcaster is playing or last played.
@export var game_name: String:
set(val):
game_name = val
track_data(&"game_name", val)
## An ID that uniquely identifies the channel (this is the broadcasters ID).
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## A Boolean value that determines whether the broadcaster is streaming live. Is **true** if the broadcaster is streaming live; otherwise, **false**.
@export var is_live: bool:
set(val):
is_live = val
track_data(&"is_live", 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 channel.
@export var tags: Array[String]:
set(val):
tags = val
track_data(&"tags", val)
## A URL to a thumbnail of the broadcasters profile image.
@export var thumbnail_url: String:
set(val):
thumbnail_url = val
track_data(&"thumbnail_url", val)
## The streams title. Is an empty string if the broadcaster didnt set it.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## The UTC date and time (in RFC3339 format) of when the broadcaster started streaming. The string is empty if the broadcaster is not streaming live.
@export var started_at: String:
set(val):
started_at = val
track_data(&"started_at", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_language: String, _broadcaster_login: String, _display_name: String, _game_id: String, _game_name: String, _id: String, _is_live: bool, _tag_ids: Array[String], _tags: Array[String], _thumbnail_url: String, _title: String, _started_at: String) -> TwitchChannel:
var twitch_channel: TwitchChannel = TwitchChannel.new()
twitch_channel.broadcaster_language = _broadcaster_language
twitch_channel.broadcaster_login = _broadcaster_login
twitch_channel.display_name = _display_name
twitch_channel.game_id = _game_id
twitch_channel.game_name = _game_name
twitch_channel.id = _id
twitch_channel.is_live = _is_live
twitch_channel.tag_ids = _tag_ids
twitch_channel.tags = _tags
twitch_channel.thumbnail_url = _thumbnail_url
twitch_channel.title = _title
twitch_channel.started_at = _started_at
return twitch_channel
static func from_json(d: Dictionary) -> TwitchChannel:
var result: TwitchChannel = TwitchChannel.new()
if d.get("broadcaster_language", null) != null:
result.broadcaster_language = d["broadcaster_language"]
if d.get("broadcaster_login", null) != null:
result.broadcaster_login = d["broadcaster_login"]
if d.get("display_name", null) != null:
result.display_name = d["display_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("id", null) != null:
result.id = d["id"]
if d.get("is_live", null) != null:
result.is_live = d["is_live"]
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("thumbnail_url", null) != null:
result.thumbnail_url = d["thumbnail_url"]
if d.get("title", null) != null:
result.title = d["title"]
if d.get("started_at", null) != null:
result.started_at = d["started_at"]
return result

View file

@ -0,0 +1 @@
uid://b77eemd6nsdjf

View file

@ -0,0 +1,47 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/ChannelEditor
class_name TwitchChannelEditor
## An ID that uniquely identifies a user with editor permissions.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_id", val)
## The users display name.
@export var user_name: String:
set(val):
user_name = val
track_data(&"user_name", val)
## The date and time, in RFC3339 format, when the user became one of the broadcasters editors.
@export var created_at: String:
set(val):
created_at = val
track_data(&"created_at", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_user_id: String, _user_name: String, _created_at: String) -> TwitchChannelEditor:
var twitch_channel_editor: TwitchChannelEditor = TwitchChannelEditor.new()
twitch_channel_editor.user_id = _user_id
twitch_channel_editor.user_name = _user_name
twitch_channel_editor.created_at = _created_at
return twitch_channel_editor
static func from_json(d: Dictionary) -> TwitchChannelEditor:
var result: TwitchChannelEditor = TwitchChannelEditor.new()
if d.get("user_id", null) != null:
result.user_id = d["user_id"]
if d.get("user_name", null) != null:
result.user_name = d["user_name"]
if d.get("created_at", null) != null:
result.created_at = d["created_at"]
return result

View file

@ -0,0 +1 @@
uid://ceah5b3esf15j

View file

@ -0,0 +1,168 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/ChannelEmote
class_name TwitchChannelEmote
## An ID that identifies this emote.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The name of the emote. This is the name that viewers type in the chat window to get the emote to appear.
@export var name: String:
set(val):
name = val
track_data(&"name", val)
## The image URLs for the emote. These image URLs always provide a static, non-animated emote image with a light background.
##
## **NOTE:** You should use the templated URL in the `template` field to fetch the image instead of using these URLs.
@export var images: Images:
set(val):
images = val
track_data(&"images", val)
## The subscriber tier at which the emote is unlocked. This field contains the tier information only if `emote_type` is set to `subscriptions`, otherwise, it's an empty string.
@export var tier: String:
set(val):
tier = val
track_data(&"tier", val)
## The type of emote. The possible values are:
##
## * bitstier — A custom Bits tier emote.
## * follower — A custom follower emote.
## * subscriptions — A custom subscriber emote.
@export var emote_type: String:
set(val):
emote_type = val
track_data(&"emote_type", val)
## An ID that identifies the emote set that the emote belongs to.
@export var emote_set_id: String:
set(val):
emote_set_id = val
track_data(&"emote_set_id", val)
## The formats that the emote is available in. For example, if the emote is available only as a static PNG, the array contains only `static`. But if the emote is available as a static PNG and an animated GIF, the array contains `static` and `animated`. The possible formats are:
##
## * animated — An animated GIF is available for this emote.
## * static — A static PNG file is available for this emote.
@export var format: Array[String]:
set(val):
format = val
track_data(&"format", val)
## The sizes that the emote is available in. For example, if the emote is available in small and medium sizes, the array contains 1.0 and 2.0\. Possible sizes are:
##
## * 1.0 — A small version (28px x 28px) is available.
## * 2.0 — A medium version (56px x 56px) is available.
## * 3.0 — A large version (112px x 112px) is available.
@export var scale: Array[String]:
set(val):
scale = val
track_data(&"scale", val)
## The background themes that the emote is available in. Possible themes are:
##
## * dark
## * light
@export var theme_mode: Array[String]:
set(val):
theme_mode = val
track_data(&"theme_mode", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _name: String, _images: Images, _tier: String, _emote_type: String, _emote_set_id: String, _format: Array[String], _scale: Array[String], _theme_mode: Array[String]) -> TwitchChannelEmote:
var twitch_channel_emote: TwitchChannelEmote = TwitchChannelEmote.new()
twitch_channel_emote.id = _id
twitch_channel_emote.name = _name
twitch_channel_emote.images = _images
twitch_channel_emote.tier = _tier
twitch_channel_emote.emote_type = _emote_type
twitch_channel_emote.emote_set_id = _emote_set_id
twitch_channel_emote.format = _format
twitch_channel_emote.scale = _scale
twitch_channel_emote.theme_mode = _theme_mode
return twitch_channel_emote
static func from_json(d: Dictionary) -> TwitchChannelEmote:
var result: TwitchChannelEmote = TwitchChannelEmote.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("name", null) != null:
result.name = d["name"]
if d.get("images", null) != null:
result.images = Images.from_json(d["images"])
if d.get("tier", null) != null:
result.tier = d["tier"]
if d.get("emote_type", null) != null:
result.emote_type = d["emote_type"]
if d.get("emote_set_id", null) != null:
result.emote_set_id = d["emote_set_id"]
if d.get("format", null) != null:
for value in d["format"]:
result.format.append(value)
if d.get("scale", null) != null:
for value in d["scale"]:
result.scale.append(value)
if d.get("theme_mode", null) != null:
for value in d["theme_mode"]:
result.theme_mode.append(value)
return result
## The image URLs for the emote. These image URLs always provide a static, non-animated emote image with a light background.
##
## **NOTE:** You should use the templated URL in the `template` field to fetch the image instead of using these URLs.
## #/components/schemas/ChannelEmote/Images
class Images extends TwitchData:
## A URL to the small version (28px x 28px) of the emote.
@export var url_1x: String:
set(val):
url_1x = val
track_data(&"url_1x", val)
## A URL to the medium version (56px x 56px) of the emote.
@export var url_2x: String:
set(val):
url_2x = val
track_data(&"url_2x", val)
## A URL to the large version (112px x 112px) of the emote.
@export var url_4x: String:
set(val):
url_4x = val
track_data(&"url_4x", val)
## Constructor with all required fields.
static func create(_url_1x: String, _url_2x: String, _url_4x: String) -> Images:
var images: Images = Images.new()
images.url_1x = _url_1x
images.url_2x = _url_2x
images.url_4x = _url_4x
return images
static func from_json(d: Dictionary) -> Images:
var result: Images = Images.new()
if d.get("url_1x", null) != null:
result.url_1x = d["url_1x"]
if d.get("url_2x", null) != null:
result.url_2x = d["url_2x"]
if d.get("url_4x", null) != null:
result.url_4x = d["url_4x"]
return result

View file

@ -0,0 +1 @@
uid://dsi08lylfjtyy

View file

@ -0,0 +1,121 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/ChannelInformation
class_name TwitchChannelInformation
## An ID that uniquely identifies the broadcaster.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The broadcasters login name.
@export var broadcaster_login: String:
set(val):
broadcaster_login = val
track_data(&"broadcaster_login", val)
## The broadcasters display name.
@export var broadcaster_name: String:
set(val):
broadcaster_name = val
track_data(&"broadcaster_name", val)
## The broadcasters preferred language. The value is an ISO 639-1 two-letter language code (for example, _en_ for English). The value is set to “other” if the language is not a Twitch supported language.
@export var broadcaster_language: String:
set(val):
broadcaster_language = val
track_data(&"broadcaster_language", val)
## The name of the game that the broadcaster is playing or last played. The value is an empty string if the broadcaster has never played a game.
@export var game_name: String:
set(val):
game_name = val
track_data(&"game_name", val)
## An ID that uniquely identifies the game that the broadcaster is playing or last played. The value is an empty string if the broadcaster has never played a game.
@export var game_id: String:
set(val):
game_id = val
track_data(&"game_id", val)
## The title of the stream that the broadcaster is currently streaming or last streamed. The value is an empty string if the broadcaster has never streamed.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## The value of the broadcasters stream delay setting, in seconds. This fields value defaults to zero unless 1) the request specifies a user access token, 2) the ID in the _broadcaster\_id_ query parameter matches the user ID in the access token, and 3) the broadcaster has partner status and they set a non-zero stream delay value.
@export var delay: int:
set(val):
delay = val
track_data(&"delay", val)
## The tags applied to the channel.
@export var tags: Array[String]:
set(val):
tags = val
track_data(&"tags", val)
## The CCLs applied to the channel.
@export var content_classification_labels: Array[String]:
set(val):
content_classification_labels = val
track_data(&"content_classification_labels", val)
## Boolean flag indicating if the channel has branded content.
@export var is_branded_content: bool:
set(val):
is_branded_content = val
track_data(&"is_branded_content", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_id: String, _broadcaster_login: String, _broadcaster_name: String, _broadcaster_language: String, _game_name: String, _game_id: String, _title: String, _delay: int, _tags: Array[String], _content_classification_labels: Array[String], _is_branded_content: bool) -> TwitchChannelInformation:
var twitch_channel_information: TwitchChannelInformation = TwitchChannelInformation.new()
twitch_channel_information.broadcaster_id = _broadcaster_id
twitch_channel_information.broadcaster_login = _broadcaster_login
twitch_channel_information.broadcaster_name = _broadcaster_name
twitch_channel_information.broadcaster_language = _broadcaster_language
twitch_channel_information.game_name = _game_name
twitch_channel_information.game_id = _game_id
twitch_channel_information.title = _title
twitch_channel_information.delay = _delay
twitch_channel_information.tags = _tags
twitch_channel_information.content_classification_labels = _content_classification_labels
twitch_channel_information.is_branded_content = _is_branded_content
return twitch_channel_information
static func from_json(d: Dictionary) -> TwitchChannelInformation:
var result: TwitchChannelInformation = TwitchChannelInformation.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("broadcaster_login", null) != null:
result.broadcaster_login = d["broadcaster_login"]
if d.get("broadcaster_name", null) != null:
result.broadcaster_name = d["broadcaster_name"]
if d.get("broadcaster_language", null) != null:
result.broadcaster_language = d["broadcaster_language"]
if d.get("game_name", null) != null:
result.game_name = d["game_name"]
if d.get("game_id", null) != null:
result.game_id = d["game_id"]
if d.get("title", null) != null:
result.title = d["title"]
if d.get("delay", null) != null:
result.delay = d["delay"]
if d.get("tags", null) != null:
for value in d["tags"]:
result.tags.append(value)
if d.get("content_classification_labels", null) != null:
for value in d["content_classification_labels"]:
result.content_classification_labels.append(value)
if d.get("is_branded_content", null) != null:
result.is_branded_content = d["is_branded_content"]
return result

View file

@ -0,0 +1 @@
uid://cpne5mqp80ogl

View file

@ -0,0 +1,120 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/ChannelStreamScheduleSegment
class_name TwitchChannelStreamScheduleSegment
## An ID that identifies this broadcast segment.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The UTC date and time (in RFC3339 format) of when the broadcast starts.
@export var start_time: String:
set(val):
start_time = val
track_data(&"start_time", val)
## The UTC date and time (in RFC3339 format) of when the broadcast ends.
@export var end_time: String:
set(val):
end_time = val
track_data(&"end_time", val)
## The broadcast segments title.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## Indicates whether the broadcaster canceled this segment of a recurring broadcast. If the broadcaster canceled this segment, this field is set to the same value thats in the `end_time` field; otherwise, its set to **null**.
@export var canceled_until: String:
set(val):
canceled_until = val
track_data(&"canceled_until", val)
## The type of content that the broadcaster plans to stream or **null** if not specified.
@export var category: Category:
set(val):
category = val
track_data(&"category", val)
## A Boolean value that determines whether the broadcast is part of a recurring series that streams at the same time each week or is a one-time broadcast. Is **true** if the broadcast is part of a recurring series.
@export var is_recurring: bool:
set(val):
is_recurring = val
track_data(&"is_recurring", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _start_time: String, _end_time: String, _title: String, _canceled_until: String, _category: Category, _is_recurring: bool) -> TwitchChannelStreamScheduleSegment:
var twitch_channel_stream_schedule_segment: TwitchChannelStreamScheduleSegment = TwitchChannelStreamScheduleSegment.new()
twitch_channel_stream_schedule_segment.id = _id
twitch_channel_stream_schedule_segment.start_time = _start_time
twitch_channel_stream_schedule_segment.end_time = _end_time
twitch_channel_stream_schedule_segment.title = _title
twitch_channel_stream_schedule_segment.canceled_until = _canceled_until
twitch_channel_stream_schedule_segment.category = _category
twitch_channel_stream_schedule_segment.is_recurring = _is_recurring
return twitch_channel_stream_schedule_segment
static func from_json(d: Dictionary) -> TwitchChannelStreamScheduleSegment:
var result: TwitchChannelStreamScheduleSegment = TwitchChannelStreamScheduleSegment.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("start_time", null) != null:
result.start_time = d["start_time"]
if d.get("end_time", null) != null:
result.end_time = d["end_time"]
if d.get("title", null) != null:
result.title = d["title"]
if d.get("canceled_until", null) != null:
result.canceled_until = d["canceled_until"]
if d.get("category", null) != null:
result.category = Category.from_json(d["category"])
if d.get("is_recurring", null) != null:
result.is_recurring = d["is_recurring"]
return result
## The type of content that the broadcaster plans to stream or **null** if not specified.
## #/components/schemas/ChannelStreamScheduleSegment/Category
class Category extends TwitchData:
## An ID that identifies the category that best represents the content that the broadcaster plans to stream. For example, the games ID if the broadcaster will play a game or the Just Chatting ID if the broadcaster will host a talk show.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The name of the category. For example, the games title if the broadcaster will play a game or Just Chatting if the broadcaster will host a talk show.
@export var name: String:
set(val):
name = val
track_data(&"name", val)
## Constructor with all required fields.
static func create(_id: String, _name: String) -> Category:
var category: Category = Category.new()
category.id = _id
category.name = _name
return category
static func from_json(d: Dictionary) -> Category:
var result: Category = Category.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("name", null) != null:
result.name = d["name"]
return result

View file

@ -0,0 +1 @@
uid://cnuxysxl4ho1

View file

@ -0,0 +1,128 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/ChannelTeam
class_name TwitchChannelTeam
## An ID that identifies the broadcaster.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The broadcasters login name.
@export var broadcaster_login: String:
set(val):
broadcaster_login = val
track_data(&"broadcaster_login", val)
## The broadcasters display name.
@export var broadcaster_name: String:
set(val):
broadcaster_name = val
track_data(&"broadcaster_name", val)
## A URL to the teams background image.
@export var background_image_url: String:
set(val):
background_image_url = val
track_data(&"background_image_url", val)
## A URL to the teams banner.
@export var banner: String:
set(val):
banner = val
track_data(&"banner", val)
## The UTC date and time (in RFC3339 format) of when the team was created.
@export var created_at: String:
set(val):
created_at = val
track_data(&"created_at", val)
## The UTC date and time (in RFC3339 format) of the last time the team was updated.
@export var updated_at: String:
set(val):
updated_at = val
track_data(&"updated_at", val)
## The teams description. The description may contain formatting such as Markdown, HTML, newline (\\n) characters, etc.
@export var info: String:
set(val):
info = val
track_data(&"info", val)
## A URL to a thumbnail image of the teams logo.
@export var thumbnail_url: String:
set(val):
thumbnail_url = val
track_data(&"thumbnail_url", val)
## The teams name.
@export var team_name: String:
set(val):
team_name = val
track_data(&"team_name", val)
## The teams display name.
@export var team_display_name: String:
set(val):
team_display_name = val
track_data(&"team_display_name", val)
## An ID that identifies the team.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_id: String, _broadcaster_login: String, _broadcaster_name: String, _background_image_url: String, _banner: String, _created_at: String, _updated_at: String, _info: String, _thumbnail_url: String, _team_name: String, _team_display_name: String, _id: String) -> TwitchChannelTeam:
var twitch_channel_team: TwitchChannelTeam = TwitchChannelTeam.new()
twitch_channel_team.broadcaster_id = _broadcaster_id
twitch_channel_team.broadcaster_login = _broadcaster_login
twitch_channel_team.broadcaster_name = _broadcaster_name
twitch_channel_team.background_image_url = _background_image_url
twitch_channel_team.banner = _banner
twitch_channel_team.created_at = _created_at
twitch_channel_team.updated_at = _updated_at
twitch_channel_team.info = _info
twitch_channel_team.thumbnail_url = _thumbnail_url
twitch_channel_team.team_name = _team_name
twitch_channel_team.team_display_name = _team_display_name
twitch_channel_team.id = _id
return twitch_channel_team
static func from_json(d: Dictionary) -> TwitchChannelTeam:
var result: TwitchChannelTeam = TwitchChannelTeam.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("broadcaster_login", null) != null:
result.broadcaster_login = d["broadcaster_login"]
if d.get("broadcaster_name", null) != null:
result.broadcaster_name = d["broadcaster_name"]
if d.get("background_image_url", null) != null:
result.background_image_url = d["background_image_url"]
if d.get("banner", null) != null:
result.banner = d["banner"]
if d.get("created_at", null) != null:
result.created_at = d["created_at"]
if d.get("updated_at", null) != null:
result.updated_at = d["updated_at"]
if d.get("info", null) != null:
result.info = d["info"]
if d.get("thumbnail_url", null) != null:
result.thumbnail_url = d["thumbnail_url"]
if d.get("team_name", null) != null:
result.team_name = d["team_name"]
if d.get("team_display_name", null) != null:
result.team_display_name = d["team_display_name"]
if d.get("id", null) != null:
result.id = d["id"]
return result

View file

@ -0,0 +1 @@
uid://bcbfc8frdl2f1

View file

@ -0,0 +1,205 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/CharityCampaign
class_name TwitchCharityCampaign
## An ID that identifies the charity campaign.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## An ID that identifies the broadcaster thats running the campaign.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The broadcasters login name.
@export var broadcaster_login: String:
set(val):
broadcaster_login = val
track_data(&"broadcaster_login", val)
## The broadcasters display name.
@export var broadcaster_name: String:
set(val):
broadcaster_name = val
track_data(&"broadcaster_name", val)
## The charitys name.
@export var charity_name: String:
set(val):
charity_name = val
track_data(&"charity_name", val)
## A description of the charity.
@export var charity_description: String:
set(val):
charity_description = val
track_data(&"charity_description", val)
## A URL to an image of the charitys logo. The images type is PNG and its size is 100px X 100px.
@export var charity_logo: String:
set(val):
charity_logo = val
track_data(&"charity_logo", val)
## A URL to the charitys website.
@export var charity_website: String:
set(val):
charity_website = val
track_data(&"charity_website", val)
## The current amount of donations that the campaign has received.
@export var current_amount: CurrentAmount:
set(val):
current_amount = val
track_data(&"current_amount", val)
## The campaigns fundraising goal. This field is **null** if the broadcaster has not defined a fundraising goal.
@export var target_amount: TargetAmount:
set(val):
target_amount = val
track_data(&"target_amount", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _broadcaster_id: String, _broadcaster_login: String, _broadcaster_name: String, _charity_name: String, _charity_description: String, _charity_logo: String, _charity_website: String, _current_amount: CurrentAmount, _target_amount: TargetAmount) -> TwitchCharityCampaign:
var twitch_charity_campaign: TwitchCharityCampaign = TwitchCharityCampaign.new()
twitch_charity_campaign.id = _id
twitch_charity_campaign.broadcaster_id = _broadcaster_id
twitch_charity_campaign.broadcaster_login = _broadcaster_login
twitch_charity_campaign.broadcaster_name = _broadcaster_name
twitch_charity_campaign.charity_name = _charity_name
twitch_charity_campaign.charity_description = _charity_description
twitch_charity_campaign.charity_logo = _charity_logo
twitch_charity_campaign.charity_website = _charity_website
twitch_charity_campaign.current_amount = _current_amount
twitch_charity_campaign.target_amount = _target_amount
return twitch_charity_campaign
static func from_json(d: Dictionary) -> TwitchCharityCampaign:
var result: TwitchCharityCampaign = TwitchCharityCampaign.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("broadcaster_login", null) != null:
result.broadcaster_login = d["broadcaster_login"]
if d.get("broadcaster_name", null) != null:
result.broadcaster_name = d["broadcaster_name"]
if d.get("charity_name", null) != null:
result.charity_name = d["charity_name"]
if d.get("charity_description", null) != null:
result.charity_description = d["charity_description"]
if d.get("charity_logo", null) != null:
result.charity_logo = d["charity_logo"]
if d.get("charity_website", null) != null:
result.charity_website = d["charity_website"]
if d.get("current_amount", null) != null:
result.current_amount = CurrentAmount.from_json(d["current_amount"])
if d.get("target_amount", null) != null:
result.target_amount = TargetAmount.from_json(d["target_amount"])
return result
## The current amount of donations that the campaign has received.
## #/components/schemas/CharityCampaign/CurrentAmount
class CurrentAmount extends TwitchData:
## The monetary amount. The amount is specified in the currencys minor unit. For example, the minor units for USD is cents, so if the amount is $5.50 USD, `value` is set to 550.
@export var value: int:
set(val):
value = val
track_data(&"value", val)
## The number of decimal places used by the currency. For example, USD uses two decimal places. Use this number to translate `value` from minor units to major units by using the formula:
##
## `value / 10^decimal_places`
@export var decimal_places: int:
set(val):
decimal_places = val
track_data(&"decimal_places", val)
## The ISO-4217 three-letter currency code that identifies the type of currency in `value`.
@export var currency: String:
set(val):
currency = val
track_data(&"currency", val)
## Constructor with all required fields.
static func create(_value: int, _decimal_places: int, _currency: String) -> CurrentAmount:
var current_amount: CurrentAmount = CurrentAmount.new()
current_amount.value = _value
current_amount.decimal_places = _decimal_places
current_amount.currency = _currency
return current_amount
static func from_json(d: Dictionary) -> CurrentAmount:
var result: CurrentAmount = CurrentAmount.new()
if d.get("value", null) != null:
result.value = d["value"]
if d.get("decimal_places", null) != null:
result.decimal_places = d["decimal_places"]
if d.get("currency", null) != null:
result.currency = d["currency"]
return result
## The campaigns fundraising goal. This field is **null** if the broadcaster has not defined a fundraising goal.
## #/components/schemas/CharityCampaign/TargetAmount
class TargetAmount extends TwitchData:
## The monetary amount. The amount is specified in the currencys minor unit. For example, the minor units for USD is cents, so if the amount is $5.50 USD, `value` is set to 550.
@export var value: int:
set(val):
value = val
track_data(&"value", val)
## The number of decimal places used by the currency. For example, USD uses two decimal places. Use this number to translate `value` from minor units to major units by using the formula:
##
## `value / 10^decimal_places`
@export var decimal_places: int:
set(val):
decimal_places = val
track_data(&"decimal_places", val)
## The ISO-4217 three-letter currency code that identifies the type of currency in `value`.
@export var currency: String:
set(val):
currency = val
track_data(&"currency", val)
## Constructor with all required fields.
static func create(_value: int, _decimal_places: int, _currency: String) -> TargetAmount:
var target_amount: TargetAmount = TargetAmount.new()
target_amount.value = _value
target_amount.decimal_places = _decimal_places
target_amount.currency = _currency
return target_amount
static func from_json(d: Dictionary) -> TargetAmount:
var result: TargetAmount = TargetAmount.new()
if d.get("value", null) != null:
result.value = d["value"]
if d.get("decimal_places", null) != null:
result.decimal_places = d["decimal_places"]
if d.get("currency", null) != null:
result.currency = d["currency"]
return result

View file

@ -0,0 +1 @@
uid://bfccgp4ggf3cs

View file

@ -0,0 +1,122 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/CharityCampaignDonation
class_name TwitchCharityCampaignDonation
## An ID that identifies the donation. The ID is unique across campaigns.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## An ID that identifies the charity campaign that the donation applies to.
@export var campaign_id: String:
set(val):
campaign_id = val
track_data(&"campaign_id", val)
## An ID that identifies a user that donated money to the campaign.
@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)
## An object that contains the amount of money that the user donated.
@export var amount: Amount:
set(val):
amount = val
track_data(&"amount", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _campaign_id: String, _user_id: String, _user_login: String, _user_name: String, _amount: Amount) -> TwitchCharityCampaignDonation:
var twitch_charity_campaign_donation: TwitchCharityCampaignDonation = TwitchCharityCampaignDonation.new()
twitch_charity_campaign_donation.id = _id
twitch_charity_campaign_donation.campaign_id = _campaign_id
twitch_charity_campaign_donation.user_id = _user_id
twitch_charity_campaign_donation.user_login = _user_login
twitch_charity_campaign_donation.user_name = _user_name
twitch_charity_campaign_donation.amount = _amount
return twitch_charity_campaign_donation
static func from_json(d: Dictionary) -> TwitchCharityCampaignDonation:
var result: TwitchCharityCampaignDonation = TwitchCharityCampaignDonation.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("campaign_id", null) != null:
result.campaign_id = d["campaign_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("amount", null) != null:
result.amount = Amount.from_json(d["amount"])
return result
## An object that contains the amount of money that the user donated.
## #/components/schemas/CharityCampaignDonation/Amount
class Amount extends TwitchData:
## The monetary amount. The amount is specified in the currencys minor unit. For example, the minor units for USD is cents, so if the amount is $5.50 USD, `value` is set to 550.
@export var value: int:
set(val):
value = val
track_data(&"value", val)
## The number of decimal places used by the currency. For example, USD uses two decimal places. Use this number to translate `value` from minor units to major units by using the formula:
##
## `value / 10^decimal_places`
@export var decimal_places: int:
set(val):
decimal_places = val
track_data(&"decimal_places", val)
## The ISO-4217 three-letter currency code that identifies the type of currency in `value`.
@export var currency: String:
set(val):
currency = val
track_data(&"currency", val)
## Constructor with all required fields.
static func create(_value: int, _decimal_places: int, _currency: String) -> Amount:
var amount: Amount = Amount.new()
amount.value = _value
amount.decimal_places = _decimal_places
amount.currency = _currency
return amount
static func from_json(d: Dictionary) -> Amount:
var result: Amount = Amount.new()
if d.get("value", null) != null:
result.value = d["value"]
if d.get("decimal_places", null) != null:
result.decimal_places = d["decimal_places"]
if d.get("currency", null) != null:
result.currency = d["currency"]
return result

View file

@ -0,0 +1 @@
uid://bk4mrla21bejo

View file

@ -0,0 +1,130 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/ChatBadge
class_name TwitchChatBadge
## An ID that identifies this set of chat badges. For example, Bits or Subscriber.
@export var set_id: String:
set(val):
set_id = val
track_data(&"set_id", val)
## The list of chat badges in this set.
@export var versions: Array[Versions]:
set(val):
versions = val
track_data(&"versions", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_set_id: String, _versions: Array[Versions]) -> TwitchChatBadge:
var twitch_chat_badge: TwitchChatBadge = TwitchChatBadge.new()
twitch_chat_badge.set_id = _set_id
twitch_chat_badge.versions = _versions
return twitch_chat_badge
static func from_json(d: Dictionary) -> TwitchChatBadge:
var result: TwitchChatBadge = TwitchChatBadge.new()
if d.get("set_id", null) != null:
result.set_id = d["set_id"]
if d.get("versions", null) != null:
for value in d["versions"]:
result.versions.append(Versions.from_json(value))
return result
## The list of chat badges in this set.
## #/components/schemas/ChatBadge/Versions
class Versions extends TwitchData:
## An ID that identifies this version of the badge. The ID can be any value. For example, for Bits, the ID is the Bits tier level, but for World of Warcraft, it could be Alliance or Horde.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## A URL to the small version (18px x 18px) of the badge.
@export var image_url_1x: String:
set(val):
image_url_1x = val
track_data(&"image_url_1x", val)
## A URL to the medium version (36px x 36px) of the badge.
@export var image_url_2x: String:
set(val):
image_url_2x = val
track_data(&"image_url_2x", val)
## A URL to the large version (72px x 72px) of the badge.
@export var image_url_4x: String:
set(val):
image_url_4x = val
track_data(&"image_url_4x", val)
## The title of the badge.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## The description of the badge.
@export var description: String:
set(val):
description = val
track_data(&"description", val)
## The action to take when clicking on the badge. Set to `null` if no action is specified.
@export var click_action: String:
set(val):
click_action = val
track_data(&"click_action", val)
## The URL to navigate to when clicking on the badge. Set to `null` if no URL is specified.
@export var click_url: String:
set(val):
click_url = val
track_data(&"click_url", val)
## Constructor with all required fields.
static func create(_id: String, _image_url_1x: String, _image_url_2x: String, _image_url_4x: String, _title: String, _description: String, _click_action: String, _click_url: String) -> Versions:
var versions: Versions = Versions.new()
versions.id = _id
versions.image_url_1x = _image_url_1x
versions.image_url_2x = _image_url_2x
versions.image_url_4x = _image_url_4x
versions.title = _title
versions.description = _description
versions.click_action = _click_action
versions.click_url = _click_url
return versions
static func from_json(d: Dictionary) -> Versions:
var result: Versions = Versions.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("image_url_1x", null) != null:
result.image_url_1x = d["image_url_1x"]
if d.get("image_url_2x", null) != null:
result.image_url_2x = d["image_url_2x"]
if d.get("image_url_4x", null) != null:
result.image_url_4x = d["image_url_4x"]
if d.get("title", null) != null:
result.title = d["title"]
if d.get("description", null) != null:
result.description = d["description"]
if d.get("click_action", null) != null:
result.click_action = d["click_action"]
if d.get("click_url", null) != null:
result.click_url = d["click_url"]
return result

View file

@ -0,0 +1 @@
uid://b0gnrrvi7p5av

View file

@ -0,0 +1,134 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/ChatSettings
class_name TwitchChatSettings
## The ID of the broadcaster specified in the request.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## A Boolean value that determines whether chat messages must contain only emotes. Is **true** if chat messages may contain only emotes; otherwise, **false**.
@export var emote_mode: bool:
set(val):
emote_mode = val
track_data(&"emote_mode", val)
## A Boolean value that determines whether the broadcaster restricts the chat room to followers only.
##
## Is **true** if the broadcaster restricts the chat room to followers only; otherwise, **false**.
##
## See the `follower_mode_duration` field for how long users must follow the broadcaster before being able to participate in the chat room.
@export var follower_mode: bool:
set(val):
follower_mode = val
track_data(&"follower_mode", val)
## The length of time, in minutes, that users must follow the broadcaster before being able to participate in the chat room. Is **null** if `follower_mode` is **false**.
@export var follower_mode_duration: int:
set(val):
follower_mode_duration = val
track_data(&"follower_mode_duration", val)
## The moderators ID. The response includes this field only if the request specifies a user access token that includes the **moderator:read:chat\_settings** scope.
@export var moderator_id: String:
set(val):
moderator_id = val
track_data(&"moderator_id", val)
## A Boolean value that determines whether the broadcaster adds a short delay before chat messages appear in the chat room. This gives chat moderators and bots a chance to remove them before viewers can see the message. See the `non_moderator_chat_delay_duration` field for the length of the delay. Is **true** if the broadcaster applies a delay; otherwise, **false**.
##
## The response includes this field only if the request specifies a user access token that includes the **moderator:read:chat\_settings** scope and the user in the _moderator\_id_ query parameter is one of the broadcasters moderators.
@export var non_moderator_chat_delay: bool:
set(val):
non_moderator_chat_delay = val
track_data(&"non_moderator_chat_delay", val)
## The amount of time, in seconds, that messages are delayed before appearing in chat. Is **null** if `non_moderator_chat_delay` is **false**.
##
## The response includes this field only if the request specifies a user access token that includes the **moderator:read:chat\_settings** scope and the user in the _moderator\_id_ query parameter is one of the broadcasters moderators.
@export var non_moderator_chat_delay_duration: int:
set(val):
non_moderator_chat_delay_duration = val
track_data(&"non_moderator_chat_delay_duration", val)
## A Boolean value that determines whether the broadcaster limits how often users in the chat room are allowed to send messages.
##
## Is **true** if the broadcaster applies a delay; otherwise, **false**.
##
## See the `slow_mode_wait_time` field for the delay.
@export var slow_mode: bool:
set(val):
slow_mode = val
track_data(&"slow_mode", val)
## The amount of time, in seconds, that users must wait between sending messages.
##
## Is **null** if slow\_mode is **false**.
@export var slow_mode_wait_time: int:
set(val):
slow_mode_wait_time = val
track_data(&"slow_mode_wait_time", val)
## A Boolean value that determines whether only users that subscribe to the broadcasters channel may talk in the chat room.
##
## Is **true** if the broadcaster restricts the chat room to subscribers only; otherwise, **false**.
@export var subscriber_mode: bool:
set(val):
subscriber_mode = val
track_data(&"subscriber_mode", val)
## A Boolean value that determines whether the broadcaster requires users to post only unique messages in the chat room.
##
## Is **true** if the broadcaster requires unique messages only; otherwise, **false**.
@export var unique_chat_mode: bool:
set(val):
unique_chat_mode = val
track_data(&"unique_chat_mode", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_id: String, _emote_mode: bool, _follower_mode: bool, _follower_mode_duration: int, _slow_mode: bool, _slow_mode_wait_time: int, _subscriber_mode: bool, _unique_chat_mode: bool) -> TwitchChatSettings:
var twitch_chat_settings: TwitchChatSettings = TwitchChatSettings.new()
twitch_chat_settings.broadcaster_id = _broadcaster_id
twitch_chat_settings.emote_mode = _emote_mode
twitch_chat_settings.follower_mode = _follower_mode
twitch_chat_settings.follower_mode_duration = _follower_mode_duration
twitch_chat_settings.slow_mode = _slow_mode
twitch_chat_settings.slow_mode_wait_time = _slow_mode_wait_time
twitch_chat_settings.subscriber_mode = _subscriber_mode
twitch_chat_settings.unique_chat_mode = _unique_chat_mode
return twitch_chat_settings
static func from_json(d: Dictionary) -> TwitchChatSettings:
var result: TwitchChatSettings = TwitchChatSettings.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("emote_mode", null) != null:
result.emote_mode = d["emote_mode"]
if d.get("follower_mode", null) != null:
result.follower_mode = d["follower_mode"]
if d.get("follower_mode_duration", null) != null:
result.follower_mode_duration = d["follower_mode_duration"]
if d.get("moderator_id", null) != null:
result.moderator_id = d["moderator_id"]
if d.get("non_moderator_chat_delay", null) != null:
result.non_moderator_chat_delay = d["non_moderator_chat_delay"]
if d.get("non_moderator_chat_delay_duration", null) != null:
result.non_moderator_chat_delay_duration = d["non_moderator_chat_delay_duration"]
if d.get("slow_mode", null) != null:
result.slow_mode = d["slow_mode"]
if d.get("slow_mode_wait_time", null) != null:
result.slow_mode_wait_time = d["slow_mode_wait_time"]
if d.get("subscriber_mode", null) != null:
result.subscriber_mode = d["subscriber_mode"]
if d.get("unique_chat_mode", null) != null:
result.unique_chat_mode = d["unique_chat_mode"]
return result

View file

@ -0,0 +1 @@
uid://d10yuxg35qlpa

View file

@ -0,0 +1,132 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/ChatSettingsUpdated
class_name TwitchChatSettingsUpdated
## The ID of the broadcaster specified in the request.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## A Boolean value that determines whether chat messages must contain only emotes. Is **true** if chat messages may contain only emotes; otherwise, **false**.
@export var emote_mode: bool:
set(val):
emote_mode = val
track_data(&"emote_mode", val)
## A Boolean value that determines whether the broadcaster restricts the chat room to followers only.
##
## Is **true** if the broadcaster restricts the chat room to followers only; otherwise, **false**.
##
## See the `follower_mode_duration` field for how long users must follow the broadcaster before being able to participate in the chat room.
@export var follower_mode: bool:
set(val):
follower_mode = val
track_data(&"follower_mode", val)
## The length of time, in minutes, that users must follow the broadcaster before being able to participate in the chat room. Is **null** if `follower_mode` is **false**.
@export var follower_mode_duration: int:
set(val):
follower_mode_duration = val
track_data(&"follower_mode_duration", val)
## The moderators ID. The response includes this field only if the request specifies a user access token that includes the **moderator:read:chat\_settings** scope.
@export var moderator_id: String:
set(val):
moderator_id = val
track_data(&"moderator_id", val)
## A Boolean value that determines whether the broadcaster adds a short delay before chat messages appear in the chat room. This gives chat moderators and bots a chance to remove them before viewers can see the message. See the `non_moderator_chat_delay_duration` field for the length of the delay. Is **true** if the broadcaster applies a delay; otherwise, **false**.
@export var non_moderator_chat_delay: bool:
set(val):
non_moderator_chat_delay = val
track_data(&"non_moderator_chat_delay", val)
## The amount of time, in seconds, that messages are delayed before appearing in chat. Is **null** if `non_moderator_chat_delay` is **false**.
@export var non_moderator_chat_delay_duration: int:
set(val):
non_moderator_chat_delay_duration = val
track_data(&"non_moderator_chat_delay_duration", val)
## A Boolean value that determines whether the broadcaster limits how often users in the chat room are allowed to send messages.
##
## Is **true** if the broadcaster applies a delay; otherwise, **false**.
##
## See the `slow_mode_wait_time` field for the delay.
@export var slow_mode: bool:
set(val):
slow_mode = val
track_data(&"slow_mode", val)
## The amount of time, in seconds, that users must wait between sending messages.
##
## Is **null** if slow\_mode is **false**.
@export var slow_mode_wait_time: int:
set(val):
slow_mode_wait_time = val
track_data(&"slow_mode_wait_time", val)
## A Boolean value that determines whether only users that subscribe to the broadcasters channel may talk in the chat room.
##
## Is **true** if the broadcaster restricts the chat room to subscribers only; otherwise, **false**.
@export var subscriber_mode: bool:
set(val):
subscriber_mode = val
track_data(&"subscriber_mode", val)
## A Boolean value that determines whether the broadcaster requires users to post only unique messages in the chat room.
##
## Is **true** if the broadcaster requires unique messages only; otherwise, **false**.
@export var unique_chat_mode: bool:
set(val):
unique_chat_mode = val
track_data(&"unique_chat_mode", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_id: String, _emote_mode: bool, _follower_mode: bool, _follower_mode_duration: int, _non_moderator_chat_delay: bool, _non_moderator_chat_delay_duration: int, _slow_mode: bool, _slow_mode_wait_time: int, _subscriber_mode: bool, _unique_chat_mode: bool) -> TwitchChatSettingsUpdated:
var twitch_chat_settings_updated: TwitchChatSettingsUpdated = TwitchChatSettingsUpdated.new()
twitch_chat_settings_updated.broadcaster_id = _broadcaster_id
twitch_chat_settings_updated.emote_mode = _emote_mode
twitch_chat_settings_updated.follower_mode = _follower_mode
twitch_chat_settings_updated.follower_mode_duration = _follower_mode_duration
twitch_chat_settings_updated.non_moderator_chat_delay = _non_moderator_chat_delay
twitch_chat_settings_updated.non_moderator_chat_delay_duration = _non_moderator_chat_delay_duration
twitch_chat_settings_updated.slow_mode = _slow_mode
twitch_chat_settings_updated.slow_mode_wait_time = _slow_mode_wait_time
twitch_chat_settings_updated.subscriber_mode = _subscriber_mode
twitch_chat_settings_updated.unique_chat_mode = _unique_chat_mode
return twitch_chat_settings_updated
static func from_json(d: Dictionary) -> TwitchChatSettingsUpdated:
var result: TwitchChatSettingsUpdated = TwitchChatSettingsUpdated.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("emote_mode", null) != null:
result.emote_mode = d["emote_mode"]
if d.get("follower_mode", null) != null:
result.follower_mode = d["follower_mode"]
if d.get("follower_mode_duration", null) != null:
result.follower_mode_duration = d["follower_mode_duration"]
if d.get("moderator_id", null) != null:
result.moderator_id = d["moderator_id"]
if d.get("non_moderator_chat_delay", null) != null:
result.non_moderator_chat_delay = d["non_moderator_chat_delay"]
if d.get("non_moderator_chat_delay_duration", null) != null:
result.non_moderator_chat_delay_duration = d["non_moderator_chat_delay_duration"]
if d.get("slow_mode", null) != null:
result.slow_mode = d["slow_mode"]
if d.get("slow_mode_wait_time", null) != null:
result.slow_mode_wait_time = d["slow_mode_wait_time"]
if d.get("subscriber_mode", null) != null:
result.subscriber_mode = d["subscriber_mode"]
if d.get("unique_chat_mode", null) != null:
result.unique_chat_mode = d["unique_chat_mode"]
return result

View file

@ -0,0 +1 @@
uid://rp8u05k22h77

View file

@ -0,0 +1,47 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/Chatter
class_name TwitchChatter
## The ID of a user thats connected to the broadcasters chat room.
@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)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_user_id: String, _user_login: String, _user_name: String) -> TwitchChatter:
var twitch_chatter: TwitchChatter = TwitchChatter.new()
twitch_chatter.user_id = _user_id
twitch_chatter.user_login = _user_login
twitch_chatter.user_name = _user_name
return twitch_chatter
static func from_json(d: Dictionary) -> TwitchChatter:
var result: TwitchChatter = TwitchChatter.new()
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"]
return result

View file

@ -0,0 +1 @@
uid://d0och515dnpht

View file

@ -0,0 +1,99 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCheckAutoModStatus
##
## #/components/schemas/CheckAutoModStatusBody
class Body extends TwitchData:
## The list of messages to check. The list must contain at least one message and may contain up to a maximum of 100 messages.
@export var data: Array[BodyData]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[BodyData]) -> Body:
var body: Body = Body.new()
body.data = _data
return body
static func from_json(d: Dictionary) -> Body:
var result: Body = Body.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(BodyData.from_json(value))
return result
## The list of messages to check. The list must contain at least one message and may contain up to a maximum of 100 messages.
## #/components/schemas/CheckAutoModStatusBody/Data
class BodyData extends TwitchData:
## A caller-defined ID used to correlate this message with the same message in the response.
@export var msg_id: String:
set(val):
msg_id = val
track_data(&"msg_id", val)
## The message to check.
@export var msg_text: String:
set(val):
msg_text = val
track_data(&"msg_text", val)
## Constructor with all required fields.
static func create(_msg_id: String, _msg_text: String) -> BodyData:
var body_data: BodyData = BodyData.new()
body_data.msg_id = _msg_id
body_data.msg_text = _msg_text
return body_data
static func from_json(d: Dictionary) -> BodyData:
var result: BodyData = BodyData.new()
if d.get("msg_id", null) != null:
result.msg_id = d["msg_id"]
if d.get("msg_text", null) != null:
result.msg_text = d["msg_text"]
return result
##
## #/components/schemas/CheckAutoModStatusResponse
class Response extends TwitchData:
## The list of messages and whether Twitch would approve them for chat.
@export var data: Array[TwitchAutoModStatus]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[TwitchAutoModStatus]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(TwitchAutoModStatus.from_json(value))
return result

View file

@ -0,0 +1 @@
uid://cvx1r2bhj5cfk

View file

@ -0,0 +1,35 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCheckUserSubscription
##
## #/components/schemas/CheckUserSubscriptionResponse
class Response extends TwitchData:
## A list that contains a single object with information about the users subscription.
@export var data: Array[TwitchUserSubscription]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[TwitchUserSubscription]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(TwitchUserSubscription.from_json(value))
return result

View file

@ -0,0 +1 @@
uid://bl18pfscbkvum

View file

@ -0,0 +1,162 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/Cheermote
class_name TwitchCheermote
## The name portion of the Cheermote string that you use in chat to cheer Bits. The full Cheermote string is the concatenation of {prefix} + {number of Bits}. For example, if the prefix is “Cheer” and you want to cheer 100 Bits, the full Cheermote string is Cheer100\. When the Cheermote string is entered in chat, Twitch converts it to the image associated with the Bits tier that was cheered.
@export var prefix: String:
set(val):
prefix = val
track_data(&"prefix", val)
## A list of tier levels that the Cheermote supports. Each tier identifies the range of Bits that you can cheer at that tier level and an image that graphically identifies the tier level.
@export var tiers: Array[Tiers]:
set(val):
tiers = val
track_data(&"tiers", val)
## The type of Cheermote. Possible values are:
##
## * global\_first\_party — A Twitch-defined Cheermote that is shown in the Bits card.
## * global\_third\_party — A Twitch-defined Cheermote that is not shown in the Bits card.
## * channel\_custom — A broadcaster-defined Cheermote.
## * display\_only — Do not use; for internal use only.
## * sponsored — A sponsor-defined Cheermote. When used, the sponsor adds additional Bits to the amount that the user cheered. For example, if the user cheered Terminator100, the broadcaster might receive 110 Bits, which includes the sponsor's 10 Bits contribution.
@export var type: String:
set(val):
type = val
track_data(&"type", val)
## The order that the Cheermotes are shown in the Bits card. The numbers may not be consecutive. For example, the numbers may jump from 1 to 7 to 13\. The order numbers are unique within a Cheermote type (for example, global\_first\_party) but may not be unique amongst all Cheermotes in the response.
@export var order: int:
set(val):
order = val
track_data(&"order", val)
## The date and time, in RFC3339 format, when this Cheermote was last updated.
@export var last_updated: String:
set(val):
last_updated = val
track_data(&"last_updated", val)
## A Boolean value that indicates whether this Cheermote provides a charitable contribution match during charity campaigns.
@export var is_charitable: bool:
set(val):
is_charitable = val
track_data(&"is_charitable", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_prefix: String, _tiers: Array[Tiers], _type: String, _order: int, _last_updated: String, _is_charitable: bool) -> TwitchCheermote:
var twitch_cheermote: TwitchCheermote = TwitchCheermote.new()
twitch_cheermote.prefix = _prefix
twitch_cheermote.tiers = _tiers
twitch_cheermote.type = _type
twitch_cheermote.order = _order
twitch_cheermote.last_updated = _last_updated
twitch_cheermote.is_charitable = _is_charitable
return twitch_cheermote
static func from_json(d: Dictionary) -> TwitchCheermote:
var result: TwitchCheermote = TwitchCheermote.new()
if d.get("prefix", null) != null:
result.prefix = d["prefix"]
if d.get("tiers", null) != null:
for value in d["tiers"]:
result.tiers.append(Tiers.from_json(value))
if d.get("type", null) != null:
result.type = d["type"]
if d.get("order", null) != null:
result.order = d["order"]
if d.get("last_updated", null) != null:
result.last_updated = d["last_updated"]
if d.get("is_charitable", null) != null:
result.is_charitable = d["is_charitable"]
return result
## A list of tier levels that the Cheermote supports. Each tier identifies the range of Bits that you can cheer at that tier level and an image that graphically identifies the tier level.
## #/components/schemas/Cheermote/Tiers
class Tiers extends TwitchData:
## The minimum number of Bits that you must cheer at this tier level. The maximum number of Bits that you can cheer at this level is determined by the required minimum Bits of the next tier level minus 1\. For example, if `min_bits` is 1 and `min_bits` for the next tier is 100, the Bits range for this tier level is 1 through 99\. The minimum Bits value of the last tier is the maximum number of Bits you can cheer using this Cheermote. For example, 10000.
@export var min_bits: int:
set(val):
min_bits = val
track_data(&"min_bits", val)
## The tier level. Possible tiers are:
##
## * 1
## * 100
## * 500
## * 1000
## * 5000
## * 10000
## * 100000
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The hex code of the color associated with this tier level (for example, #979797).
@export var color: String:
set(val):
color = val
track_data(&"color", val)
##
@export var images: TwitchCheermoteImages:
set(val):
images = val
track_data(&"images", val)
## A Boolean value that determines whether users can cheer at this tier level.
@export var can_cheer: bool:
set(val):
can_cheer = val
track_data(&"can_cheer", val)
## A Boolean value that determines whether this tier level is shown in the Bits card. Is **true** if this tier level is shown in the Bits card.
@export var show_in_bits_card: bool:
set(val):
show_in_bits_card = val
track_data(&"show_in_bits_card", val)
## Constructor with all required fields.
static func create(_min_bits: int, _id: String, _color: String, _images: TwitchCheermoteImages, _can_cheer: bool, _show_in_bits_card: bool) -> Tiers:
var tiers: Tiers = Tiers.new()
tiers.min_bits = _min_bits
tiers.id = _id
tiers.color = _color
tiers.images = _images
tiers.can_cheer = _can_cheer
tiers.show_in_bits_card = _show_in_bits_card
return tiers
static func from_json(d: Dictionary) -> Tiers:
var result: Tiers = Tiers.new()
if d.get("min_bits", null) != null:
result.min_bits = d["min_bits"]
if d.get("id", null) != null:
result.id = d["id"]
if d.get("color", null) != null:
result.color = d["color"]
if d.get("images", null) != null:
result.images = TwitchCheermoteImages.from_json(d["images"])
if d.get("can_cheer", null) != null:
result.can_cheer = d["can_cheer"]
if d.get("show_in_bits_card", null) != null:
result.show_in_bits_card = d["show_in_bits_card"]
return result

View file

@ -0,0 +1 @@
uid://b85p7sst7537c

View file

@ -0,0 +1,60 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/CheermoteImageFormat
class_name TwitchCheermoteImageFormat
##
@export var _1: String:
set(val):
_1 = val
track_data(&"_1", val)
##
@export var _2: String:
set(val):
_2 = val
track_data(&"_2", val)
##
@export var _3: String:
set(val):
_3 = val
track_data(&"_3", val)
##
@export var _4: String:
set(val):
_4 = val
track_data(&"_4", val)
##
@export var _1_5: String:
set(val):
_1_5 = val
track_data(&"_1_5", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create() -> TwitchCheermoteImageFormat:
var twitch_cheermote_image_format: TwitchCheermoteImageFormat = TwitchCheermoteImageFormat.new()
return twitch_cheermote_image_format
static func from_json(d: Dictionary) -> TwitchCheermoteImageFormat:
var result: TwitchCheermoteImageFormat = TwitchCheermoteImageFormat.new()
if d.get("_1", null) != null:
result._1 = d["_1"]
if d.get("_2", null) != null:
result._2 = d["_2"]
if d.get("_3", null) != null:
result._3 = d["_3"]
if d.get("_4", null) != null:
result._4 = d["_4"]
if d.get("_1_5", null) != null:
result._1_5 = d["_1_5"]
return result

View file

@ -0,0 +1 @@
uid://csud7awisckb0

View file

@ -0,0 +1,36 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/CheermoteImageTheme
class_name TwitchCheermoteImageTheme
##
@export var animated_format: TwitchCheermoteImageFormat:
set(val):
animated_format = val
track_data(&"animated_format", val)
##
@export var static_format: TwitchCheermoteImageFormat:
set(val):
static_format = val
track_data(&"static_format", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create() -> TwitchCheermoteImageTheme:
var twitch_cheermote_image_theme: TwitchCheermoteImageTheme = TwitchCheermoteImageTheme.new()
return twitch_cheermote_image_theme
static func from_json(d: Dictionary) -> TwitchCheermoteImageTheme:
var result: TwitchCheermoteImageTheme = TwitchCheermoteImageTheme.new()
if d.get("animated_format", null) != null:
result.animated_format = TwitchCheermoteImageFormat.from_json(d["animated_format"])
if d.get("static_format", null) != null:
result.static_format = TwitchCheermoteImageFormat.from_json(d["static_format"])
return result

View file

@ -0,0 +1 @@
uid://c0ndet8biyyie

View file

@ -0,0 +1,36 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/CheermoteImages
class_name TwitchCheermoteImages
##
@export var light: TwitchCheermoteImageTheme:
set(val):
light = val
track_data(&"light", val)
##
@export var dark: TwitchCheermoteImageTheme:
set(val):
dark = val
track_data(&"dark", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create() -> TwitchCheermoteImages:
var twitch_cheermote_images: TwitchCheermoteImages = TwitchCheermoteImages.new()
return twitch_cheermote_images
static func from_json(d: Dictionary) -> TwitchCheermoteImages:
var result: TwitchCheermoteImages = TwitchCheermoteImages.new()
if d.get("light", null) != null:
result.light = TwitchCheermoteImageTheme.from_json(d["light"])
if d.get("dark", null) != null:
result.dark = TwitchCheermoteImageTheme.from_json(d["dark"])
return result

View file

@ -0,0 +1 @@
uid://cv2utje686064

View file

@ -0,0 +1,175 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/Clip
class_name TwitchClip
## An ID that uniquely identifies the clip.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## A URL to the clip.
@export var url: String:
set(val):
url = val
track_data(&"url", val)
## A URL that you can use in an iframe to embed the clip (see [Embedding Video and Clips](https://dev.twitch.tv/docs/embed/video-and-clips/)).
@export var embed_url: String:
set(val):
embed_url = val
track_data(&"embed_url", val)
## An ID that identifies the broadcaster that the video was clipped from.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The broadcasters display name.
@export var broadcaster_name: String:
set(val):
broadcaster_name = val
track_data(&"broadcaster_name", val)
## An ID that identifies the user that created the clip.
@export var creator_id: String:
set(val):
creator_id = val
track_data(&"creator_id", val)
## The users display name.
@export var creator_name: String:
set(val):
creator_name = val
track_data(&"creator_name", val)
## An ID that identifies the video that the clip came from. This field contains an empty string if the video is not available.
@export var video_id: String:
set(val):
video_id = val
track_data(&"video_id", val)
## The ID of the game that was being played when the clip was created.
@export var game_id: String:
set(val):
game_id = val
track_data(&"game_id", val)
## The ISO 639-1 two-letter language code that the broadcaster broadcasts in. For example, _en_ for English. The value is _other_ if the broadcaster uses a language that Twitch doesnt support.
@export var language: String:
set(val):
language = val
track_data(&"language", val)
## The title of the clip.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## The number of times the clip has been viewed.
@export var view_count: int:
set(val):
view_count = val
track_data(&"view_count", val)
## The date and time of when the clip was created. The date and time is in RFC3339 format.
@export var created_at: String:
set(val):
created_at = val
track_data(&"created_at", val)
## A URL to a thumbnail image of the clip.
@export var thumbnail_url: String:
set(val):
thumbnail_url = val
track_data(&"thumbnail_url", val)
## The length of the clip, in seconds. Precision is 0.1.
@export var duration: float:
set(val):
duration = val
track_data(&"duration", val)
## The zero-based offset, in seconds, to where the clip starts in the video (VOD). Is **null** if the video is not available or hasnt been created yet from the live stream (see `video_id`).
##
## Note that theres a delay between when a clip is created during a broadcast and when the offset is set. During the delay period, `vod_offset` is **null**. The delay is indeterminant but is typically minutes long.
@export var vod_offset: int:
set(val):
vod_offset = val
track_data(&"vod_offset", val)
## A Boolean value that indicates if the clip is featured or not.
@export var is_featured: bool:
set(val):
is_featured = val
track_data(&"is_featured", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _url: String, _embed_url: String, _broadcaster_id: String, _broadcaster_name: String, _creator_id: String, _creator_name: String, _video_id: String, _game_id: String, _language: String, _title: String, _view_count: int, _created_at: String, _thumbnail_url: String, _duration: float, _vod_offset: int, _is_featured: bool) -> TwitchClip:
var twitch_clip: TwitchClip = TwitchClip.new()
twitch_clip.id = _id
twitch_clip.url = _url
twitch_clip.embed_url = _embed_url
twitch_clip.broadcaster_id = _broadcaster_id
twitch_clip.broadcaster_name = _broadcaster_name
twitch_clip.creator_id = _creator_id
twitch_clip.creator_name = _creator_name
twitch_clip.video_id = _video_id
twitch_clip.game_id = _game_id
twitch_clip.language = _language
twitch_clip.title = _title
twitch_clip.view_count = _view_count
twitch_clip.created_at = _created_at
twitch_clip.thumbnail_url = _thumbnail_url
twitch_clip.duration = _duration
twitch_clip.vod_offset = _vod_offset
twitch_clip.is_featured = _is_featured
return twitch_clip
static func from_json(d: Dictionary) -> TwitchClip:
var result: TwitchClip = TwitchClip.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("url", null) != null:
result.url = d["url"]
if d.get("embed_url", null) != null:
result.embed_url = d["embed_url"]
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("broadcaster_name", null) != null:
result.broadcaster_name = d["broadcaster_name"]
if d.get("creator_id", null) != null:
result.creator_id = d["creator_id"]
if d.get("creator_name", null) != null:
result.creator_name = d["creator_name"]
if d.get("video_id", null) != null:
result.video_id = d["video_id"]
if d.get("game_id", null) != null:
result.game_id = d["game_id"]
if d.get("language", null) != null:
result.language = d["language"]
if d.get("title", null) != null:
result.title = d["title"]
if d.get("view_count", null) != null:
result.view_count = d["view_count"]
if d.get("created_at", null) != null:
result.created_at = d["created_at"]
if d.get("thumbnail_url", null) != null:
result.thumbnail_url = d["thumbnail_url"]
if d.get("duration", null) != null:
result.duration = d["duration"]
if d.get("vod_offset", null) != null:
result.vod_offset = d["vod_offset"]
if d.get("is_featured", null) != null:
result.is_featured = d["is_featured"]
return result

View file

@ -0,0 +1 @@
uid://xnhce7fula3h

View file

@ -0,0 +1,47 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/ContentClassificationLabel
class_name TwitchContentClassificationLabel
## Unique identifier for the CCL.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## Localized description of the CCL.
@export var description: String:
set(val):
description = val
track_data(&"description", val)
## Localized name of the CCL.
@export var name: String:
set(val):
name = val
track_data(&"name", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _description: String, _name: String) -> TwitchContentClassificationLabel:
var twitch_content_classification_label: TwitchContentClassificationLabel = TwitchContentClassificationLabel.new()
twitch_content_classification_label.id = _id
twitch_content_classification_label.description = _description
twitch_content_classification_label.name = _name
return twitch_content_classification_label
static func from_json(d: Dictionary) -> TwitchContentClassificationLabel:
var result: TwitchContentClassificationLabel = TwitchContentClassificationLabel.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("description", null) != null:
result.description = d["description"]
if d.get("name", null) != null:
result.name = d["name"]
return result

View file

@ -0,0 +1 @@
uid://bdpfg15y6hg6t

View file

@ -0,0 +1,203 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCreateChannelStreamScheduleSegment
##
## #/components/schemas/CreateChannelStreamScheduleSegmentBody
class Body extends TwitchData:
## The date and time that the broadcast segment starts. Specify the date and time in RFC3339 format (for example, 2021-07-01T18:00:00Z).
@export var start_time: String:
set(val):
start_time = val
track_data(&"start_time", val)
## The time zone where the broadcast takes place. Specify the time zone using [IANA time zone database](https://www.iana.org/time-zones) format (for example, America/New\_York).
@export var timezone: String:
set(val):
timezone = val
track_data(&"timezone", val)
## The length of time, in minutes, that the broadcast is scheduled to run. The duration must be in the range 30 through 1380 (23 hours).
@export var duration: String:
set(val):
duration = val
track_data(&"duration", val)
## A Boolean value that determines whether the broadcast recurs weekly. Is **true** if the broadcast recurs weekly. Only partners and affiliates may add non-recurring broadcasts.
@export var is_recurring: bool:
set(val):
is_recurring = val
track_data(&"is_recurring", val)
## The ID of the category that best represents the broadcasts content. To get the category ID, use the [Search Categories](https://dev.twitch.tv/docs/api/reference#search-categories) endpoint.
@export var category_id: String:
set(val):
category_id = val
track_data(&"category_id", val)
## The broadcasts title. The title may contain a maximum of 140 characters.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_start_time: String, _timezone: String, _duration: String) -> Body:
var body: Body = Body.new()
body.start_time = _start_time
body.timezone = _timezone
body.duration = _duration
return body
static func from_json(d: Dictionary) -> Body:
var result: Body = Body.new()
if d.get("start_time", null) != null:
result.start_time = d["start_time"]
if d.get("timezone", null) != null:
result.timezone = d["timezone"]
if d.get("duration", null) != null:
result.duration = d["duration"]
if d.get("is_recurring", null) != null:
result.is_recurring = d["is_recurring"]
if d.get("category_id", null) != null:
result.category_id = d["category_id"]
if d.get("title", null) != null:
result.title = d["title"]
return result
##
## #/components/schemas/CreateChannelStreamScheduleSegmentResponse
class Response extends TwitchData:
## The broadcasters streaming scheduled.
@export var data: ResponseData:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: ResponseData) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
result.data = ResponseData.from_json(d["data"])
return result
## The broadcasters streaming scheduled.
## #/components/schemas/CreateChannelStreamScheduleSegmentResponse/Data
class ResponseData extends TwitchData:
## A list that contains the single broadcast segment that you added.
@export var segments: Array[TwitchChannelStreamScheduleSegment]:
set(val):
segments = val
track_data(&"segments", val)
## The ID of the broadcaster that owns the broadcast schedule.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The broadcasters display name.
@export var broadcaster_name: String:
set(val):
broadcaster_name = val
track_data(&"broadcaster_name", val)
## The broadcasters login name.
@export var broadcaster_login: String:
set(val):
broadcaster_login = val
track_data(&"broadcaster_login", val)
## The dates when the broadcaster is on vacation and not streaming. Is set to **null** if vacation mode is not enabled.
@export var vacation: ResponseVacation:
set(val):
vacation = val
track_data(&"vacation", val)
## Constructor with all required fields.
static func create(_segments: Array[TwitchChannelStreamScheduleSegment], _broadcaster_id: String, _broadcaster_name: String, _broadcaster_login: String, _vacation: ResponseVacation) -> ResponseData:
var response_data: ResponseData = ResponseData.new()
response_data.segments = _segments
response_data.broadcaster_id = _broadcaster_id
response_data.broadcaster_name = _broadcaster_name
response_data.broadcaster_login = _broadcaster_login
response_data.vacation = _vacation
return response_data
static func from_json(d: Dictionary) -> ResponseData:
var result: ResponseData = ResponseData.new()
if d.get("segments", null) != null:
for value in d["segments"]:
result.segments.append(TwitchChannelStreamScheduleSegment.from_json(value))
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("broadcaster_name", null) != null:
result.broadcaster_name = d["broadcaster_name"]
if d.get("broadcaster_login", null) != null:
result.broadcaster_login = d["broadcaster_login"]
if d.get("vacation", null) != null:
result.vacation = ResponseVacation.from_json(d["vacation"])
return result
## The dates when the broadcaster is on vacation and not streaming. Is set to **null** if vacation mode is not enabled.
## #/components/schemas/CreateChannelStreamScheduleSegmentResponse/Data/Vacation
class ResponseVacation extends TwitchData:
## The UTC date and time (in RFC3339 format) of when the broadcasters vacation starts.
@export var start_time: String:
set(val):
start_time = val
track_data(&"start_time", val)
## The UTC date and time (in RFC3339 format) of when the broadcasters vacation ends.
@export var end_time: String:
set(val):
end_time = val
track_data(&"end_time", val)
## Constructor with all required fields.
static func create(_start_time: String, _end_time: String) -> ResponseVacation:
var response_vacation: ResponseVacation = ResponseVacation.new()
response_vacation.start_time = _start_time
response_vacation.end_time = _end_time
return response_vacation
static func from_json(d: Dictionary) -> ResponseVacation:
var result: ResponseVacation = ResponseVacation.new()
if d.get("start_time", null) != null:
result.start_time = d["start_time"]
if d.get("end_time", null) != null:
result.end_time = d["end_time"]
return result

View file

@ -0,0 +1 @@
uid://dirdmoagnwksy

View file

@ -0,0 +1,99 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCreateClip
##
## #/components/schemas/CreateClipResponse
class Response extends TwitchData:
##
@export var data: Array[ResponseData]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[ResponseData]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(ResponseData.from_json(value))
return result
##
## #/components/schemas/CreateClipResponse/Data
class ResponseData extends TwitchData:
## A URL that you can use to edit the clips title, identify the part of the clip to publish, and publish the clip. [Learn More](https://help.twitch.tv/s/article/how-to-use-clips)
##
## The URL is valid for up to 24 hours or until the clip is published, whichever comes first.
@export var edit_url: String:
set(val):
edit_url = val
track_data(&"edit_url", val)
## An ID that uniquely identifies the clip.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## Constructor with all required fields.
static func create(_edit_url: String, _id: String) -> ResponseData:
var response_data: ResponseData = ResponseData.new()
response_data.edit_url = _edit_url
response_data.id = _id
return response_data
static func from_json(d: Dictionary) -> ResponseData:
var result: ResponseData = ResponseData.new()
if d.get("edit_url", null) != null:
result.edit_url = d["edit_url"]
if d.get("id", null) != null:
result.id = d["id"]
return result
## All optional parameters for TwitchAPI.create_clip
## #/components/schemas/CreateClipOpt
class Opt extends TwitchData:
## A Boolean value that determines whether the API captures the clip at the moment the viewer requests it or after a delay. If **false** (default), Twitch captures the clip at the moment the viewer requests it (this is the same clip experience as the Twitch UX). If **true**, Twitch adds a delay before capturing the clip (this basically shifts the capture window to the right slightly).
@export var has_delay: bool:
set(val):
has_delay = val
track_data(&"has_delay", val)
## Constructor with all required fields.
static func create() -> Opt:
var opt: Opt = Opt.new()
return opt
static func from_json(d: Dictionary) -> Opt:
var result: Opt = Opt.new()
if d.get("has_delay", null) != null:
result.has_delay = d["has_delay"]
return result

View file

@ -0,0 +1 @@
uid://dl4qg2h6hfagg

View file

@ -0,0 +1,98 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCreateConduits
##
## #/components/schemas/CreateConduitsBody
class Body extends TwitchData:
## The number of shards to create for this conduit.
@export var shard_count: int:
set(val):
shard_count = val
track_data(&"shard_count", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_shard_count: int) -> Body:
var body: Body = Body.new()
body.shard_count = _shard_count
return body
static func from_json(d: Dictionary) -> Body:
var result: Body = Body.new()
if d.get("shard_count", null) != null:
result.shard_count = d["shard_count"]
return result
##
## #/components/schemas/CreateConduitsResponse
class Response extends TwitchData:
## List of information about the clients conduits.
@export var data: Array[ResponseData]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[ResponseData]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(ResponseData.from_json(value))
return result
## List of information about the clients conduits.
## #/components/schemas/CreateConduitsResponse/Data
class ResponseData extends TwitchData:
## Conduit ID.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## Number of shards created for this conduit.
@export var shard_count: int:
set(val):
shard_count = val
track_data(&"shard_count", val)
## Constructor with all required fields.
static func create(_id: String, _shard_count: int) -> ResponseData:
var response_data: ResponseData = ResponseData.new()
response_data.id = _id
response_data.shard_count = _shard_count
return response_data
static func from_json(d: Dictionary) -> ResponseData:
var result: ResponseData = ResponseData.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("shard_count", null) != null:
result.shard_count = d["shard_count"]
return result

View file

@ -0,0 +1 @@
uid://bons7t6r3bd0i

View file

@ -0,0 +1,159 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCreateCustomRewards
##
## #/components/schemas/CreateCustomRewardsBody
class Body extends TwitchData:
## The custom rewards title. The title may contain a maximum of 45 characters and it must be unique amongst all of the broadcasters custom rewards.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## The cost of the reward, in Channel Points. The minimum is 1 point.
@export var cost: int:
set(val):
cost = val
track_data(&"cost", val)
## The prompt shown to the viewer when they redeem the reward. Specify a prompt if `is_user_input_required` is **true**. The prompt is limited to a maximum of 200 characters.
@export var prompt: String:
set(val):
prompt = val
track_data(&"prompt", val)
## A Boolean value that determines whether the reward is enabled. Viewers see only enabled rewards. The default is **true**.
@export var is_enabled: bool:
set(val):
is_enabled = val
track_data(&"is_enabled", val)
## The background color to use for the reward. Specify the color using Hex format (for example, #9147FF).
@export var background_color: String:
set(val):
background_color = val
track_data(&"background_color", val)
## A Boolean value that determines whether the user needs to enter information when redeeming the reward. See the `prompt` field. The default is **false**.
@export var is_user_input_required: bool:
set(val):
is_user_input_required = val
track_data(&"is_user_input_required", val)
## A Boolean value that determines whether to limit the maximum number of redemptions allowed per live stream (see the `max_per_stream` field). The default is **false**.
@export var is_max_per_stream_enabled: bool:
set(val):
is_max_per_stream_enabled = val
track_data(&"is_max_per_stream_enabled", val)
## The maximum number of redemptions allowed per live stream. Applied only if `is_max_per_stream_enabled` is **true**. The minimum value is 1.
@export var max_per_stream: int:
set(val):
max_per_stream = val
track_data(&"max_per_stream", val)
## A Boolean value that determines whether to limit the maximum number of redemptions allowed per user per stream (see the `max_per_user_per_stream` field). The default is **false**.
@export var is_max_per_user_per_stream_enabled: bool:
set(val):
is_max_per_user_per_stream_enabled = val
track_data(&"is_max_per_user_per_stream_enabled", val)
## The maximum number of redemptions allowed per user per stream. Applied only if `is_max_per_user_per_stream_enabled` is **true**. The minimum value is 1.
@export var max_per_user_per_stream: int:
set(val):
max_per_user_per_stream = val
track_data(&"max_per_user_per_stream", val)
## A Boolean value that determines whether to apply a cooldown period between redemptions (see the `global_cooldown_seconds` field for the duration of the cooldown period). The default is **false**.
@export var is_global_cooldown_enabled: bool:
set(val):
is_global_cooldown_enabled = val
track_data(&"is_global_cooldown_enabled", val)
## The cooldown period, in seconds. Applied only if the `is_global_cooldown_enabled` field is **true**. The minimum value is 1; however, the minimum value is 60 for it to be shown in the Twitch UX.
@export var global_cooldown_seconds: int:
set(val):
global_cooldown_seconds = val
track_data(&"global_cooldown_seconds", val)
## A Boolean value that determines whether redemptions should be set to FULFILLED status immediately when a reward is redeemed. If **false**, status is set to UNFULFILLED and follows the normal request queue process. The default is **false**.
@export var should_redemptions_skip_request_queue: bool:
set(val):
should_redemptions_skip_request_queue = val
track_data(&"should_redemptions_skip_request_queue", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_title: String, _cost: int) -> Body:
var body: Body = Body.new()
body.title = _title
body.cost = _cost
return body
static func from_json(d: Dictionary) -> Body:
var result: Body = Body.new()
if d.get("title", null) != null:
result.title = d["title"]
if d.get("cost", null) != null:
result.cost = d["cost"]
if d.get("prompt", null) != null:
result.prompt = d["prompt"]
if d.get("is_enabled", null) != null:
result.is_enabled = d["is_enabled"]
if d.get("background_color", null) != null:
result.background_color = d["background_color"]
if d.get("is_user_input_required", null) != null:
result.is_user_input_required = d["is_user_input_required"]
if d.get("is_max_per_stream_enabled", null) != null:
result.is_max_per_stream_enabled = d["is_max_per_stream_enabled"]
if d.get("max_per_stream", null) != null:
result.max_per_stream = d["max_per_stream"]
if d.get("is_max_per_user_per_stream_enabled", null) != null:
result.is_max_per_user_per_stream_enabled = d["is_max_per_user_per_stream_enabled"]
if d.get("max_per_user_per_stream", null) != null:
result.max_per_user_per_stream = d["max_per_user_per_stream"]
if d.get("is_global_cooldown_enabled", null) != null:
result.is_global_cooldown_enabled = d["is_global_cooldown_enabled"]
if d.get("global_cooldown_seconds", null) != null:
result.global_cooldown_seconds = d["global_cooldown_seconds"]
if d.get("should_redemptions_skip_request_queue", null) != null:
result.should_redemptions_skip_request_queue = d["should_redemptions_skip_request_queue"]
return result
##
## #/components/schemas/CreateCustomRewardsResponse
class Response extends TwitchData:
## A list that contains the single custom reward you created.
@export var data: Array[TwitchCustomReward]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[TwitchCustomReward]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(TwitchCustomReward.from_json(value))
return result

View file

@ -0,0 +1 @@
uid://cv6f7hpvjsm24

View file

@ -0,0 +1,181 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCreateEventSubSubscription
##
## #/components/schemas/CreateEventSubSubscriptionBody
class Body extends TwitchData:
## The type of subscription to create. For a list of subscriptions that you can create, see [Subscription Types](https://dev.twitch.tv/docs/eventsub/eventsub-subscription-types#subscription-types). Set this field to the value in the **Name** column of the Subscription Types table.
@export var type: String:
set(val):
type = val
track_data(&"type", val)
## The version number that identifies the definition of the subscription type that you want the response to use.
@export var version: String:
set(val):
version = val
track_data(&"version", val)
## A JSON object that contains the parameter values that are specific to the specified subscription type. For the objects required and optional fields, see the subscription types documentation.
@export var condition: Dictionary:
set(val):
condition = val
track_data(&"condition", val)
## The transport details that you want Twitch to use when sending you notifications.
@export var transport: BodyTransport:
set(val):
transport = val
track_data(&"transport", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_type: String, _version: String, _condition: Dictionary, _transport: BodyTransport) -> Body:
var body: Body = Body.new()
body.type = _type
body.version = _version
body.condition = _condition
body.transport = _transport
return body
static func from_json(d: Dictionary) -> Body:
var result: Body = Body.new()
if d.get("type", null) != null:
result.type = d["type"]
if d.get("version", null) != null:
result.version = d["version"]
if d.get("condition", null) != null:
result.condition = d["condition"]
if d.get("transport", null) != null:
result.transport = BodyTransport.from_json(d["transport"])
return result
## The transport details that you want Twitch to use when sending you notifications.
## #/components/schemas/CreateEventSubSubscriptionBody/Transport
class BodyTransport extends TwitchData:
## The transport method. Possible values are:
##
## * webhook
## * websocket
## * conduit
@export var method: String:
set(val):
method = val
track_data(&"method", val)
## The callback URL where the notifications are sent. The URL must use the HTTPS protocol and port 443\. See [Processing an event](https://dev.twitch.tv/docs/eventsub/handling-webhook-events#processing-an-event). Specify this field only if `method` is set to **webhook**.
##
## **NOTE**: Redirects are not followed.
@export var callback: String:
set(val):
callback = val
track_data(&"callback", val)
## The secret used to verify the signature. The secret must be an ASCII string thats a minimum of 10 characters long and a maximum of 100 characters long. For information about how the secret is used, see [Verifying the event message](https://dev.twitch.tv/docs/eventsub/handling-webhook-events#verifying-the-event-message). Specify this field only if `method` is set to **webhook**.
@export var secret: String:
set(val):
secret = val
track_data(&"secret", val)
## An ID that identifies the WebSocket to send notifications to. When you connect to EventSub using WebSockets, the server returns the ID in the Welcome message. Specify this field only if `method` is set to **websocket**.
@export var session_id: String:
set(val):
session_id = val
track_data(&"session_id", val)
## An ID that identifies the conduit to send notifications to. When you create a conduit, the server returns the conduit ID. Specify this field only if `method` is set to **conduit**.
@export var conduit_id: String:
set(val):
conduit_id = val
track_data(&"conduit_id", val)
## Constructor with all required fields.
static func create(_method: String) -> BodyTransport:
var body_transport: BodyTransport = BodyTransport.new()
body_transport.method = _method
return body_transport
static func from_json(d: Dictionary) -> BodyTransport:
var result: BodyTransport = BodyTransport.new()
if d.get("method", null) != null:
result.method = d["method"]
if d.get("callback", null) != null:
result.callback = d["callback"]
if d.get("secret", null) != null:
result.secret = d["secret"]
if d.get("session_id", null) != null:
result.session_id = d["session_id"]
if d.get("conduit_id", null) != null:
result.conduit_id = d["conduit_id"]
return result
##
## #/components/schemas/CreateEventSubSubscriptionResponse
class Response extends TwitchData:
## A list that contains the single subscription that you created.
@export var data: Array[TwitchEventSubSubscription]:
set(val):
data = val
track_data(&"data", val)
## The total number of subscriptions youve created.
@export var total: int:
set(val):
total = val
track_data(&"total", val)
## The sum of all of your subscription costs. [Learn More](https://dev.twitch.tv/docs/eventsub/manage-subscriptions/#subscription-limits)
@export var total_cost: int:
set(val):
total_cost = val
track_data(&"total_cost", val)
## The maximum total cost that youre allowed to incur for all subscriptions you create.
@export var max_total_cost: int:
set(val):
max_total_cost = val
track_data(&"max_total_cost", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[TwitchEventSubSubscription], _total: int, _total_cost: int, _max_total_cost: int) -> Response:
var response: Response = Response.new()
response.data = _data
response.total = _total
response.total_cost = _total_cost
response.max_total_cost = _max_total_cost
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(TwitchEventSubSubscription.from_json(value))
if d.get("total", null) != null:
result.total = d["total"]
if d.get("total_cost", null) != null:
result.total_cost = d["total_cost"]
if d.get("max_total_cost", null) != null:
result.max_total_cost = d["max_total_cost"]
return result

View file

@ -0,0 +1 @@
uid://o5jsuop8s3fq

View file

@ -0,0 +1,61 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCreateExtensionSecret
##
## #/components/schemas/CreateExtensionSecretResponse
class Response extends TwitchData:
## A list that contains the newly added secrets.
@export var data: Array[TwitchExtensionSecret]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[TwitchExtensionSecret]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(TwitchExtensionSecret.from_json(value))
return result
## All optional parameters for TwitchAPI.create_extension_secret
## #/components/schemas/CreateExtensionSecretOpt
class Opt extends TwitchData:
## The amount of time, in seconds, to delay activating the secret. The delay should provide enough time for instances of the extension to gracefully switch over to the new secret. The minimum delay is 300 seconds (5 minutes). The default is 300 seconds.
@export var delay: int:
set(val):
delay = val
track_data(&"delay", val)
## Constructor with all required fields.
static func create() -> Opt:
var opt: Opt = Opt.new()
return opt
static func from_json(d: Dictionary) -> Opt:
var result: Opt = Opt.new()
if d.get("delay", null) != null:
result.delay = d["delay"]
return result

View file

@ -0,0 +1 @@
uid://cve0b0q7ilalj

View file

@ -0,0 +1,35 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCreateGuestStarSession
##
## #/components/schemas/CreateGuestStarSessionResponse
class Response extends TwitchData:
## Summary of the session details.
@export var data: Array[TwitchGuestStarSession]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[TwitchGuestStarSession]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(TwitchGuestStarSession.from_json(value))
return result

View file

@ -0,0 +1 @@
uid://xisxuptqxomh

View file

@ -0,0 +1,133 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCreatePoll
##
## #/components/schemas/CreatePollBody
class Body extends TwitchData:
## The ID of the broadcaster thats running the poll. This ID must match the user ID in the user access token.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The question that viewers will vote on. For example, _What game should I play next?_ The question may contain a maximum of 60 characters.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## A list of choices that viewers may choose from. The list must contain a minimum of 2 choices and up to a maximum of 5 choices.
@export var choices: Array[BodyChoices]:
set(val):
choices = val
track_data(&"choices", val)
## The length of time (in seconds) that the poll will run for. The minimum is 15 seconds and the maximum is 1800 seconds (30 minutes).
@export var duration: int:
set(val):
duration = val
track_data(&"duration", val)
## A Boolean value that indicates whether viewers may cast additional votes using Channel Points. If **true**, the viewer may cast more than one vote but each additional vote costs the number of Channel Points specified in `channel_points_per_vote`. The default is **false** (viewers may cast only one vote). For information about Channel Points, see [Channel Points Guide](https://help.twitch.tv/s/article/channel-points-guide).
@export var channel_points_voting_enabled: bool:
set(val):
channel_points_voting_enabled = val
track_data(&"channel_points_voting_enabled", val)
## The number of points that the viewer must spend to cast one additional vote. The minimum is 1 and the maximum is 1000000\. Set only if `ChannelPointsVotingEnabled` is **true**.
@export var channel_points_per_vote: int:
set(val):
channel_points_per_vote = val
track_data(&"channel_points_per_vote", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_id: String, _title: String, _choices: Array[BodyChoices], _duration: int) -> Body:
var body: Body = Body.new()
body.broadcaster_id = _broadcaster_id
body.title = _title
body.choices = _choices
body.duration = _duration
return body
static func from_json(d: Dictionary) -> Body:
var result: Body = Body.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("title", null) != null:
result.title = d["title"]
if d.get("choices", null) != null:
for value in d["choices"]:
result.choices.append(BodyChoices.from_json(value))
if d.get("duration", null) != null:
result.duration = d["duration"]
if d.get("channel_points_voting_enabled", null) != null:
result.channel_points_voting_enabled = d["channel_points_voting_enabled"]
if d.get("channel_points_per_vote", null) != null:
result.channel_points_per_vote = d["channel_points_per_vote"]
return result
## A list of choices that viewers may choose from. The list must contain a minimum of 2 choices and up to a maximum of 5 choices.
## #/components/schemas/CreatePollBody/Choices
class BodyChoices extends TwitchData:
## One of the choices the viewer may select. The choice may contain a maximum of 25 characters.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## Constructor with all required fields.
static func create(_title: String) -> BodyChoices:
var body_choices: BodyChoices = BodyChoices.new()
body_choices.title = _title
return body_choices
static func from_json(d: Dictionary) -> BodyChoices:
var result: BodyChoices = BodyChoices.new()
if d.get("title", null) != null:
result.title = d["title"]
return result
##
## #/components/schemas/CreatePollResponse
class Response extends TwitchData:
## A list that contains the single poll that you created.
@export var data: Array[TwitchPoll]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[TwitchPoll]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(TwitchPoll.from_json(value))
return result

View file

@ -0,0 +1 @@
uid://cshwdnu6h67gu

View file

@ -0,0 +1,117 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCreatePrediction
##
## #/components/schemas/CreatePredictionBody
class Body extends TwitchData:
## The ID of the broadcaster thats running the prediction. This ID must match the user ID in the user access token.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The question that the broadcaster is asking. For example, _Will I finish this entire pizza?_ The title is limited to a maximum of 45 characters.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## The list of possible outcomes that the viewers may choose from. The list must contain a minimum of 2 choices and up to a maximum of 10 choices.
@export var outcomes: Array[BodyOutcomes]:
set(val):
outcomes = val
track_data(&"outcomes", val)
## The length of time (in seconds) that the prediction will run for. The minimum is 30 seconds and the maximum is 1800 seconds (30 minutes).
@export var prediction_window: int:
set(val):
prediction_window = val
track_data(&"prediction_window", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_id: String, _title: String, _outcomes: Array[BodyOutcomes], _prediction_window: int) -> Body:
var body: Body = Body.new()
body.broadcaster_id = _broadcaster_id
body.title = _title
body.outcomes = _outcomes
body.prediction_window = _prediction_window
return body
static func from_json(d: Dictionary) -> Body:
var result: Body = Body.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("title", null) != null:
result.title = d["title"]
if d.get("outcomes", null) != null:
for value in d["outcomes"]:
result.outcomes.append(BodyOutcomes.from_json(value))
if d.get("prediction_window", null) != null:
result.prediction_window = d["prediction_window"]
return result
## The list of possible outcomes that the viewers may choose from. The list must contain a minimum of 2 choices and up to a maximum of 10 choices.
## #/components/schemas/CreatePredictionBody/Outcomes
class BodyOutcomes extends TwitchData:
## The text of one of the outcomes that the viewer may select. The title is limited to a maximum of 25 characters.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## Constructor with all required fields.
static func create(_title: String) -> BodyOutcomes:
var body_outcomes: BodyOutcomes = BodyOutcomes.new()
body_outcomes.title = _title
return body_outcomes
static func from_json(d: Dictionary) -> BodyOutcomes:
var result: BodyOutcomes = BodyOutcomes.new()
if d.get("title", null) != null:
result.title = d["title"]
return result
##
## #/components/schemas/CreatePredictionResponse
class Response extends TwitchData:
## A list that contains the single prediction that you created.
@export var data: Array[TwitchPrediction]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[TwitchPrediction]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(TwitchPrediction.from_json(value))
return result

View file

@ -0,0 +1 @@
uid://oas7j3xjgwex

View file

@ -0,0 +1,70 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchCreateStreamMarker
##
## #/components/schemas/CreateStreamMarkerBody
class Body extends TwitchData:
## The ID of the broadcaster thats streaming content. This ID must match the user ID in the access token or the user in the access token must be one of the broadcasters editors.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_id", val)
## A short description of the marker to help the user remember why they marked the location. The maximum length of the description is 140 characters.
@export var description: String:
set(val):
description = val
track_data(&"description", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_user_id: String) -> Body:
var body: Body = Body.new()
body.user_id = _user_id
return body
static func from_json(d: Dictionary) -> Body:
var result: Body = Body.new()
if d.get("user_id", null) != null:
result.user_id = d["user_id"]
if d.get("description", null) != null:
result.description = d["description"]
return result
##
## #/components/schemas/CreateStreamMarkerResponse
class Response extends TwitchData:
## A list that contains the single marker that you added.
@export var data: Array[TwitchStreamMarkerCreated]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[TwitchStreamMarkerCreated]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(TwitchStreamMarkerCreated.from_json(value))
return result

View file

@ -0,0 +1 @@
uid://6xerpyoforp2

View file

@ -0,0 +1,115 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/CreatorGoal
class_name TwitchCreatorGoal
## An ID that identifies this goal.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## An ID that identifies the broadcaster that created the goal.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The broadcasters display name.
@export var broadcaster_name: String:
set(val):
broadcaster_name = val
track_data(&"broadcaster_name", val)
## The broadcasters login name.
@export var broadcaster_login: String:
set(val):
broadcaster_login = val
track_data(&"broadcaster_login", val)
## The type of goal. Possible values are:
##
## * follower — The goal is to increase followers.
## * subscription — The goal is to increase subscriptions. This type shows the net increase or decrease in tier points associated with the subscriptions.
## * subscription\_count — The goal is to increase subscriptions. This type shows the net increase or decrease in the number of subscriptions.
## * new\_subscription — The goal is to increase subscriptions. This type shows only the net increase in tier points associated with the subscriptions (it does not account for users that unsubscribed since the goal started).
## * new\_subscription\_count — The goal is to increase subscriptions. This type shows only the net increase in the number of subscriptions (it does not account for users that unsubscribed since the goal started).
@export var type: String:
set(val):
type = val
track_data(&"type", val)
## A description of the goal. Is an empty string if not specified.
@export var description: String:
set(val):
description = val
track_data(&"description", val)
## The goals current value.
##
## The goals `type` determines how this value is increased or decreased.
##
## * If `type` is follower, this field is set to the broadcaster's current number of followers. This number increases with new followers and decreases when users unfollow the broadcaster.
## * If `type` is subscription, this field is increased and decreased by the points value associated with the subscription tier. For example, if a tier-two subscription is worth 2 points, this field is increased or decreased by 2, not 1.
## * If `type` is subscription\_count, this field is increased by 1 for each new subscription and decreased by 1 for each user that unsubscribes.
## * If `type` is new\_subscription, this field is increased by the points value associated with the subscription tier. For example, if a tier-two subscription is worth 2 points, this field is increased by 2, not 1.
## * If `type` is new\_subscription\_count, this field is increased by 1 for each new subscription.
@export var current_amount: int:
set(val):
current_amount = val
track_data(&"current_amount", val)
## The goals target value. For example, if the broadcaster has 200 followers before creating the goal, and their goal is to double that number, this field is set to 400.
@export var target_amount: int:
set(val):
target_amount = val
track_data(&"target_amount", val)
## The UTC date and time (in RFC3339 format) that the broadcaster created the goal.
@export var created_at: String:
set(val):
created_at = val
track_data(&"created_at", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _broadcaster_id: String, _broadcaster_name: String, _broadcaster_login: String, _type: String, _description: String, _current_amount: int, _target_amount: int, _created_at: String) -> TwitchCreatorGoal:
var twitch_creator_goal: TwitchCreatorGoal = TwitchCreatorGoal.new()
twitch_creator_goal.id = _id
twitch_creator_goal.broadcaster_id = _broadcaster_id
twitch_creator_goal.broadcaster_name = _broadcaster_name
twitch_creator_goal.broadcaster_login = _broadcaster_login
twitch_creator_goal.type = _type
twitch_creator_goal.description = _description
twitch_creator_goal.current_amount = _current_amount
twitch_creator_goal.target_amount = _target_amount
twitch_creator_goal.created_at = _created_at
return twitch_creator_goal
static func from_json(d: Dictionary) -> TwitchCreatorGoal:
var result: TwitchCreatorGoal = TwitchCreatorGoal.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("broadcaster_name", null) != null:
result.broadcaster_name = d["broadcaster_name"]
if d.get("broadcaster_login", null) != null:
result.broadcaster_login = d["broadcaster_login"]
if d.get("type", null) != null:
result.type = d["type"]
if d.get("description", null) != null:
result.description = d["description"]
if d.get("current_amount", null) != null:
result.current_amount = d["current_amount"]
if d.get("target_amount", null) != null:
result.target_amount = d["target_amount"]
if d.get("created_at", null) != null:
result.created_at = d["created_at"]
return result

View file

@ -0,0 +1 @@
uid://d6ek35kfjk3e

View file

@ -0,0 +1,399 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/CustomReward
class_name TwitchCustomReward
## The ID that uniquely identifies the broadcaster.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The broadcasters login name.
@export var broadcaster_login: String:
set(val):
broadcaster_login = val
track_data(&"broadcaster_login", val)
## The broadcasters display name.
@export var broadcaster_name: String:
set(val):
broadcaster_name = val
track_data(&"broadcaster_name", val)
## The ID that uniquely identifies this custom reward.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The title of the reward.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## The prompt shown to the viewer when they redeem the reward if user input is required. See the `is_user_input_required` field.
@export var prompt: String:
set(val):
prompt = val
track_data(&"prompt", val)
## The cost of the reward in Channel Points.
@export var cost: int:
set(val):
cost = val
track_data(&"cost", val)
## A set of custom images for the reward. This field is **null** if the broadcaster didnt upload images.
@export var image: TwitchImage:
set(val):
image = val
track_data(&"image", val)
## A set of default images for the reward.
@export var default_image: DefaultImage:
set(val):
default_image = val
track_data(&"default_image", val)
## The background color to use for the reward. The color is in Hex format (for example, #00E5CB).
@export var background_color: String:
set(val):
background_color = val
track_data(&"background_color", val)
## A Boolean value that determines whether the reward is enabled. Is **true** if enabled; otherwise, **false**. Disabled rewards arent shown to the user.
@export var is_enabled: bool:
set(val):
is_enabled = val
track_data(&"is_enabled", val)
## A Boolean value that determines whether the user must enter information when they redeem the reward. Is **true** if the user is prompted.
@export var is_user_input_required: bool:
set(val):
is_user_input_required = val
track_data(&"is_user_input_required", val)
## The settings used to determine whether to apply a maximum to the number of redemptions allowed per live stream.
@export var max_per_stream_setting: MaxPerStreamSetting:
set(val):
max_per_stream_setting = val
track_data(&"max_per_stream_setting", val)
## The settings used to determine whether to apply a maximum to the number of redemptions allowed per user per live stream.
@export var max_per_user_per_stream_setting: MaxPerUserPerStreamSetting:
set(val):
max_per_user_per_stream_setting = val
track_data(&"max_per_user_per_stream_setting", val)
## The settings used to determine whether to apply a cooldown period between redemptions and the length of the cooldown.
@export var global_cooldown_setting: GlobalCooldownSetting:
set(val):
global_cooldown_setting = val
track_data(&"global_cooldown_setting", val)
## A Boolean value that determines whether the reward is currently paused. Is **true** if the reward is paused. Viewers cant redeem paused rewards.
@export var is_paused: bool:
set(val):
is_paused = val
track_data(&"is_paused", val)
## A Boolean value that determines whether the reward is currently in stock. Is **true** if the reward is in stock. Viewers cant redeem out of stock rewards.
@export var is_in_stock: bool:
set(val):
is_in_stock = val
track_data(&"is_in_stock", val)
## A Boolean value that determines whether redemptions should be set to FULFILLED status immediately when a reward is redeemed. If **false**, status is set to UNFULFILLED and follows the normal request queue process.
@export var should_redemptions_skip_request_queue: bool:
set(val):
should_redemptions_skip_request_queue = val
track_data(&"should_redemptions_skip_request_queue", val)
## The number of redemptions redeemed during the current live stream. The number counts against the `max_per_stream_setting` limit. This field is **null** if the broadcasters stream isnt live or _max\_per\_stream\_setting_ isnt enabled.
@export var redemptions_redeemed_current_stream: int:
set(val):
redemptions_redeemed_current_stream = val
track_data(&"redemptions_redeemed_current_stream", val)
## The timestamp of when the cooldown period expires. Is **null** if the reward isnt in a cooldown state. See the `global_cooldown_setting` field.
@export var cooldown_expires_at: String:
set(val):
cooldown_expires_at = val
track_data(&"cooldown_expires_at", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_id: String, _broadcaster_login: String, _broadcaster_name: String, _id: String, _title: String, _prompt: String, _cost: int, _image: TwitchImage, _default_image: DefaultImage, _background_color: String, _is_enabled: bool, _is_user_input_required: bool, _max_per_stream_setting: MaxPerStreamSetting, _max_per_user_per_stream_setting: MaxPerUserPerStreamSetting, _global_cooldown_setting: GlobalCooldownSetting, _is_paused: bool, _is_in_stock: bool, _should_redemptions_skip_request_queue: bool, _redemptions_redeemed_current_stream: int, _cooldown_expires_at: String) -> TwitchCustomReward:
var twitch_custom_reward: TwitchCustomReward = TwitchCustomReward.new()
twitch_custom_reward.broadcaster_id = _broadcaster_id
twitch_custom_reward.broadcaster_login = _broadcaster_login
twitch_custom_reward.broadcaster_name = _broadcaster_name
twitch_custom_reward.id = _id
twitch_custom_reward.title = _title
twitch_custom_reward.prompt = _prompt
twitch_custom_reward.cost = _cost
twitch_custom_reward.image = _image
twitch_custom_reward.default_image = _default_image
twitch_custom_reward.background_color = _background_color
twitch_custom_reward.is_enabled = _is_enabled
twitch_custom_reward.is_user_input_required = _is_user_input_required
twitch_custom_reward.max_per_stream_setting = _max_per_stream_setting
twitch_custom_reward.max_per_user_per_stream_setting = _max_per_user_per_stream_setting
twitch_custom_reward.global_cooldown_setting = _global_cooldown_setting
twitch_custom_reward.is_paused = _is_paused
twitch_custom_reward.is_in_stock = _is_in_stock
twitch_custom_reward.should_redemptions_skip_request_queue = _should_redemptions_skip_request_queue
twitch_custom_reward.redemptions_redeemed_current_stream = _redemptions_redeemed_current_stream
twitch_custom_reward.cooldown_expires_at = _cooldown_expires_at
return twitch_custom_reward
static func from_json(d: Dictionary) -> TwitchCustomReward:
var result: TwitchCustomReward = TwitchCustomReward.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("broadcaster_login", null) != null:
result.broadcaster_login = d["broadcaster_login"]
if d.get("broadcaster_name", null) != null:
result.broadcaster_name = d["broadcaster_name"]
if d.get("id", null) != null:
result.id = d["id"]
if d.get("title", null) != null:
result.title = d["title"]
if d.get("prompt", null) != null:
result.prompt = d["prompt"]
if d.get("cost", null) != null:
result.cost = d["cost"]
if d.get("image", null) != null:
result.image = TwitchImage.from_json(d["image"])
if d.get("default_image", null) != null:
result.default_image = DefaultImage.from_json(d["default_image"])
if d.get("background_color", null) != null:
result.background_color = d["background_color"]
if d.get("is_enabled", null) != null:
result.is_enabled = d["is_enabled"]
if d.get("is_user_input_required", null) != null:
result.is_user_input_required = d["is_user_input_required"]
if d.get("max_per_stream_setting", null) != null:
result.max_per_stream_setting = MaxPerStreamSetting.from_json(d["max_per_stream_setting"])
if d.get("max_per_user_per_stream_setting", null) != null:
result.max_per_user_per_stream_setting = MaxPerUserPerStreamSetting.from_json(d["max_per_user_per_stream_setting"])
if d.get("global_cooldown_setting", null) != null:
result.global_cooldown_setting = GlobalCooldownSetting.from_json(d["global_cooldown_setting"])
if d.get("is_paused", null) != null:
result.is_paused = d["is_paused"]
if d.get("is_in_stock", null) != null:
result.is_in_stock = d["is_in_stock"]
if d.get("should_redemptions_skip_request_queue", null) != null:
result.should_redemptions_skip_request_queue = d["should_redemptions_skip_request_queue"]
if d.get("redemptions_redeemed_current_stream", null) != null:
result.redemptions_redeemed_current_stream = d["redemptions_redeemed_current_stream"]
if d.get("cooldown_expires_at", null) != null:
result.cooldown_expires_at = d["cooldown_expires_at"]
return result
## A set of custom images for the reward. This field is **null** if the broadcaster didnt upload images.
## #/components/schemas/CustomReward/Image
class TwitchImage extends TwitchData:
## The URL to a small version of the image.
@export var url_1x: String:
set(val):
url_1x = val
track_data(&"url_1x", val)
## The URL to a medium version of the image.
@export var url_2x: String:
set(val):
url_2x = val
track_data(&"url_2x", val)
## The URL to a large version of the image.
@export var url_4x: String:
set(val):
url_4x = val
track_data(&"url_4x", val)
## Constructor with all required fields.
static func create(_url_1x: String, _url_2x: String, _url_4x: String) -> TwitchImage:
var twitch_image: TwitchImage = TwitchImage.new()
twitch_image.url_1x = _url_1x
twitch_image.url_2x = _url_2x
twitch_image.url_4x = _url_4x
return twitch_image
static func from_json(d: Dictionary) -> TwitchImage:
var result: TwitchImage = TwitchImage.new()
if d.get("url_1x", null) != null:
result.url_1x = d["url_1x"]
if d.get("url_2x", null) != null:
result.url_2x = d["url_2x"]
if d.get("url_4x", null) != null:
result.url_4x = d["url_4x"]
return result
## A set of default images for the reward.
## #/components/schemas/CustomReward/DefaultImage
class DefaultImage extends TwitchData:
## The URL to a small version of the image.
@export var url_1x: String:
set(val):
url_1x = val
track_data(&"url_1x", val)
## The URL to a medium version of the image.
@export var url_2x: String:
set(val):
url_2x = val
track_data(&"url_2x", val)
## The URL to a large version of the image.
@export var url_4x: String:
set(val):
url_4x = val
track_data(&"url_4x", val)
## Constructor with all required fields.
static func create(_url_1x: String, _url_2x: String, _url_4x: String) -> DefaultImage:
var default_image: DefaultImage = DefaultImage.new()
default_image.url_1x = _url_1x
default_image.url_2x = _url_2x
default_image.url_4x = _url_4x
return default_image
static func from_json(d: Dictionary) -> DefaultImage:
var result: DefaultImage = DefaultImage.new()
if d.get("url_1x", null) != null:
result.url_1x = d["url_1x"]
if d.get("url_2x", null) != null:
result.url_2x = d["url_2x"]
if d.get("url_4x", null) != null:
result.url_4x = d["url_4x"]
return result
## The settings used to determine whether to apply a maximum to the number of redemptions allowed per live stream.
## #/components/schemas/CustomReward/MaxPerStreamSetting
class MaxPerStreamSetting extends TwitchData:
## A Boolean value that determines whether the reward applies a limit on the number of redemptions allowed per live stream. Is **true** if the reward applies a limit.
@export var is_enabled: bool:
set(val):
is_enabled = val
track_data(&"is_enabled", val)
## The maximum number of redemptions allowed per live stream.
@export var max_per_stream: int:
set(val):
max_per_stream = val
track_data(&"max_per_stream", val)
## Constructor with all required fields.
static func create(_is_enabled: bool, _max_per_stream: int) -> MaxPerStreamSetting:
var max_per_stream_setting: MaxPerStreamSetting = MaxPerStreamSetting.new()
max_per_stream_setting.is_enabled = _is_enabled
max_per_stream_setting.max_per_stream = _max_per_stream
return max_per_stream_setting
static func from_json(d: Dictionary) -> MaxPerStreamSetting:
var result: MaxPerStreamSetting = MaxPerStreamSetting.new()
if d.get("is_enabled", null) != null:
result.is_enabled = d["is_enabled"]
if d.get("max_per_stream", null) != null:
result.max_per_stream = d["max_per_stream"]
return result
## The settings used to determine whether to apply a maximum to the number of redemptions allowed per user per live stream.
## #/components/schemas/CustomReward/MaxPerUserPerStreamSetting
class MaxPerUserPerStreamSetting extends TwitchData:
## A Boolean value that determines whether the reward applies a limit on the number of redemptions allowed per user per live stream. Is **true** if the reward applies a limit.
@export var is_enabled: bool:
set(val):
is_enabled = val
track_data(&"is_enabled", val)
## The maximum number of redemptions allowed per user per live stream.
@export var max_per_user_per_stream: int:
set(val):
max_per_user_per_stream = val
track_data(&"max_per_user_per_stream", val)
## Constructor with all required fields.
static func create(_is_enabled: bool, _max_per_user_per_stream: int) -> MaxPerUserPerStreamSetting:
var max_per_user_per_stream_setting: MaxPerUserPerStreamSetting = MaxPerUserPerStreamSetting.new()
max_per_user_per_stream_setting.is_enabled = _is_enabled
max_per_user_per_stream_setting.max_per_user_per_stream = _max_per_user_per_stream
return max_per_user_per_stream_setting
static func from_json(d: Dictionary) -> MaxPerUserPerStreamSetting:
var result: MaxPerUserPerStreamSetting = MaxPerUserPerStreamSetting.new()
if d.get("is_enabled", null) != null:
result.is_enabled = d["is_enabled"]
if d.get("max_per_user_per_stream", null) != null:
result.max_per_user_per_stream = d["max_per_user_per_stream"]
return result
## The settings used to determine whether to apply a cooldown period between redemptions and the length of the cooldown.
## #/components/schemas/CustomReward/GlobalCooldownSetting
class GlobalCooldownSetting extends TwitchData:
## A Boolean value that determines whether to apply a cooldown period. Is **true** if a cooldown period is enabled.
@export var is_enabled: bool:
set(val):
is_enabled = val
track_data(&"is_enabled", val)
## The cooldown period, in seconds.
@export var global_cooldown_seconds: int:
set(val):
global_cooldown_seconds = val
track_data(&"global_cooldown_seconds", val)
## Constructor with all required fields.
static func create(_is_enabled: bool, _global_cooldown_seconds: int) -> GlobalCooldownSetting:
var global_cooldown_setting: GlobalCooldownSetting = GlobalCooldownSetting.new()
global_cooldown_setting.is_enabled = _is_enabled
global_cooldown_setting.global_cooldown_seconds = _global_cooldown_seconds
return global_cooldown_setting
static func from_json(d: Dictionary) -> GlobalCooldownSetting:
var result: GlobalCooldownSetting = GlobalCooldownSetting.new()
if d.get("is_enabled", null) != null:
result.is_enabled = d["is_enabled"]
if d.get("global_cooldown_seconds", null) != null:
result.global_cooldown_seconds = d["global_cooldown_seconds"]
return result

View file

@ -0,0 +1 @@
uid://d34uaswkjcjbo

View file

@ -0,0 +1,178 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/CustomRewardRedemption
class_name TwitchCustomRewardRedemption
## The ID that uniquely identifies the broadcaster.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The broadcasters login name.
@export var broadcaster_login: String:
set(val):
broadcaster_login = val
track_data(&"broadcaster_login", val)
## The broadcasters display name.
@export var broadcaster_name: String:
set(val):
broadcaster_name = val
track_data(&"broadcaster_name", val)
## The ID that uniquely identifies this redemption..
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The ID of the user that redeemed the reward.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_id", val)
## The users display name.
@export var user_name: String:
set(val):
user_name = val
track_data(&"user_name", val)
## The users login name.
@export var user_login: String:
set(val):
user_login = val
track_data(&"user_login", val)
## An object that describes the reward that the user redeemed.
@export var reward: Reward:
set(val):
reward = val
track_data(&"reward", val)
## The text that the user entered at the prompt when they redeemed the reward; otherwise, an empty string if user input was not required.
@export var user_input: String:
set(val):
user_input = val
track_data(&"user_input", val)
## The state of the redemption. Possible values are:
##
## * CANCELED
## * FULFILLED
## * UNFULFILLED
@export var status: String:
set(val):
status = val
track_data(&"status", val)
## The date and time of when the reward was redeemed, in RFC3339 format.
@export var redeemed_at: String:
set(val):
redeemed_at = val
track_data(&"redeemed_at", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_broadcaster_id: String, _broadcaster_login: String, _broadcaster_name: String, _id: String, _user_id: String, _user_name: String, _user_login: String, _reward: Reward, _user_input: String, _status: String, _redeemed_at: String) -> TwitchCustomRewardRedemption:
var twitch_custom_reward_redemption: TwitchCustomRewardRedemption = TwitchCustomRewardRedemption.new()
twitch_custom_reward_redemption.broadcaster_id = _broadcaster_id
twitch_custom_reward_redemption.broadcaster_login = _broadcaster_login
twitch_custom_reward_redemption.broadcaster_name = _broadcaster_name
twitch_custom_reward_redemption.id = _id
twitch_custom_reward_redemption.user_id = _user_id
twitch_custom_reward_redemption.user_name = _user_name
twitch_custom_reward_redemption.user_login = _user_login
twitch_custom_reward_redemption.reward = _reward
twitch_custom_reward_redemption.user_input = _user_input
twitch_custom_reward_redemption.status = _status
twitch_custom_reward_redemption.redeemed_at = _redeemed_at
return twitch_custom_reward_redemption
static func from_json(d: Dictionary) -> TwitchCustomRewardRedemption:
var result: TwitchCustomRewardRedemption = TwitchCustomRewardRedemption.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("broadcaster_login", null) != null:
result.broadcaster_login = d["broadcaster_login"]
if d.get("broadcaster_name", null) != null:
result.broadcaster_name = d["broadcaster_name"]
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_name", null) != null:
result.user_name = d["user_name"]
if d.get("user_login", null) != null:
result.user_login = d["user_login"]
if d.get("reward", null) != null:
result.reward = Reward.from_json(d["reward"])
if d.get("user_input", null) != null:
result.user_input = d["user_input"]
if d.get("status", null) != null:
result.status = d["status"]
if d.get("redeemed_at", null) != null:
result.redeemed_at = d["redeemed_at"]
return result
## An object that describes the reward that the user redeemed.
## #/components/schemas/CustomRewardRedemption/Reward
class Reward extends TwitchData:
## The ID that uniquely identifies the reward.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The rewards title.
@export var title: String:
set(val):
title = val
track_data(&"title", val)
## The prompt displayed to the viewer if user input is required.
@export var prompt: String:
set(val):
prompt = val
track_data(&"prompt", val)
## The rewards cost, in Channel Points.
@export var cost: int:
set(val):
cost = val
track_data(&"cost", val)
## Constructor with all required fields.
static func create(_id: String, _title: String, _prompt: String, _cost: int) -> Reward:
var reward: Reward = Reward.new()
reward.id = _id
reward.title = _title
reward.prompt = _prompt
reward.cost = _cost
return reward
static func from_json(d: Dictionary) -> Reward:
var result: Reward = Reward.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("title", null) != null:
result.title = d["title"]
if d.get("prompt", null) != null:
result.prompt = d["prompt"]
if d.get("cost", null) != null:
result.cost = d["cost"]
return result

View file

@ -0,0 +1 @@
uid://0s4apewkcan0

View file

@ -0,0 +1,39 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchDeleteChatMessages
## All optional parameters for TwitchAPI.delete_chat_messages
## #/components/schemas/DeleteChatMessagesOpt
class Opt extends TwitchData:
## The ID of the message to remove. The `id` tag in the [PRIVMSG](https://dev.twitch.tv/docs/irc/tags#privmsg-tags) tag contains the messages ID. Restrictions:
##
## * The message must have been created within the last 6 hours.
## * The message must not belong to the broadcaster.
## * The message must not belong to another moderator.
##
## If not specified, the request removes all messages in the broadcasters chat room.
@export var message_id: String:
set(val):
message_id = val
track_data(&"message_id", val)
## Constructor with all required fields.
static func create() -> Opt:
var opt: Opt = Opt.new()
return opt
static func from_json(d: Dictionary) -> Opt:
var result: Opt = Opt.new()
if d.get("message_id", null) != null:
result.message_id = d["message_id"]
return result

View file

@ -0,0 +1 @@
uid://bifgk3c6tnogu

View file

@ -0,0 +1,33 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchDeleteGuestStarSlot
## All optional parameters for TwitchAPI.delete_guest_star_slot
## #/components/schemas/DeleteGuestStarSlotOpt
class Opt extends TwitchData:
## Flag signaling that the guest should be reinvited to the session, sending them back to the invite queue.
@export var should_reinvite_guest: String:
set(val):
should_reinvite_guest = val
track_data(&"should_reinvite_guest", val)
## Constructor with all required fields.
static func create() -> Opt:
var opt: Opt = Opt.new()
return opt
static func from_json(d: Dictionary) -> Opt:
var result: Opt = Opt.new()
if d.get("should_reinvite_guest", null) != null:
result.should_reinvite_guest = d["should_reinvite_guest"]
return result

View file

@ -0,0 +1 @@
uid://cumi77bjenewb

View file

@ -0,0 +1,35 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchDeleteVideos
##
## #/components/schemas/DeleteVideosResponse
class Response extends TwitchData:
## The list of IDs of the videos that were deleted.
@export var data: Array[String]:
set(val):
data = val
track_data(&"data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[String]) -> Response:
var response: Response = Response.new()
response.data = _data
return response
static func from_json(d: Dictionary) -> Response:
var result: Response = Response.new()
if d.get("data", null) != null:
for value in d["data"]:
result.data.append(value)
return result

View file

@ -0,0 +1 @@
uid://e4uvq6ctah05

View file

@ -0,0 +1,86 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/DropsEntitlement
class_name TwitchDropsEntitlement
## An ID that identifies the entitlement.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## An ID that identifies the benefit (reward).
@export var benefit_id: String:
set(val):
benefit_id = val
track_data(&"benefit_id", val)
## The UTC date and time (in RFC3339 format) of when the entitlement was granted.
@export var timestamp: String:
set(val):
timestamp = val
track_data(&"timestamp", val)
## An ID that identifies the user who was granted the entitlement.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_id", val)
## An ID that identifies the game the user was playing when the reward was entitled.
@export var game_id: String:
set(val):
game_id = val
track_data(&"game_id", val)
## The entitlements fulfillment status. Possible values are:
##
## * CLAIMED
## * FULFILLED
@export var fulfillment_status: String:
set(val):
fulfillment_status = val
track_data(&"fulfillment_status", val)
## The UTC date and time (in RFC3339 format) of when the entitlement was last updated.
@export var last_updated: String:
set(val):
last_updated = val
track_data(&"last_updated", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _benefit_id: String, _timestamp: String, _user_id: String, _game_id: String, _fulfillment_status: String, _last_updated: String) -> TwitchDropsEntitlement:
var twitch_drops_entitlement: TwitchDropsEntitlement = TwitchDropsEntitlement.new()
twitch_drops_entitlement.id = _id
twitch_drops_entitlement.benefit_id = _benefit_id
twitch_drops_entitlement.timestamp = _timestamp
twitch_drops_entitlement.user_id = _user_id
twitch_drops_entitlement.game_id = _game_id
twitch_drops_entitlement.fulfillment_status = _fulfillment_status
twitch_drops_entitlement.last_updated = _last_updated
return twitch_drops_entitlement
static func from_json(d: Dictionary) -> TwitchDropsEntitlement:
var result: TwitchDropsEntitlement = TwitchDropsEntitlement.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("benefit_id", null) != null:
result.benefit_id = d["benefit_id"]
if d.get("timestamp", null) != null:
result.timestamp = d["timestamp"]
if d.get("user_id", null) != null:
result.user_id = d["user_id"]
if d.get("game_id", null) != null:
result.game_id = d["game_id"]
if d.get("fulfillment_status", null) != null:
result.fulfillment_status = d["fulfillment_status"]
if d.get("last_updated", null) != null:
result.last_updated = d["last_updated"]
return result

View file

@ -0,0 +1 @@
uid://dd4h7ue40wrt0

View file

@ -0,0 +1,45 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/DropsEntitlementUpdated
class_name TwitchDropsEntitlementUpdated
## A string that indicates whether the status of the entitlements in the `ids` field were successfully updated. Possible values are:
##
## * INVALID\_ID — The entitlement IDs in the `ids` field are not valid.
## * NOT\_FOUND — The entitlement IDs in the `ids` field were not found.
## * SUCCESS — The status of the entitlements in the `ids` field were successfully updated.
## * UNAUTHORIZED — The user or organization identified by the user access token is not authorized to update the entitlements.
## * UPDATE\_FAILED — The update failed. These are considered transient errors and the request should be retried later.
@export var status: String:
set(val):
status = val
track_data(&"status", val)
## The list of entitlements that the status in the `status` field applies to.
@export var ids: Array[String]:
set(val):
ids = val
track_data(&"ids", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_status: String, _ids: Array[String]) -> TwitchDropsEntitlementUpdated:
var twitch_drops_entitlement_updated: TwitchDropsEntitlementUpdated = TwitchDropsEntitlementUpdated.new()
twitch_drops_entitlement_updated.status = _status
twitch_drops_entitlement_updated.ids = _ids
return twitch_drops_entitlement_updated
static func from_json(d: Dictionary) -> TwitchDropsEntitlementUpdated:
var result: TwitchDropsEntitlementUpdated = TwitchDropsEntitlementUpdated.new()
if d.get("status", null) != null:
result.status = d["status"]
if d.get("ids", null) != null:
for value in d["ids"]:
result.ids.append(value)
return result

View file

@ -0,0 +1 @@
uid://b8bl0d0wy1n0f

View file

@ -0,0 +1,168 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/Emote
class_name TwitchEmote
## An ID that uniquely identifies this emote.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The name of the emote. This is the name that viewers type in the chat window to get the emote to appear.
@export var name: String:
set(val):
name = val
track_data(&"name", val)
## The image URLs for the emote. These image URLs always provide a static, non-animated emote image with a light background.
##
## **NOTE:** You should use the templated URL in the `template` field to fetch the image instead of using these URLs.
@export var images: Images:
set(val):
images = val
track_data(&"images", val)
## The type of emote. The possible values are:
##
## * bitstier — A Bits tier emote.
## * follower — A follower emote.
## * subscriptions — A subscriber emote.
@export var emote_type: String:
set(val):
emote_type = val
track_data(&"emote_type", val)
## An ID that identifies the emote set that the emote belongs to.
@export var emote_set_id: String:
set(val):
emote_set_id = val
track_data(&"emote_set_id", val)
## The ID of the broadcaster who owns the emote.
@export var owner_id: String:
set(val):
owner_id = val
track_data(&"owner_id", val)
## The formats that the emote is available in. For example, if the emote is available only as a static PNG, the array contains only `static`. But if the emote is available as a static PNG and an animated GIF, the array contains `static` and `animated`. The possible formats are:
##
## * animated — An animated GIF is available for this emote.
## * static — A static PNG file is available for this emote.
@export var format: Array[String]:
set(val):
format = val
track_data(&"format", val)
## The sizes that the emote is available in. For example, if the emote is available in small and medium sizes, the array contains 1.0 and 2.0\. Possible sizes are:
##
## * 1.0 — A small version (28px x 28px) is available.
## * 2.0 — A medium version (56px x 56px) is available.
## * 3.0 — A large version (112px x 112px) is available.
@export var scale: Array[String]:
set(val):
scale = val
track_data(&"scale", val)
## The background themes that the emote is available in. Possible themes are:
##
## * dark
## * light
@export var theme_mode: Array[String]:
set(val):
theme_mode = val
track_data(&"theme_mode", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _name: String, _images: Images, _emote_type: String, _emote_set_id: String, _owner_id: String, _format: Array[String], _scale: Array[String], _theme_mode: Array[String]) -> TwitchEmote:
var twitch_emote: TwitchEmote = TwitchEmote.new()
twitch_emote.id = _id
twitch_emote.name = _name
twitch_emote.images = _images
twitch_emote.emote_type = _emote_type
twitch_emote.emote_set_id = _emote_set_id
twitch_emote.owner_id = _owner_id
twitch_emote.format = _format
twitch_emote.scale = _scale
twitch_emote.theme_mode = _theme_mode
return twitch_emote
static func from_json(d: Dictionary) -> TwitchEmote:
var result: TwitchEmote = TwitchEmote.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("name", null) != null:
result.name = d["name"]
if d.get("images", null) != null:
result.images = Images.from_json(d["images"])
if d.get("emote_type", null) != null:
result.emote_type = d["emote_type"]
if d.get("emote_set_id", null) != null:
result.emote_set_id = d["emote_set_id"]
if d.get("owner_id", null) != null:
result.owner_id = d["owner_id"]
if d.get("format", null) != null:
for value in d["format"]:
result.format.append(value)
if d.get("scale", null) != null:
for value in d["scale"]:
result.scale.append(value)
if d.get("theme_mode", null) != null:
for value in d["theme_mode"]:
result.theme_mode.append(value)
return result
## The image URLs for the emote. These image URLs always provide a static, non-animated emote image with a light background.
##
## **NOTE:** You should use the templated URL in the `template` field to fetch the image instead of using these URLs.
## #/components/schemas/Emote/Images
class Images extends TwitchData:
## A URL to the small version (28px x 28px) of the emote.
@export var url_1x: String:
set(val):
url_1x = val
track_data(&"url_1x", val)
## A URL to the medium version (56px x 56px) of the emote.
@export var url_2x: String:
set(val):
url_2x = val
track_data(&"url_2x", val)
## A URL to the large version (112px x 112px) of the emote.
@export var url_4x: String:
set(val):
url_4x = val
track_data(&"url_4x", val)
## Constructor with all required fields.
static func create(_url_1x: String, _url_2x: String, _url_4x: String) -> Images:
var images: Images = Images.new()
images.url_1x = _url_1x
images.url_2x = _url_2x
images.url_4x = _url_4x
return images
static func from_json(d: Dictionary) -> Images:
var result: Images = Images.new()
if d.get("url_1x", null) != null:
result.url_1x = d["url_1x"]
if d.get("url_2x", null) != null:
result.url_2x = d["url_2x"]
if d.get("url_4x", null) != null:
result.url_4x = d["url_4x"]
return result

Some files were not shown because too many files have changed in this diff Show more