-
-
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:
- Inherited From:
-
- Source:
-
-
-
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:
- Inherited From:
-
- Source:
-
-
-
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:
- Inherited From:
-
- Source:
-
-
<abstract> helpMessage :undefined|string|Discord~EmbedBuilder
-
The help message to show the user in the main help message.
Type:
-
undefined
|
string
|
Discord~EmbedBuilder
- Inherited From:
-
- Source:
-
-
<protected, readonly> initialized :boolean
-
Has this subModule been initialized yet (Has begin() been called).
Type:
- 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:
- Inherited From:
-
- Source:
-
-
<abstract, protected> myName :string
-
The name of this submodule. Used for differentiating in the log. Should
be defined before begin().
Type:
- 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:
- Inherited From:
-
- Source:
-
-
<private, inner, constant> apiRequest :object
-
The request to send to spotify to fetch the currently playing information
for a user.
Type:
- Default Value:
-
- {"protocol":"https:","host":"api.spotify.com","path":"/v1/me/player/currently-playing","method":"GET","headers":""}
- Source:
-
-
<private, inner, constant> following :object
-
The current users we are monitoring the spotify status of, and some related
information. Mapped by guild id.
Type:
- Source:
-
-
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:
-
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:
-
-
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:
-
- Overrides:
- Source:
-
- See:
-
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> checkMusic()
-
Update current reference to music submodule.
- Source:
-
-
<private, inner> commandSpotify(msg)
-
Lookup what a user is listening to on Spotify, then attempt to play the
song in the requester's voice channel.
Parameters:
Name |
Type |
Description |
msg |
Discord~Message
|
The message that triggered command. |
- Source:
-
Listens to Events:
-
<private, inner> endFollow(msg)
-
Cleanup and delete data in order to stop following user.
Parameters:
Name |
Type |
Description |
msg |
Discord~Message
|
THe context to clear. |
- Source:
-
-
<private, inner> getCurrentSong(userId, cb)
-
Fetch the current playing song on spotify for the given discord user id.
Parameters:
Name |
Type |
Description |
userId |
string
|
number
|
The Discord user id to lookup. |
cb |
Fucntion
|
Callback with err, and data parameters. |
- Source:
-
-
<private, inner> startMusic(msg, song)
-
Attempt to start playing the given song into a voice channel.
Parameters:
Name |
Type |
Description |
msg |
Discord~Message
|
Message that caused this to happen, and to
pass into Command as context. |
song |
Object
|
The current
song information. Name is song name, progress is progress into the song in
milliseconds. |
- Source:
-
-
<private, inner> updateDuration(msg, userId)
-
Fetch the song's length from music because Spotify was unable to provide it
for us.
Parameters:
Name |
Type |
Description |
msg |
Discord~Message
|
The context. |
userId |
string
|
number
|
The user id we are following. |
- Source:
-
-
<private, inner> updateFollowingState(msg, userId [, songInfo] [, start])
-
Check on the user's follow state and update the playing status to match.
Parameters:
Name |
Type |
Argument |
Default |
Description |
msg |
Discord~Message
|
|
|
The message to use as context. |
userId |
string
|
number
|
|
|
The discord user id that we are following. |
songInfo |
object
|
<optional>
|
|
If song info is provided, this will not be
fetched first. If it is not, the information will be fetched from Spotify
first. |
start |
boolean
|
<optional>
|
false
|
Should we setup the player with our settings
because this is the first run? |
- Source:
-