421 lines
14 KiB
GDScript3
421 lines
14 KiB
GDScript3
|
|
@tool
|
|||
|
|
extends TwitchData
|
|||
|
|
|
|||
|
|
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
|
|||
|
|
|
|||
|
|
class_name TwitchGetHypeTrainStatus
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
##
|
|||
|
|
## #/components/schemas/GetHypeTrainStatusResponse
|
|||
|
|
class Response extends TwitchData:
|
|||
|
|
|
|||
|
|
## A list that contains information related to the channel’s Hype Train.
|
|||
|
|
@export var data: Array[ResponseData]:
|
|||
|
|
set(val):
|
|||
|
|
data = val
|
|||
|
|
track_data(&"data", val)
|
|||
|
|
|
|||
|
|
## An object with information about the channel’s Hype Train records. Null if a Hype Train has not occurred.
|
|||
|
|
@export var all_time_high: ResponseAllTimeHigh:
|
|||
|
|
set(val):
|
|||
|
|
all_time_high = val
|
|||
|
|
track_data(&"all_time_high", val)
|
|||
|
|
|
|||
|
|
## An object with information about the channel’s shared Hype Train records. Null if a Hype Train has not occurred.
|
|||
|
|
@export var shared_all_time_high: ResponseSharedAllTimeHigh:
|
|||
|
|
set(val):
|
|||
|
|
shared_all_time_high = val
|
|||
|
|
track_data(&"shared_all_time_high", val)
|
|||
|
|
var response: BufferedHTTPClient.ResponseData
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Constructor with all required fields.
|
|||
|
|
static func create(_data: Array[ResponseData], _all_time_high: ResponseAllTimeHigh, _shared_all_time_high: ResponseSharedAllTimeHigh) -> Response:
|
|||
|
|
var response: Response = Response.new()
|
|||
|
|
response.data = _data
|
|||
|
|
response.all_time_high = _all_time_high
|
|||
|
|
response.shared_all_time_high = _shared_all_time_high
|
|||
|
|
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))
|
|||
|
|
if d.get("all_time_high", null) != null:
|
|||
|
|
result.all_time_high = ResponseAllTimeHigh.from_json(d["all_time_high"])
|
|||
|
|
if d.get("shared_all_time_high", null) != null:
|
|||
|
|
result.shared_all_time_high = ResponseSharedAllTimeHigh.from_json(d["shared_all_time_high"])
|
|||
|
|
return result
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## A list that contains information related to the channel’s Hype Train.
|
|||
|
|
## #/components/schemas/GetHypeTrainStatusResponse/Data
|
|||
|
|
class ResponseData extends TwitchData:
|
|||
|
|
|
|||
|
|
## An object describing the current Hype Train. Null if a Hype Train is not active.
|
|||
|
|
@export var current: ResponseCurrent:
|
|||
|
|
set(val):
|
|||
|
|
current = val
|
|||
|
|
track_data(&"current", val)
|
|||
|
|
var response: BufferedHTTPClient.ResponseData
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Constructor with all required fields.
|
|||
|
|
static func create(_current: ResponseCurrent) -> ResponseData:
|
|||
|
|
var response_data: ResponseData = ResponseData.new()
|
|||
|
|
response_data.current = _current
|
|||
|
|
return response_data
|
|||
|
|
|
|||
|
|
|
|||
|
|
static func from_json(d: Dictionary) -> ResponseData:
|
|||
|
|
var result: ResponseData = ResponseData.new()
|
|||
|
|
if d.get("current", null) != null:
|
|||
|
|
result.current = ResponseCurrent.from_json(d["current"])
|
|||
|
|
return result
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## An object describing the current Hype Train. Null if a Hype Train is not active.
|
|||
|
|
## #/components/schemas/GetHypeTrainStatusResponse/Data/Current
|
|||
|
|
class ResponseCurrent extends TwitchData:
|
|||
|
|
|
|||
|
|
## The Hype Train ID.
|
|||
|
|
@export var id: String:
|
|||
|
|
set(val):
|
|||
|
|
id = val
|
|||
|
|
track_data(&"id", val)
|
|||
|
|
|
|||
|
|
## The broadcaster ID.
|
|||
|
|
@export var broadcaster_user_id: String:
|
|||
|
|
set(val):
|
|||
|
|
broadcaster_user_id = val
|
|||
|
|
track_data(&"broadcaster_user_id", val)
|
|||
|
|
|
|||
|
|
## The broadcaster login.
|
|||
|
|
@export var broadcaster_user_login: String:
|
|||
|
|
set(val):
|
|||
|
|
broadcaster_user_login = val
|
|||
|
|
track_data(&"broadcaster_user_login", val)
|
|||
|
|
|
|||
|
|
## The broadcaster display name.
|
|||
|
|
@export var broadcaster_user_name: String:
|
|||
|
|
set(val):
|
|||
|
|
broadcaster_user_name = val
|
|||
|
|
track_data(&"broadcaster_user_name", val)
|
|||
|
|
|
|||
|
|
## The current level of the Hype Train.
|
|||
|
|
@export var level: int:
|
|||
|
|
set(val):
|
|||
|
|
level = val
|
|||
|
|
track_data(&"level", val)
|
|||
|
|
|
|||
|
|
## Total points contributed to the Hype Train.
|
|||
|
|
@export var total: int:
|
|||
|
|
set(val):
|
|||
|
|
total = val
|
|||
|
|
track_data(&"total", val)
|
|||
|
|
|
|||
|
|
## The number of points contributed to the Hype Train at the current level.
|
|||
|
|
@export var progress: int:
|
|||
|
|
set(val):
|
|||
|
|
progress = val
|
|||
|
|
track_data(&"progress", val)
|
|||
|
|
|
|||
|
|
## The number of points required to reach the next level.
|
|||
|
|
@export var goal: int:
|
|||
|
|
set(val):
|
|||
|
|
goal = val
|
|||
|
|
track_data(&"goal", val)
|
|||
|
|
|
|||
|
|
## The contributors with the most points contributed.
|
|||
|
|
@export var top_contributions: Array[ResponseTopContributions]:
|
|||
|
|
set(val):
|
|||
|
|
top_contributions = val
|
|||
|
|
track_data(&"top_contributions", val)
|
|||
|
|
var response: BufferedHTTPClient.ResponseData
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Constructor with all required fields.
|
|||
|
|
static func create(_id: String, _broadcaster_user_id: String, _broadcaster_user_login: String, _broadcaster_user_name: String, _level: int, _total: int, _progress: int, _goal: int, _top_contributions: Array[ResponseTopContributions]) -> ResponseCurrent:
|
|||
|
|
var response_current: ResponseCurrent = ResponseCurrent.new()
|
|||
|
|
response_current.id = _id
|
|||
|
|
response_current.broadcaster_user_id = _broadcaster_user_id
|
|||
|
|
response_current.broadcaster_user_login = _broadcaster_user_login
|
|||
|
|
response_current.broadcaster_user_name = _broadcaster_user_name
|
|||
|
|
response_current.level = _level
|
|||
|
|
response_current.total = _total
|
|||
|
|
response_current.progress = _progress
|
|||
|
|
response_current.goal = _goal
|
|||
|
|
response_current.top_contributions = _top_contributions
|
|||
|
|
return response_current
|
|||
|
|
|
|||
|
|
|
|||
|
|
static func from_json(d: Dictionary) -> ResponseCurrent:
|
|||
|
|
var result: ResponseCurrent = ResponseCurrent.new()
|
|||
|
|
if d.get("id", null) != null:
|
|||
|
|
result.id = d["id"]
|
|||
|
|
if d.get("broadcaster_user_id", null) != null:
|
|||
|
|
result.broadcaster_user_id = d["broadcaster_user_id"]
|
|||
|
|
if d.get("broadcaster_user_login", null) != null:
|
|||
|
|
result.broadcaster_user_login = d["broadcaster_user_login"]
|
|||
|
|
if d.get("broadcaster_user_name", null) != null:
|
|||
|
|
result.broadcaster_user_name = d["broadcaster_user_name"]
|
|||
|
|
if d.get("level", null) != null:
|
|||
|
|
result.level = d["level"]
|
|||
|
|
if d.get("total", null) != null:
|
|||
|
|
result.total = d["total"]
|
|||
|
|
if d.get("progress", null) != null:
|
|||
|
|
result.progress = d["progress"]
|
|||
|
|
if d.get("goal", null) != null:
|
|||
|
|
result.goal = d["goal"]
|
|||
|
|
if d.get("top_contributions", null) != null:
|
|||
|
|
for value in d["top_contributions"]:
|
|||
|
|
result.top_contributions.append(ResponseTopContributions.from_json(value))
|
|||
|
|
return result
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## The contributors with the most points contributed.
|
|||
|
|
## #/components/schemas/GetHypeTrainStatusResponse/Data/Current/TopContributions
|
|||
|
|
class ResponseTopContributions extends TwitchData:
|
|||
|
|
|
|||
|
|
## The ID of the user that made the contribution.
|
|||
|
|
@export var user_id: String:
|
|||
|
|
set(val):
|
|||
|
|
user_id = val
|
|||
|
|
track_data(&"user_id", val)
|
|||
|
|
|
|||
|
|
## The user’s login name.
|
|||
|
|
@export var user_login: String:
|
|||
|
|
set(val):
|
|||
|
|
user_login = val
|
|||
|
|
track_data(&"user_login", val)
|
|||
|
|
|
|||
|
|
## The user’s display name.
|
|||
|
|
@export var user_name: String:
|
|||
|
|
set(val):
|
|||
|
|
user_name = val
|
|||
|
|
track_data(&"user_name", val)
|
|||
|
|
|
|||
|
|
## The type of the Hype Train. Possible values are:
|
|||
|
|
##
|
|||
|
|
## * **treasure**
|
|||
|
|
## * **golden\_kappa**
|
|||
|
|
## * **regular**
|
|||
|
|
##
|
|||
|
|
## [Learn More](https://help.twitch.tv/s/article/hype-train-guide#special)
|
|||
|
|
@export var type: String:
|
|||
|
|
set(val):
|
|||
|
|
type = val
|
|||
|
|
track_data(&"type", val)
|
|||
|
|
|
|||
|
|
## The total number of points contributed for the type.
|
|||
|
|
@export var total: int:
|
|||
|
|
set(val):
|
|||
|
|
total = val
|
|||
|
|
track_data(&"total", val)
|
|||
|
|
|
|||
|
|
## A list containing the broadcasters participating in the shared Hype Train. Null if the Hype Train is not shared.
|
|||
|
|
@export var shared_train_participants: Array[ResponseSharedTrainParticipants]:
|
|||
|
|
set(val):
|
|||
|
|
shared_train_participants = val
|
|||
|
|
track_data(&"shared_train_participants", val)
|
|||
|
|
|
|||
|
|
## The time when the Hype Train started.
|
|||
|
|
@export var started_at: String:
|
|||
|
|
set(val):
|
|||
|
|
started_at = val
|
|||
|
|
track_data(&"started_at", val)
|
|||
|
|
|
|||
|
|
## The time when the Hype Train expires. The expiration is extended when the Hype Train reaches a new level.
|
|||
|
|
@export var expires_at: String:
|
|||
|
|
set(val):
|
|||
|
|
expires_at = val
|
|||
|
|
track_data(&"expires_at", val)
|
|||
|
|
|
|||
|
|
## Indicates if the Hype Train is shared. When true, shared\_train\_participants will contain the list of broadcasters the train is shared with.
|
|||
|
|
@export var is_shared_train: bool:
|
|||
|
|
set(val):
|
|||
|
|
is_shared_train = val
|
|||
|
|
track_data(&"is_shared_train", val)
|
|||
|
|
var response: BufferedHTTPClient.ResponseData
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Constructor with all required fields.
|
|||
|
|
static func create(_user_id: String, _user_login: String, _user_name: String, _type: String, _total: int, _shared_train_participants: Array[ResponseSharedTrainParticipants], _started_at: String, _expires_at: String, _is_shared_train: bool) -> ResponseTopContributions:
|
|||
|
|
var response_top_contributions: ResponseTopContributions = ResponseTopContributions.new()
|
|||
|
|
response_top_contributions.user_id = _user_id
|
|||
|
|
response_top_contributions.user_login = _user_login
|
|||
|
|
response_top_contributions.user_name = _user_name
|
|||
|
|
response_top_contributions.type = _type
|
|||
|
|
response_top_contributions.total = _total
|
|||
|
|
response_top_contributions.shared_train_participants = _shared_train_participants
|
|||
|
|
response_top_contributions.started_at = _started_at
|
|||
|
|
response_top_contributions.expires_at = _expires_at
|
|||
|
|
response_top_contributions.is_shared_train = _is_shared_train
|
|||
|
|
return response_top_contributions
|
|||
|
|
|
|||
|
|
|
|||
|
|
static func from_json(d: Dictionary) -> ResponseTopContributions:
|
|||
|
|
var result: ResponseTopContributions = ResponseTopContributions.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("type", null) != null:
|
|||
|
|
result.type = d["type"]
|
|||
|
|
if d.get("total", null) != null:
|
|||
|
|
result.total = d["total"]
|
|||
|
|
if d.get("shared_train_participants", null) != null:
|
|||
|
|
for value in d["shared_train_participants"]:
|
|||
|
|
result.shared_train_participants.append(ResponseSharedTrainParticipants.from_json(value))
|
|||
|
|
if d.get("started_at", null) != null:
|
|||
|
|
result.started_at = d["started_at"]
|
|||
|
|
if d.get("expires_at", null) != null:
|
|||
|
|
result.expires_at = d["expires_at"]
|
|||
|
|
if d.get("is_shared_train", null) != null:
|
|||
|
|
result.is_shared_train = d["is_shared_train"]
|
|||
|
|
return result
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## A list containing the broadcasters participating in the shared Hype Train. Null if the Hype Train is not shared.
|
|||
|
|
## #/components/schemas/GetHypeTrainStatusResponse/Data/Current/TopContributions/SharedTrainParticipants
|
|||
|
|
class ResponseSharedTrainParticipants extends TwitchData:
|
|||
|
|
|
|||
|
|
## The broadcaster ID.
|
|||
|
|
@export var broadcaster_user_id: String:
|
|||
|
|
set(val):
|
|||
|
|
broadcaster_user_id = val
|
|||
|
|
track_data(&"broadcaster_user_id", val)
|
|||
|
|
|
|||
|
|
## The broadcaster login.
|
|||
|
|
@export var broadcaster_user_login: String:
|
|||
|
|
set(val):
|
|||
|
|
broadcaster_user_login = val
|
|||
|
|
track_data(&"broadcaster_user_login", val)
|
|||
|
|
|
|||
|
|
## The broadcaster display name.
|
|||
|
|
@export var broadcaster_user_name: String:
|
|||
|
|
set(val):
|
|||
|
|
broadcaster_user_name = val
|
|||
|
|
track_data(&"broadcaster_user_name", val)
|
|||
|
|
var response: BufferedHTTPClient.ResponseData
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Constructor with all required fields.
|
|||
|
|
static func create(_broadcaster_user_id: String, _broadcaster_user_login: String, _broadcaster_user_name: String) -> ResponseSharedTrainParticipants:
|
|||
|
|
var response_shared_train_participants: ResponseSharedTrainParticipants = ResponseSharedTrainParticipants.new()
|
|||
|
|
response_shared_train_participants.broadcaster_user_id = _broadcaster_user_id
|
|||
|
|
response_shared_train_participants.broadcaster_user_login = _broadcaster_user_login
|
|||
|
|
response_shared_train_participants.broadcaster_user_name = _broadcaster_user_name
|
|||
|
|
return response_shared_train_participants
|
|||
|
|
|
|||
|
|
|
|||
|
|
static func from_json(d: Dictionary) -> ResponseSharedTrainParticipants:
|
|||
|
|
var result: ResponseSharedTrainParticipants = ResponseSharedTrainParticipants.new()
|
|||
|
|
if d.get("broadcaster_user_id", null) != null:
|
|||
|
|
result.broadcaster_user_id = d["broadcaster_user_id"]
|
|||
|
|
if d.get("broadcaster_user_login", null) != null:
|
|||
|
|
result.broadcaster_user_login = d["broadcaster_user_login"]
|
|||
|
|
if d.get("broadcaster_user_name", null) != null:
|
|||
|
|
result.broadcaster_user_name = d["broadcaster_user_name"]
|
|||
|
|
return result
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## An object with information about the channel’s Hype Train records. Null if a Hype Train has not occurred.
|
|||
|
|
## #/components/schemas/GetHypeTrainStatusResponse/AllTimeHigh
|
|||
|
|
class ResponseAllTimeHigh extends TwitchData:
|
|||
|
|
|
|||
|
|
## The level of the record Hype Train.
|
|||
|
|
@export var level: int:
|
|||
|
|
set(val):
|
|||
|
|
level = val
|
|||
|
|
track_data(&"level", val)
|
|||
|
|
|
|||
|
|
## Total points contributed to the record Hype Train.
|
|||
|
|
@export var total: int:
|
|||
|
|
set(val):
|
|||
|
|
total = val
|
|||
|
|
track_data(&"total", val)
|
|||
|
|
|
|||
|
|
## The time when the record was achieved.
|
|||
|
|
@export var achieved_at: String:
|
|||
|
|
set(val):
|
|||
|
|
achieved_at = val
|
|||
|
|
track_data(&"achieved_at", val)
|
|||
|
|
var response: BufferedHTTPClient.ResponseData
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Constructor with all required fields.
|
|||
|
|
static func create(_level: int, _total: int, _achieved_at: String) -> ResponseAllTimeHigh:
|
|||
|
|
var response_all_time_high: ResponseAllTimeHigh = ResponseAllTimeHigh.new()
|
|||
|
|
response_all_time_high.level = _level
|
|||
|
|
response_all_time_high.total = _total
|
|||
|
|
response_all_time_high.achieved_at = _achieved_at
|
|||
|
|
return response_all_time_high
|
|||
|
|
|
|||
|
|
|
|||
|
|
static func from_json(d: Dictionary) -> ResponseAllTimeHigh:
|
|||
|
|
var result: ResponseAllTimeHigh = ResponseAllTimeHigh.new()
|
|||
|
|
if d.get("level", null) != null:
|
|||
|
|
result.level = d["level"]
|
|||
|
|
if d.get("total", null) != null:
|
|||
|
|
result.total = d["total"]
|
|||
|
|
if d.get("achieved_at", null) != null:
|
|||
|
|
result.achieved_at = d["achieved_at"]
|
|||
|
|
return result
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
## An object with information about the channel’s shared Hype Train records. Null if a Hype Train has not occurred.
|
|||
|
|
## #/components/schemas/GetHypeTrainStatusResponse/SharedAllTimeHigh
|
|||
|
|
class ResponseSharedAllTimeHigh extends TwitchData:
|
|||
|
|
|
|||
|
|
## The level of the record Hype Train.
|
|||
|
|
@export var level: int:
|
|||
|
|
set(val):
|
|||
|
|
level = val
|
|||
|
|
track_data(&"level", val)
|
|||
|
|
|
|||
|
|
## Total points contributed to the record Hype Train.
|
|||
|
|
@export var total: int:
|
|||
|
|
set(val):
|
|||
|
|
total = val
|
|||
|
|
track_data(&"total", val)
|
|||
|
|
|
|||
|
|
## The time when the record was achieved.
|
|||
|
|
@export var achieved_at: String:
|
|||
|
|
set(val):
|
|||
|
|
achieved_at = val
|
|||
|
|
track_data(&"achieved_at", val)
|
|||
|
|
var response: BufferedHTTPClient.ResponseData
|
|||
|
|
|
|||
|
|
|
|||
|
|
## Constructor with all required fields.
|
|||
|
|
static func create(_level: int, _total: int, _achieved_at: String) -> ResponseSharedAllTimeHigh:
|
|||
|
|
var response_shared_all_time_high: ResponseSharedAllTimeHigh = ResponseSharedAllTimeHigh.new()
|
|||
|
|
response_shared_all_time_high.level = _level
|
|||
|
|
response_shared_all_time_high.total = _total
|
|||
|
|
response_shared_all_time_high.achieved_at = _achieved_at
|
|||
|
|
return response_shared_all_time_high
|
|||
|
|
|
|||
|
|
|
|||
|
|
static func from_json(d: Dictionary) -> ResponseSharedAllTimeHigh:
|
|||
|
|
var result: ResponseSharedAllTimeHigh = ResponseSharedAllTimeHigh.new()
|
|||
|
|
if d.get("level", null) != null:
|
|||
|
|
result.level = d["level"]
|
|||
|
|
if d.get("total", null) != null:
|
|||
|
|
result.total = d["total"]
|
|||
|
|
if d.get("achieved_at", null) != null:
|
|||
|
|
result.achieved_at = d["achieved_at"]
|
|||
|
|
return result
|
|||
|
|
|