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

310 lines
No EOL
8.8 KiB
GDScript
Raw Permalink 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.
class_name TwitchGetUnbanRequests
##
## #/components/schemas/GetUnbanRequestsResponse
class Response extends TwitchData:
## A list that contains information about the channel's unban requests.
@export var data: Array[ResponseData]:
set(val):
data = val
track_data(&"data", val)
## Contains information used to page through a list of results. The object is empty if there are no more pages left to page through.
@export var pagination: ResponsePagination:
set(val):
pagination = val
track_data(&"pagination", 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))
if d.get("pagination", null) != null:
result.pagination = ResponsePagination.from_json(d["pagination"])
return result
func _has_pagination() -> bool:
if pagination == null: return false
if pagination.cursor == null || pagination.cursor == "": return false
return true
var _next_page: Callable
var _cur_iter: int = 0
func next_page() -> Response:
var response: Response = await _next_page.call()
_cur_iter = 0
_next_page = response._next_page
data = response.data
pagination = response.pagination
return response
func _iter_init(iter: Array) -> bool:
if data.is_empty(): return false
iter[0] = data[0]
return data.size() > 0
func _iter_next(iter: Array) -> bool:
if data.size() - 1 > _cur_iter:
_cur_iter += 1
iter[0] = data[_cur_iter]
if data.size() - 1 == _cur_iter && not _has_pagination():
return false
return true
func _iter_get(iter: Variant) -> Variant:
if data.size() - 1 == _cur_iter && _has_pagination():
await next_page()
return iter
## A list that contains information about the channel's unban requests.
## #/components/schemas/GetUnbanRequestsResponse/Data
class ResponseData extends TwitchData:
## Unban request ID.
@export var id: String:
set(val):
id = val
track_data(&"id", val)
## User ID of broadcaster whose channel is receiving the unban request.
@export var broadcaster_id: String:
set(val):
broadcaster_id = val
track_data(&"broadcaster_id", val)
## The broadcaster's display name.
@export var broadcaster_name: String:
set(val):
broadcaster_name = val
track_data(&"broadcaster_name", val)
## The broadcaster's login name.
@export var broadcaster_login: String:
set(val):
broadcaster_login = val
track_data(&"broadcaster_login", val)
## User ID of moderator who approved/denied the request.
@export var moderator_id: String:
set(val):
moderator_id = val
track_data(&"moderator_id", val)
## The moderator's login name.
@export var moderator_login: String:
set(val):
moderator_login = val
track_data(&"moderator_login", val)
## The moderator's display name.
@export var moderator_name: String:
set(val):
moderator_name = val
track_data(&"moderator_name", val)
## User ID of the requestor who is asking for an unban.
@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)
## Text of the request from the requesting user.
@export var text: String:
set(val):
text = val
track_data(&"text", val)
## Status of the request. One of:
##
## * pending
## * approved
## * denied
## * acknowledged
## * canceled
@export var status: String:
set(val):
status = val
track_data(&"status", val)
## Timestamp of when the unban request was created.
@export var created_at: String:
set(val):
created_at = val
track_data(&"created_at", val)
## Timestamp of when moderator/broadcaster approved or denied the request.
@export var resolved_at: String:
set(val):
resolved_at = val
track_data(&"resolved_at", val)
## Text input by the resolver (moderator) of the unban. request
@export var resolution_text: String:
set(val):
resolution_text = val
track_data(&"resolution_text", val)
## Constructor with all required fields.
static func create(_id: String, _broadcaster_id: String, _broadcaster_name: String, _broadcaster_login: String, _moderator_id: String, _moderator_login: String, _moderator_name: String, _user_id: String, _user_login: String, _user_name: String, _text: String, _status: String, _created_at: String, _resolved_at: String, _resolution_text: String) -> ResponseData:
var response_data: ResponseData = ResponseData.new()
response_data.id = _id
response_data.broadcaster_id = _broadcaster_id
response_data.broadcaster_name = _broadcaster_name
response_data.broadcaster_login = _broadcaster_login
response_data.moderator_id = _moderator_id
response_data.moderator_login = _moderator_login
response_data.moderator_name = _moderator_name
response_data.user_id = _user_id
response_data.user_login = _user_login
response_data.user_name = _user_name
response_data.text = _text
response_data.status = _status
response_data.created_at = _created_at
response_data.resolved_at = _resolved_at
response_data.resolution_text = _resolution_text
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("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("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"]
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("text", null) != null:
result.text = d["text"]
if d.get("status", null) != null:
result.status = d["status"]
if d.get("created_at", null) != null:
result.created_at = d["created_at"]
if d.get("resolved_at", null) != null:
result.resolved_at = d["resolved_at"]
if d.get("resolution_text", null) != null:
result.resolution_text = d["resolution_text"]
return result
## Contains information used to page through a list of results. The object is empty if there are no more pages left to page through.
## #/components/schemas/GetUnbanRequestsResponse/Pagination
class ResponsePagination extends TwitchData:
## The cursor used to get the next page of results. Use the cursor to set the requests after query parameter.
@export var cursor: String:
set(val):
cursor = val
track_data(&"cursor", val)
## Constructor with all required fields.
static func create() -> ResponsePagination:
var response_pagination: ResponsePagination = ResponsePagination.new()
return response_pagination
static func from_json(d: Dictionary) -> ResponsePagination:
var result: ResponsePagination = ResponsePagination.new()
if d.get("cursor", null) != null:
result.cursor = d["cursor"]
return result
## All optional parameters for TwitchAPI.get_unban_requests
## #/components/schemas/GetUnbanRequestsOpt
class Opt extends TwitchData:
## The ID used to filter what unban requests are returned.
@export var user_id: String:
set(val):
user_id = val
track_data(&"user_id", val)
## Cursor used to get next page of results. Pagination object in response contains cursor value.
@export var after: String:
set(val):
after = val
track_data(&"after", val)
## The maximum number of items to return per page in response
@export var first: int:
set(val):
first = val
track_data(&"first", 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("user_id", null) != null:
result.user_id = d["user_id"]
if d.get("after", null) != null:
result.after = d["after"]
if d.get("first", null) != null:
result.first = d["first"]
return result