Qore DiscordWebSocketClient Module Reference 1.0
Loading...
Searching...
No Matches
DiscordWebSocketClient::DiscordWebSocketConnection Class Reference

class for Discord websocket connections; returns an object of class DiscordWebSocketClient More...

Public Member Functions

 constructor (hash< auto > config, *hash< auto > attr)
 creates the DiscordWebSocketConnection connection object
 
 constructor (string name, string description, *string url, hash< auto > attributes={}, hash< auto > options={})
 creates the DiscordWebSocketConnection connection object
 
string getType ()
 returns "discordwss"
 

Static Public Member Functions

static string discoverUrl ()
 Discover the Discord gateway URL.
 

Public Attributes

const ConnectionScheme = ...
 Connection entry info.
 
const DefaultGatewayUrl = "wss://gateway.discord.gg/"
 Default Discord gateway URL.
 
const GatewayDiscoveryUrl = "https://discord.com/api/gateway"
 Discord gateway discovery URL.
 

Protected Member Functions

DiscordWebSocketClient getImpl (bool connect=True, *hash< auto > rtopts)
 returns a DiscordWebSocketClient object
 
 setRealUrl (*string url)
 Called by the constructor to set the real URL.
 

Detailed Description

class for Discord websocket connections; returns an object of class DiscordWebSocketClient

Supports all the options of the WebSocketConnection class; note that the token option is required by this class and is used as the gateway token after connecting and not as an HTTP authentication token

Member Function Documentation

◆ constructor() [1/2]

DiscordWebSocketClient::DiscordWebSocketConnection::constructor ( hash< auto > config,
*hash< auto > attr )

creates the DiscordWebSocketConnection connection object

Parameters
configwith the following keys:
  • name (required string): the connection name
  • display_name (optional string): the display name
  • short_desc (optional string): a short description in plain text
  • desc (optional string): a long description with markdown formatting
  • url (required string): the connection URL
  • opts (optional hash): connection options
  • logger (optional LoggerInterface object): logger for the connection
attroptional connection attributes
  • monitor (optional bool): should the connection be monitored? Default: True
  • enabled (optional bool): is the connection enabled? Default: True
  • locked (optional bool): is the connection locked? Default: False
  • debug_data (optional bool): debug data? Default: False
  • tags (optional hash): tags for the connection; no default value
Exceptions
CONNECTION-OPTION-ERRORmissing or invalid connection option or attribute

◆ constructor() [2/2]

DiscordWebSocketClient::DiscordWebSocketConnection::constructor ( string name,
string description,
*string url,
hash< auto > attributes = {},
hash< auto > options = {} )

creates the DiscordWebSocketConnection connection object

Parameters
namethe name of the connection
descriptionconnection description
urlconnection URL; if not provided, then the URL will be discovered automatically
attributesvarious attributes. See below
optionsconnection options

See AbstractConnection::constructor() for attributes and options reference.

Exceptions
CONNECTION-OPTION-ERRORmissing or invalid connection option

◆ getImpl()

DiscordWebSocketClient DiscordWebSocketClient::DiscordWebSocketConnection::getImpl ( bool connect = True,
*hash< auto > rtopts )
protected

returns a DiscordWebSocketClient object

Parameters
connectif True, then WebSocketClient::connect() is called
rtoptsruntime options
Returns
a DiscordWebSocketClient object

◆ setRealUrl()

DiscordWebSocketClient::DiscordWebSocketConnection::setRealUrl ( *string url)
protected

Called by the constructor to set the real URL.

@path the new URL

sets the real WS URL for WebSocket-based connections