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,149 @@
@tool
extends TwitchData
# CLASS GOT AUTOGENERATED DON'T CHANGE MANUALLY. CHANGES CAN BE OVERWRITTEN EASILY.
class_name TwitchGetBitsLeaderboard
##
## #/components/schemas/GetBitsLeaderboardResponse
class Response extends TwitchData:
## A list of leaderboard leaders. The leaders are returned in rank order by how much theyve cheered. The array is empty if nobody has cheered bits.
@export var data: Array[TwitchBitsLeaderboard]:
set(val):
data = val
track_data(&"data", val)
## The reporting windows start and end dates, in RFC3339 format. The dates are calculated by using the _started\_at_ and _period_ query parameters. If you dont specify the _started\_at_ query parameter, the fields contain empty strings.
@export var date_range: ResponseDateRange:
set(val):
date_range = val
track_data(&"date_range", val)
## The number of ranked users in `data`. This is the value in the _count_ query parameter or the total number of entries on the leaderboard, whichever is less.
@export var total: int:
set(val):
total = val
track_data(&"total", val)
var response: BufferedHTTPClient.ResponseData
## Constructor with all required fields.
static func create(_data: Array[TwitchBitsLeaderboard], _date_range: ResponseDateRange, _total: int) -> Response:
var response: Response = Response.new()
response.data = _data
response.date_range = _date_range
response.total = _total
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(TwitchBitsLeaderboard.from_json(value))
if d.get("date_range", null) != null:
result.date_range = ResponseDateRange.from_json(d["date_range"])
if d.get("total", null) != null:
result.total = d["total"]
return result
## The reporting windows start and end dates, in RFC3339 format. The dates are calculated by using the _started\_at_ and _period_ query parameters. If you dont specify the _started\_at_ query parameter, the fields contain empty strings.
## #/components/schemas/GetBitsLeaderboardResponse/DateRange
class ResponseDateRange extends TwitchData:
## The reporting windows start date.
@export var started_at: String:
set(val):
started_at = val
track_data(&"started_at", val)
## The reporting windows end date.
@export var ended_at: String:
set(val):
ended_at = val
track_data(&"ended_at", val)
## Constructor with all required fields.
static func create(_started_at: String, _ended_at: String) -> ResponseDateRange:
var response_date_range: ResponseDateRange = ResponseDateRange.new()
response_date_range.started_at = _started_at
response_date_range.ended_at = _ended_at
return response_date_range
static func from_json(d: Dictionary) -> ResponseDateRange:
var result: ResponseDateRange = ResponseDateRange.new()
if d.get("started_at", null) != null:
result.started_at = d["started_at"]
if d.get("ended_at", null) != null:
result.ended_at = d["ended_at"]
return result
## All optional parameters for TwitchAPI.get_bits_leaderboard
## #/components/schemas/GetBitsLeaderboardOpt
class Opt extends TwitchData:
## The number of results to return. The minimum count is 1 and the maximum is 100\. The default is 10.
@export var count: int:
set(val):
count = val
track_data(&"count", val)
## The time period over which data is aggregated (uses the PST time zone). Possible values are:
##
## * day — A day spans from 00:00:00 on the day specified in _started\_at_ and runs through 00:00:00 of the next day.
## * week — A week spans from 00:00:00 on the Monday of the week specified in _started\_at_ and runs through 00:00:00 of the next Monday.
## * month — A month spans from 00:00:00 on the first day of the month specified in _started\_at_ and runs through 00:00:00 of the first day of the next month.
## * year — A year spans from 00:00:00 on the first day of the year specified in _started\_at_ and runs through 00:00:00 of the first day of the next year.
## * all — Default. The lifetime of the broadcaster's channel.
@export var period: String:
set(val):
period = val
track_data(&"period", val)
## The start date, in RFC3339 format, used for determining the aggregation period. Specify this parameter only if you specify the _period_ query parameter. The start date is ignored if _period_ is all.
##
## Note that the date is converted to PST before being used, so if you set the start time to `2022-01-01T00:00:00.0Z` and _period_ to month, the actual reporting period is December 2021, not January 2022\. If you want the reporting period to be January 2022, you must set the start time to `2022-01-01T08:00:00.0Z` or `2022-01-01T00:00:00.0-08:00`.
##
## If your start date uses the + offset operator (for example, `2022-01-01T00:00:00.0+05:00`), you must URL encode the start date.
@export var started_at: String:
set(val):
started_at = val
track_data(&"started_at", val)
## An ID that identifies a user that cheered bits in the channel. If _count_ is greater than 1, the response may include users ranked above and below the specified user. To get the leaderboards top leaders, dont specify a user ID.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_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("count", null) != null:
result.count = d["count"]
if d.get("period", null) != null:
result.period = d["period"]
if d.get("started_at", null) != null:
result.started_at = d["started_at"]
if d.get("user_id", null) != null:
result.user_id = d["user_id"]
return result