Class: Patreon

Patreon

Modifies the SpikeyBot object with an interface for checking the Patreon status of users.

new Patreon()

Source:
Listens to Events:
  • Command#event:patreon

Extends

Classes

toExport

Members


<nullable> bot :SpikeyBot

The parent SpikeyBot instance. Defaults to required cache value for autocompletion, updates to current reference at init.
Type:
Inherited From:
Source:

client :Discord~Client

The current bot client. Defaults to require cache value for editor autocompletion, updates to current reference at init.
Type:
  • Discord~Client
Inherited From:
Source:

command :Command

The command object for registering command listeners. Defaults to require cache value for editor autocompletion, updates to current reference at init.
Type:
Inherited From:
Source:

<constant> commit :string

The commit at HEAD at the time this module was loaded. Essentially the version of this submodule.
Type:
  • string
Inherited From:
Source:

common :Common

The common object. Defaults to require cache value for editor autocompletion, updates to current reference at init.
Type:
Inherited From:
Source:

Discord :Discord

The current Discord object instance of the bot. Defaults to require cache value for editor autocompletion, updates to current reference at init.
Type:
  • Discord
Inherited From:
Source:

helpMessage :undefined|string|Discord~EmbedBuilder

The help message to show the user in the main help message.
Type:
  • undefined | string | Discord~EmbedBuilder
Inherited From:
Overrides:
Source:

<protected, readonly> initialized :boolean

Has this subModule been initialized yet (Has begin() been called).
Type:
  • boolean
Inherited From:
Source:

<constant> loadTime :number

The time at which this module was loaded for use in checking if the module needs to be reloaded because the file has been modified since loading.
Type:
  • number
Inherited From:
Source:

<protected> myName :string

The name of this submodule. Used for differentiating in the log. Should be defined before begin().
Type:
  • string
Inherited From:
Overrides:
Source:

<abstract> postPrefix :string

The postfix for the global prefix for this subModule. Must be defined before begin(), otherwise it is ignored.
Type:
  • string
Inherited From:
Source:

<private, inner, constant> campaignCacheTime :number

The amount of time the campaignInfo will be cached for before re-fetching from Patreon.
Type:
  • number
Default Value:
  • 3 Hours
Source:

<private, inner, constant> campaignInfo :Object

Cached campaign information that was fetched from Patreon previously.
Type:
  • Object
Default Value:
  • {}
Source:

<private, inner, constant> patreonSettingsFilename :string

The filename in the user's directory of the file where the settings related to Patreon rewards are stored.
Type:
  • string
Default Value:
  • /patreonSettings.json
Source:

<private, inner> patreonSettingsTemplate :object.<object>

The parsed data from Patreon~patreonSettingsTemplateFile. Data that outlines the available options that can be changed, and their possible values.
Type:
  • object.<object>
Default Value:
  • {}
Source:

<private, inner, constant> patreonSettingsTemplateFile :string

File where the template for the Patreon settings is stored.
Type:
  • string
Default Value:
  • ./save/patreonSettingTemplate.json
Source:
See:

<private, inner, constant> patreonTierPermFile :string

Path to the file storing information about each patron tier rewards.
Type:
  • string
Default Value:
  • ./save/patreonTiers.json
Source:

<private, inner> patreonTiers :Array.<{0: number, 1: Array.<string>}>

The parsed data from file about patron tier rewards.
Type:
  • Array.<{0: number, 1: Array.<string>}>
Default Value:
  • {}
Source:
See:

<private, inner, constant> tokenData :Object

Cached token values stored in tokenFile.
Type:
  • Object
Default Value:
  • {}
Source:

<private, inner, constant> tokenFile :string

Filename of the file that will store the creator token information for fetching campaign information.
Type:
  • string
Default Value:
  • ./save/patreonCreatorTokens.json
Source:

Methods


begin(Discord, client, command, common, bot)

Initialize this submodule.
Parameters:
Name Type Description
Discord Discord The Discord object for the API library.
client Discord~Client The client that represents this bot.
command Command The command instance in which to register command listeners.
common Common Class storing common functions.
bot SpikeyBot The parent SpikeyBot instance.
Inherited From:
Source:

<protected> debug(msg)

Log using common.logDebug, but automatically set name.
Parameters:
Name Type Description
msg string The message to log.
Inherited From:
Source:

end()

Trigger subModule to shutdown and get ready for process terminating.
Inherited From:
Source:

<protected> error(msg)

Log using common.error, but automatically set name.
Parameters:
Name Type Description
msg string The message to log.
Inherited From:
Source:

<protected> initialize()

The function called at the end of begin() for further initialization specific to the subModule. Must be defined before begin() is called.
Inherited From:
Overrides:
Source:

<protected> log(msg)

Log using common.log, but automatically set name.
Parameters:
Name Type Description
msg string The message to log.
Inherited From:
Source:

<abstract> reloadable()

Check if this module is in a state that is ready to be reloaded. If false is returned, this module should not be unloaded and doing such may risk putting the module into an uncontrollable state. This is different from unloadable, which checks if this module can be stopped completely, this checks if the module can be stopped and restarted.
Inherited From:
Source:
See:
  • SubModule~unloadable
Returns:
True if can be reloaded, false if cannot.
Type
boolean

<abstract> save( [opt])

Saves all data to files necessary for saving current state.
Parameters:
Name Type Argument Default Description
opt string <optional>
'sync' Can be 'async', otherwise defaults to synchronous.
Inherited From:
Source:

<protected> shutdown()

Shutdown and disable this submodule. Removes all event listeners.
Inherited From:
Overrides:
Source:

<abstract> unloadable()

Check if this module is in a state that is ready to be unloaded. If false is returned, this module should not be unloaded and doing such may risk putting the module into an uncontrollable state.
Inherited From:
Source:
See:
  • SubModule~reloadable
Returns:
True if can be unloaded, false if cannot.
Type
boolean

<protected> warn(msg)

Log using common.logWarning, but automatically set name.
Parameters:
Name Type Description
msg string The message to log.
Inherited From:
Source:

<private, inner> commandPatreon(msg)

Shows the user's Patreon information to the user.
Parameters:
Name Type Description
msg Discord~Message Message that triggered command.
Source:
Listens to Events:
  • Command#event:patreon

<private, inner> fetchAccessToken(cb)

Get the current access token for making a request on our behalf. If the token has expired, it will first be refreshed.
Parameters:
Name Type Description
cb Patreon~basicCB Callback with parameters for error and success values.
Source:

<private, inner> fetchPatreonRow(uId, cb)

Get the Patreon information for a given Discord user.
Parameters:
Name Type Description
uId string | number The Discord user ID to check.
cb Patreon~basicCB Callback with parameters for error and success values.
Properties
Name Type Argument Description
data.status object <nullable>
A single row if it was found.
Source:

<private, inner> updatePatreonSettingsTemplate()

Parse template from file.
Source:
See:

<private, inner> updateTierPerms()

Parse tiers from file.
Source:
See:

Type Definitions


basicCB(err, data)

Basic callback function that has two parameters. One with error information, and the other with data if there was no error.
Parameters:
Name Type Argument Description
err string <nullable>
The error string, or null if no error.
data Object <nullable>
The returned data if there was no error.
Source: