Qore DiscordRestClient Module Reference 1.0
Loading...
Searching...
No Matches
DiscordRestClient::DiscordRestConnection Class Reference

Class for Discord REST connections; returns DiscordRestClient objects. More...

Public Member Functions

 constructor (hash< auto > config, *hash< auto > attr)
 creates the DiscordRestConnection object
 
 constructor (string name, string description, string url=DiscordRestClient::DefaultUrl, hash< auto > attributes={}, hash< auto > options={})
 creates the DiscordRestConnection object
 
*string getAppName ()
 Returns the data provider application name this connection serves, if any.
 
DataProvider::AbstractDataProvider getDataProvider (*hash< auto > constructor_options)
 returns a data provider object for this connection
 
string getType ()
 returns "discord"
 
bool hasDataProvider ()
 returns True as this connection returns a data provider with the getDataProvider() method
 
 setUpdateOptionsCode (*code update_options)
 Can be called to set or clear a closure or call reference to be called when options are automatically updated.
 

Public Attributes

const ConnectionScheme = ...
 Connection entry info.
 
const DataProviderSubtypeMap = ...
 Data provider subtypes supported.
 
const DefaultConnectionUrl = "discord://discord.com/api"
 Default Discord REST API URL.
 

Protected Member Functions

 checkSubtypeInfo ()
 Verifies that subtype info has been loaded from external modules.
 
hash< ConnectionSchemeInfo > getConnectionSchemeInfoImpl ()
 Returns the ConnectionSchemeInfo hash for this object.
 
AbstractDataProvider getDataProviderImpl (string subtype, *hash< auto > constructor_options)
 returns a data provider object for the connection and subtype passed as an argument
 
*hash< string, *hash< string, hash< DataProviderOptionInfo > > > getDataProviderSubtypesImpl ()
 Returns a hash of supported data provider subtypes.
 
DiscordRestClient getImpl (bool connect=True, *hash< auto > rtopts)
 returns a DiscordRestClient object
 
 loadSubtypeInfo ()
 Loads subtype info from external modules.
 
 setChildCapabilities ()
 Sets child data provider capabilities.
 

Static Protected Member Functions

static Mutex subtype_lck ()
 Data provider subtype lock.
 

Static Protected Attributes

static hash< string, *hash< string, hash< DataProviderOptionInfo > > > subtype_info
 Data provider subtype info.
 

Detailed Description

Class for Discord REST connections; returns DiscordRestClient objects.

This class implements all options of RestClientConnection; in addition, this class provides the following default values for the following options:

See also
DiscordRestClient::DiscordRestClient::constructor() for more information on the above options

Member Function Documentation

◆ constructor() [1/2]

DiscordRestClient::DiscordRestConnection::constructor ( hash< auto > config,
*hash< auto > attr )

creates the DiscordRestConnection 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]

DiscordRestClient::DiscordRestConnection::constructor ( string name,
string description,
string url = DiscordRestClient::DefaultUrl,
hash< auto > attributes = {},
hash< auto > options = {} )

creates the DiscordRestConnection object

Parameters
namethe name of the connection
descriptionconnection description
urlconnection URL (potentially with password info)
attributesvarious attributes. See below
optionsconnection options

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

Exceptions
CONNECTION-OPTION-ERRORmissing or invalid connection option

◆ getAppName()

*string DiscordRestClient::DiscordRestConnection::getAppName ( )

Returns the data provider application name this connection serves, if any.

Returns
the data provider application name this connection serves, if any

◆ getDataProvider()

DataProvider::AbstractDataProvider DiscordRestClient::DiscordRestConnection::getDataProvider ( *hash< auto > constructor_options)

returns a data provider object for this connection

Parameters
constructor_optionsany additional constructor options for the data provider
Returns
a data provider object for this connection

◆ getDataProviderImpl()

AbstractDataProvider DiscordRestClient::DiscordRestConnection::getDataProviderImpl ( string subtype,
*hash< auto > constructor_options )
protected

returns a data provider object for the connection and subtype passed as an argument

Parameters
subtypethe subtype of data provider supported, in case the connection can return multiple data providers
constructor_optionsany additional constructor options required by the data provider
Returns
a data provider object for the connection and subtype passed as an argument
Exceptions
DATA-PROVIDER-ERRORthis object does not support the data provider API or the given subtype is not valid

◆ getDataProviderSubtypesImpl()

*hash< string, *hash< string, hash< DataProviderOptionInfo > > > DiscordRestClient::DiscordRestConnection::getDataProviderSubtypesImpl ( )
protected

Returns a hash of supported data provider subtypes.

Returns
a hash of supported data provider subtypes

◆ getImpl()

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

returns a DiscordRestClient object

Parameters
connectif True, then the connection is returned already connected
rtoptsthis connection type does not accept any runtime options, so this parameter is ignored
Returns
a DiscordRestClient object

◆ hasDataProvider()

bool DiscordRestClient::DiscordRestConnection::hasDataProvider ( )

returns True as this connection returns a data provider with the getDataProvider() method

Returns
True as this connection returns a data provider with the getDataProvider() method
See also
getDataProvider()

◆ setUpdateOptionsCode()

DiscordRestClient::DiscordRestConnection::setUpdateOptionsCode ( *code update_options)

Can be called to set or clear a closure or call reference to be called when options are automatically updated.

The closure or call reference must have the following signature: <update_options(hash<auto> options)