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

181 lines
No EOL
6.3 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.
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