pokepurple/addons/twitcher/generated/twitch_hype_train_event.gd
Mario Steele c11a4ebbc2 Initial Commit
Initial commit of Code Base.
2025-06-12 14:31:14 -05:00

273 lines
No EOL
8.9 KiB
GDScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
##
## #/components/schemas/HypeTrainEvent
class_name TwitchHypeTrainEvent
## An ID that identifies this event.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The type of event. The string is in the form, hypetrain.{event\_name}. The request returns only progress event types (i.e., hypetrain.progression).
@export var event_type: String:
set(val):
event_type = val
track_data(&"event_type", val)
## The UTC date and time (in RFC3339 format) that the event occurred.
@export var event_timestamp: String:
set(val):
event_timestamp = val
track_data(&"event_timestamp", val)
## The version number of the definition of the events data. For example, the value is 1 if the data in `event_data` uses the first definition of the events data.
@export var version: String:
set(val):
version = val
track_data(&"version", val)
## The events data.
@export var event_data: EventData:
set(val):
event_data = val
track_data(&"event_data", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_id: String, _event_type: String, _event_timestamp: String, _version: String, _event_data: EventData) -> TwitchHypeTrainEvent:
var twitch_hype_train_event: TwitchHypeTrainEvent = TwitchHypeTrainEvent.new()
twitch_hype_train_event.id = _id
twitch_hype_train_event.event_type = _event_type
twitch_hype_train_event.event_timestamp = _event_timestamp
twitch_hype_train_event.version = _version
twitch_hype_train_event.event_data = _event_data
return twitch_hype_train_event
static func from_json(d: Dictionary) -> TwitchHypeTrainEvent:
var result: TwitchHypeTrainEvent = TwitchHypeTrainEvent.new()
if d.get("id", null) != null:
result.id = d["id"]
if d.get("event_type", null) != null:
result.event_type = d["event_type"]
if d.get("event_timestamp", null) != null:
result.event_timestamp = d["event_timestamp"]
if d.get("version", null) != null:
result.version = d["version"]
if d.get("event_data", null) != null:
result.event_data = EventData.from_json(d["event_data"])
return result
## The events data.
## #/components/schemas/HypeTrainEvent/EventData
class EventData extends TwitchData:
## The ID of the broadcaster thats running the Hype Train.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The UTC date and time (in RFC3339 format) that another Hype Train can start.
@export var cooldown_end_time: String:
set(val):
cooldown_end_time = val
track_data(&"cooldown_end_time", val)
## The UTC date and time (in RFC3339 format) that the Hype Train ends.
@export var expires_at: String:
set(val):
expires_at = val
track_data(&"expires_at", val)
## The value needed to reach the next level.
@export var goal: int:
set(val):
goal = val
track_data(&"goal", val)
## An ID that identifies this Hype Train.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## The most recent contribution towards the Hype Trains goal.
@export var last_contribution: LastContribution:
set(val):
last_contribution = val
track_data(&"last_contribution", val)
## The highest level that the Hype Train reached (the levels are 1 through 5).
@export var level: int:
set(val):
level = val
track_data(&"level", val)
## The UTC date and time (in RFC3339 format) that this Hype Train started.
@export var started_at: String:
set(val):
started_at = val
track_data(&"started_at", val)
## The top contributors for each contribution type. For example, the top contributor using BITS (by aggregate) and the top contributor using SUBS (by count).
@export var top_contributions: Array[TopContributions]:
set(val):
top_contributions = val
track_data(&"top_contributions", val)
## The current total amount raised.
@export var total: int:
set(val):
total = val
track_data(&"total", val)
## Constructor with all required fields.
static func create(_broadcaster_id: String, _cooldown_end_time: String, _expires_at: String, _goal: int, _id: String, _last_contribution: LastContribution, _level: int, _started_at: String, _top_contributions: Array[TopContributions], _total: int) -> EventData:
var event_data: EventData = EventData.new()
event_data.broadcaster_id = _broadcaster_id
event_data.cooldown_end_time = _cooldown_end_time
event_data.expires_at = _expires_at
event_data.goal = _goal
event_data.id = _id
event_data.last_contribution = _last_contribution
event_data.level = _level
event_data.started_at = _started_at
event_data.top_contributions = _top_contributions
event_data.total = _total
return event_data
static func from_json(d: Dictionary) -> EventData:
var result: EventData = EventData.new()
if d.get("broadcaster_id", null) != null:
result.broadcaster_id = d["broadcaster_id"]
if d.get("cooldown_end_time", null) != null:
result.cooldown_end_time = d["cooldown_end_time"]
if d.get("expires_at", null) != null:
result.expires_at = d["expires_at"]
if d.get("goal", null) != null:
result.goal = d["goal"]
if d.get("id", null) != null:
result.id = d["id"]
if d.get("last_contribution", null) != null:
result.last_contribution = LastContribution.from_json(d["last_contribution"])
if d.get("level", null) != null:
result.level = d["level"]
if d.get("started_at", null) != null:
result.started_at = d["started_at"]
if d.get("top_contributions", null) != null:
for value in d["top_contributions"]:
result.top_contributions.append(TopContributions.from_json(value))
if d.get("total", null) != null:
result.total = d["total"]
return result
## The most recent contribution towards the Hype Trains goal.
## #/components/schemas/HypeTrainEvent/EventData/LastContribution
class LastContribution extends TwitchData:
## The total amount contributed. If `type` is BITS, `total` represents the amount of Bits used. If `type` is SUBS, `total` is 500, 1000, or 2500 to represent tier 1, 2, or 3 subscriptions, respectively.
@export var total: int:
set(val):
total = val
track_data(&"total", val)
## The contribution method used. Possible values are:
##
## * BITS — Cheering with Bits.
## * SUBS — Subscription activity like subscribing or gifting subscriptions.
## * OTHER — Covers other contribution methods not listed.
@export var type: String:
set(val):
type = val
track_data(&"type", val)
## The ID of the user that made the contribution.
@export var user: String:
set(val):
user = val
track_data(&"user", val)
## Constructor with all required fields.
static func create(_total: int, _type: String, _user: String) -> LastContribution:
var last_contribution: LastContribution = LastContribution.new()
last_contribution.total = _total
last_contribution.type = _type
last_contribution.user = _user
return last_contribution
static func from_json(d: Dictionary) -> LastContribution:
var result: LastContribution = LastContribution.new()
if d.get("total", null) != null:
result.total = d["total"]
if d.get("type", null) != null:
result.type = d["type"]
if d.get("user", null) != null:
result.user = d["user"]
return result
## The top contributors for each contribution type. For example, the top contributor using BITS (by aggregate) and the top contributor using SUBS (by count).
## #/components/schemas/HypeTrainEvent/EventData/TopContributions
class TopContributions extends TwitchData:
## The total amount contributed. If `type` is BITS, `total` represents the amount of Bits used. If `type` is SUBS, `total` is 500, 1000, or 2500 to represent tier 1, 2, or 3 subscriptions, respectively.
@export var total: int:
set(val):
total = val
track_data(&"total", val)
## The contribution method used. Possible values are:
##
## * BITS — Cheering with Bits.
## * SUBS — Subscription activity like subscribing or gifting subscriptions.
## * OTHER — Covers other contribution methods not listed.
@export var type: String:
set(val):
type = val
track_data(&"type", val)
## The ID of the user that made the contribution.
@export var user: String:
set(val):
user = val
track_data(&"user", val)
## Constructor with all required fields.
static func create(_total: int, _type: String, _user: String) -> TopContributions:
var top_contributions: TopContributions = TopContributions.new()
top_contributions.total = _total
top_contributions.type = _type
top_contributions.user = _user
return top_contributions
static func from_json(d: Dictionary) -> TopContributions:
var result: TopContributions = TopContributions.new()
if d.get("total", null) != null:
result.total = d["total"]
if d.get("type", null) != null:
result.type = d["type"]
if d.get("user", null) != null:
result.user = d["user"]
return result