Class : Player
Constructor
- Player : options
new Magmastream.Player(options: PlayerOptions)
Parameter | Type | Description | Optional |
---|---|---|---|
guildId | string as Guild.id | The guild ID the Player belongs to. | |
textChannelId | string as GuildTextChannel.id | The text channel the Player belongs to. | |
voiceChannelId | string as GuildVoiceChannel.id | The voice channel the Player belongs to. | |
node | string as Node.identifier | The node the Player uses. | |
volume | number | The initial volume the Player will use. | |
selfMute | boolean | If the player should mute itself. | |
selfDeafen | boolean | If the player should deaf itself. |
Table of contents
Properties
autoplayTries
The number of times to try autoplay before emitting queueEnd.
Return: number |
3 (default value)
bands
The equalizer bands array.
Return: number[]
dynamicRepeat
Whether the queue repeats and shuffles after each song.
Return: boolean
filters
The filters applied to the audio.
Return:
Filters
guildId
The guild ID for the player.
isAutoplay
The autoplay state of the player.
Return: boolean
manager
The Manager for the player.
Return:
Manager
node
The Node for the Player.
Return:
Node
nowPlayingMessage
The now playing message for the player.
Return: Message
paused
Whether the player is paused.
Return: boolean
playing
Whether the player is playing.
Return: boolean
position
The time the player is in the track.
Return: number
queue
The Queue for the Player.
Return:
Queue
queueRepeat
Whether the queue repeats the queue.
Return: boolean
state
The current state of the player.
Return: StateTypes
textChannel
The text channel id for the player.
Return: string as
GuildTextChannel.id
trackRepeat
Whether the queue repeats the track.
Return: boolean
voiceChannel
The voice channel id for the player.
Return: string as
GuildVoiceChannel.id
voiceState
The voice state object from Discord.
Return: VoiceState
volume
The volume for the player.
Return: number
Methods
autoMoveNode()
async functionAutomatically moves the player to a usable node.
connect()
Connects the player to the voice channel.
Return: this
deleteSponsorBlock()
async functionDeletes the sponsorblock for the player. This will remove all sponsorblock segments that have been set for the player.
destroy(disconnect)
async functionDestroys the player and clears the queue.
Parameter Type Description Optional disconnect
boolean Whether to disconnect the player from the voice channel. If no provided is true
disconnect()
async functionDisconnects the player from the voice channel.
get(key)
Retrieves custom data associated with a given key.
Return: The data associated with the key, cast to the specified type.
Parameter Type Description Optional key
string The key to retrieve the data for.
getCurrentLyrics(skipTrackSource)
async functionRetrieves the current lyrics for the playing track.
This method uses thelavalyrics-plugin
to fetch the lyrics. If the plugin is not available, it will throw a RangeError.Return: Promise<
lyrics{}
>
Parameter Type Description Optional skipTrackSource
boolean Indicates whether to skip the track source when fetching lyrics.
getRecommendedTracks(track, requester)
async functionGets recommended tracks and returns an array of tracks.
Parameter Type Description Optional track
track{}
The track to find recommendations for. requester
User
|ClientUser
The user who requested the track.
getSponsorBlock()
async functionGets the sponsorblock for the player.
Return: Promise<
sponsorBlockSegment[]
>
moveNode(identifier)
async functionMoves the player to another node.
Return: Promise<
sponsorBlockSegment[]
>
Parameter Type Description Optional identifier
string as Node.identifier
The identifier of the node to move to.
pause()
async functionPauses or resumes the current track.
Parameter Type Description Optional pause
boolean A boolean indicating whether to pause (true) or resume (false) the track.
play()
async functionPlays the next track.
If a track is provided, it will be played. Otherwise, the next track in the queue will be played.
If the queue is not empty, but the current track has not finished yet, it will be replaced with the provided track.
- Start playing after add track to queue
- Start playing with track
- Start playing with play options
- Start playing with track and options
const { Manager } = require('magmastream');
const manager = new Manager({
...ManagerOptions
})
const searchResponse = await manager.search('Never Gonna Give You Up');
const player = client.lavalink.create({
...PlayerOptions
});
player.connect()
player.queue.add(searchResponse.tracks);
player.play();
Parameter | Type | Optional |
---|---|---|
track | track{} |
const { Manager } = require('magmastream');
const manager = new Manager({
...ManagerOptions
})
const searchResponse = await manager.search('Never Gonna Give You Up');
const player = client.lavalink.create({
...PlayerOptions
});
player.connect()
player.play(searchResponse.tracks[0]);
Parameter | Type | Optional |
---|---|---|
options | playOptions{} |
Parameter | Type | Optional |
---|---|---|
track | track{} | |
options | playOptions{} |
const { Manager } = require('magmastream');
const manager = new Manager({
...ManagerOptions
})
const searchResponse = await manager.search('Never Gonna Give You Up');
const player = client.lavalink.create({
...PlayerOptions
});
player.connect()
player.play(searchResponse.tracks[0], {
...PlayOptions
});
previous()
async functionSkips to the previous track in the queue.
restart()
async functionRestarts the current track to the start.
If there's no current track and there are tracks in the queue, it plays the next track.
search(query, requester)
async functionSame as Manager.search() but a shortcut on the player itself.
seek(position)
async functionSeeks to the specified position in the current track.
Parameter Type Description Optional position
number The position in milliseconds to seek to.
set(key, value)
Set custom data.
Return: void
Parameter Type Description Optional key
string The key to set the data for. value
unknown The value to set the data to.
setAutoplay(autoplayState, botUser, tries)
Sets the autoplay-state of the player.
Autoplay is a feature that makes the player play a recommended track when the current track ends.Return: this
Parameter Type Description Optional autoplayState
boolean Whether or not autoplay should be enabled. botUser
object The user-object that should be used as the bot-user. tries
number The number of times the player should try to find a recommended track if the first one doesn't work.
setDynamicRepeat(repeat, ms)
Sets the queue to repeat and shuffles the queue after each song.
Return: this
Parameter Type Description Optional repeat
boolean Whether to repeat the queue or not ms
number After how many milliseconds to trigger dynamic repeat.
setNowPlayingMessage(message)
Sets the now playing message.
Return: Message
Parameter Type Description Optional message
Message The message of the now playing message.
setQueueRepeat(repeat)
Sets the queue repeat.
Return: this
Parameter Type Description Optional repeat
boolean Whether to repeat the queue or not
setSponsorBlock(segments)
async functionSets the sponsorblock for the player. This will set the sponsorblock segments for the player to the given segments.
Parameter Type Description Optional segments
SponsorBlockSegment The sponsorblock segments to set. Defaults to ["sponsor", "selfpromo"]
if not provided.
setTextChannelId(channel)
Sets the player text channel.
This method updates the text channel associated with the player. It also emits a player state update event indicating the change in the channel.Return: this
Parameter Type Description Optional channel
string as GuildTextChannel.id
The new text channel ID.
setTrackRepeat(repeat)
Sets the track repeat mode.
When track repeat is enabled, the current track will replay after it ends.
Disables queueRepeat and dynamicRepeat modes if enabled.Return: this
Parameter Type Description Optional repeat
boolean Whether to repeat the queue or not
setVoiceChannelId(channel)
Sets the player voice channel.
Return: this
Parameter Type Description Optional channel
string as GuildVoiceChannel.id
The new voice channel ID.
setVolume(volume)
async functionSets the player volume.
Parameter Type Description Optional volume
number The volume to set the player to. Must be between 0 and 100.
stop(amount)
async functionStops the player and optionally removes tracks from the queue.
Parameter Type Description Optional amount
number The amount of tracks to remove from the queue. If not provided, removes the current track if it exists.
switchGuild(newOptions, force)
async functionTransfers the player to a new server. If the player already exists on the new server and force is false, this method will return the existing player. Otherwise, a new player will be created and the current player will be destroyed.
Parameter Type Description Optional newOptions
playerOptions{}
The new options for the player. force
boolean Whether to force the creation of a new player. Default is false.