80 lines
3 KiB
GDScript3
80 lines
3 KiB
GDScript3
|
|
extends RefCounted
|
|||
|
|
|
|||
|
|
class_name TwitchNotificationMessage
|
|||
|
|
|
|||
|
|
## An object that identifies the message.
|
|||
|
|
class Metadata extends TwitchEventsub.Metadata:
|
|||
|
|
## The type of event sent in the message.
|
|||
|
|
var subscription_type: String;
|
|||
|
|
## The version number of the subscription type’s definition. This is the same value specified in the subscription request.
|
|||
|
|
var subscription_version: String;
|
|||
|
|
|
|||
|
|
func _init(d: Dictionary) -> void:
|
|||
|
|
super._init(d);
|
|||
|
|
subscription_type = d["subscription_type"];
|
|||
|
|
subscription_version = d["subscription_version"];
|
|||
|
|
|
|||
|
|
## An object that contains the message.
|
|||
|
|
class Payload extends RefCounted:
|
|||
|
|
## An object that contains information about your subscription.
|
|||
|
|
var subscription: Subscription;
|
|||
|
|
## The event’s data. For information about the event’s data, see the subscription type’s description in Subscription Types. https://dev.twitch.tv/docs/eventsub/eventsub-subscription-types
|
|||
|
|
var event: Dictionary;
|
|||
|
|
|
|||
|
|
func _init(d: Dictionary) -> void:
|
|||
|
|
var sub = d.get("subscription");
|
|||
|
|
if sub != null:
|
|||
|
|
subscription = Subscription.new(sub)
|
|||
|
|
|
|||
|
|
event = d["event"]
|
|||
|
|
|
|||
|
|
## An object that contains information about your subscription.
|
|||
|
|
class Subscription extends RefCounted:
|
|||
|
|
## An ID that uniquely identifies this subscription.
|
|||
|
|
var id: String;
|
|||
|
|
## The subscription’s status, which is set to enabled.
|
|||
|
|
var status: String;
|
|||
|
|
## The type of event sent in the message. See the event field.
|
|||
|
|
var type: String;
|
|||
|
|
## The version number of the subscription type’s definition.
|
|||
|
|
var version: String;
|
|||
|
|
## The event’s cost. See Subscription limits. (https://dev.twitch.tv/docs/eventsub/manage-subscriptions#subscription-limits)
|
|||
|
|
var cost: int;
|
|||
|
|
## The conditions under which the event fires. For example, if you requested notifications when a broadcaster gets a new follower, this object contains the broadcaster’s ID. For information about the condition’s data, see the subscription type’s description in Subscription types. (https://dev.twitch.tv/docs/eventsub/eventsub-subscription-types)
|
|||
|
|
var condition: Dictionary;
|
|||
|
|
## An object that contains information about the transport used for notifications.
|
|||
|
|
var transport: Transport;
|
|||
|
|
## The UTC date and time that the subscription was created.
|
|||
|
|
var created_at: String;
|
|||
|
|
|
|||
|
|
func _init(d: Dictionary) -> void:
|
|||
|
|
id = d["id"];
|
|||
|
|
status = d["status"];
|
|||
|
|
type = d["type"];
|
|||
|
|
version = d["version"];
|
|||
|
|
cost = d["cost"];
|
|||
|
|
condition = d["condition"];
|
|||
|
|
transport = Transport.new(d.get("transport", {}));
|
|||
|
|
created_at = d["created_at"];
|
|||
|
|
|
|||
|
|
## An object that contains information about the transport used for notifications.
|
|||
|
|
class Transport extends RefCounted:
|
|||
|
|
## The transport method, which is set to websocket.
|
|||
|
|
var method: String;
|
|||
|
|
## An ID that uniquely identifies the WebSocket connection.
|
|||
|
|
var session_id: String;
|
|||
|
|
|
|||
|
|
func _init(d: Dictionary) -> void:
|
|||
|
|
method = d["method"];
|
|||
|
|
session_id = d["session_id"];
|
|||
|
|
|
|||
|
|
## An object that identifies the message.
|
|||
|
|
var metadata: Metadata;
|
|||
|
|
|
|||
|
|
## An object that contains the message.
|
|||
|
|
var payload: Payload;
|
|||
|
|
|
|||
|
|
func _init(d: Dictionary) -> void:
|
|||
|
|
metadata = Metadata.new(d["metadata"])
|
|||
|
|
payload = Payload.new(d["payload"])
|