Skip to main content
Version: v2.8.1

Class : Player

Constructorโ€‹

new Magmastream.Player(options: PlayerOptions)
Parameter Type Description
guildIdstring as Guild.idThe guild ID the Player belongs to.
textChannelstring as GuildTextChannel.idThe text channel the Player belongs to.
voiceChannelstring as GuildVoiceChannel.idThe voice channel the Player belongs to.
nodestring as Node.identifierThe node the Player uses.
volumenumberThe initial volume the Player will use.
selfMutebooleanIf the player should mute itself.
selfDeafenbooleanIf the player should deaf itself.

Table of contentsโ€‹

Properties Methods
autoplayTriesconnect()
bandsdeleteSponsorBlock()
dynamicRepeatdestroy()
filtersdisconnect()
guildIdget()
isAutoplaygetRecommended()
managergetSponsorBlock()
nodepause()
nowPlayingMessageplay()
pausedprevious()
playingrestart()
positionsearch()
queueseek()
queueRepeatset()
statesetAutoplay()
textChannelsetDynamicRepeat()
trackRepeatsetNowPlayingMessage()
voiceChannelsetQueueRepeat()
voiceStatesetSponsorBlock()
volumesetTextChannel()
setTrackRepeat()
setVoiceChannel()
setVolume()
stop()

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.

Return: string as GuildID


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โ€‹

connect()โ€‹

Connect to the voice channel.

Return: this


deleteSponsorBlock()โ€‹

Deletes the sponsorblock for the player. This will remove all sponsorblock segments that have been set for the player.

Return: Promise<this>


destroy(disconnect)โ€‹

Destroys the player.

Return: void

Parameter Type Description Optional
disconnectbooleanIf true, disconnects the player from the voice channel before destroying it.

disconnect()โ€‹

Disconnects the player from the voice channel.

Return: this


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
keystringThe key to retrieve the data for.

getRecommended(track, requester)โ€‹

Gets recommended tracks and returns an array of tracks.

Return: Promise<Track[]>

Parameter Type Description Optional
tracktrack{}The track to find recommendations for.
requesterUser | ClientUserThe user who requested the track.

getSponsorBlock()โ€‹

Gets the sponsorblock for the player.

Return: Promise<sponsorBlockSegment[]>


pause()โ€‹

Pauses or resumes the current track.

Return: this

Parameter Type Description Optional
pausebooleanA boolean indicating whether to pause (true) or resume (false) the track.

play()โ€‹

Plays 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.

Return: Promise<void>

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();

previous()โ€‹

Goes back to the previous song in the queue.

Return: this


restart()โ€‹

Restarts the current track to the start.

If there's no current track and there are tracks in the queue, it plays the next track.

Return: void


Same as Manager#search() but a shortcut on the player itself.

Return: Promise<searchResult{}>

Parameter Type Description Optional
querystring | searchQuery{}Query to search.
requesterUser | ClientUserThe user who requested the track.

seek(position)โ€‹

Seeks to the specified position in the current track.

Return: this

Parameter Type Description Optional
positionnumberThe position in milliseconds to seek to.

set(key, value)โ€‹

Set custom data.

Return: void

Parameter Type Description Optional
keystringThe key to set the data for.
valueunknownThe 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
autoplayStatebooleanWhether or not autoplay should be enabled.
botUserobjectThe user-object that should be used as the bot-user.
triesnumberThe 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
repeatbooleanWhether to repeat the queue or not
msnumberAfter how many milliseconds to trigger dynamic repeat.

setNowPlayingMessage(message)โ€‹

Sets the now playing message.

Return: Message

Parameter Type Description Optional
messageMessageThe message of the now playing message.

setQueueRepeat(repeat)โ€‹

Sets the queue repeat.

Return: this

Parameter Type Description Optional
repeatbooleanWhether to repeat the queue or not

setSponsorBlock(segments)โ€‹

Sets the sponsorblock for the player. This will set the sponsorblock segments for the player to the given segments.

Return: Promise<void>

Parameter Type Description Optional
segmentssponsorBlockSegment[]The sponsorblock segments to set. Defaults to ["sponsor", "selfpromo"] if not provided.

setTextChannel(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
channelstring as GuildTextChannel.idThe 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
repeatbooleanWhether to repeat the queue or not

setVoiceChannel(channel)โ€‹

Sets the player voice channel.

Return: this

Parameter Type Description Optional
channelstring as GuildVoiceChannel.idThe new voice channel ID.

setVolume(volume)โ€‹

Sets the player volume.

Return: this

Parameter Type Description Optional
volumenumberThe volume to set the player to. Must be between 0 and 100.

stop(amount)โ€‹

Stops the current track, optionally give an amount to skip to, e.g 5 would play the 5th song.

Return: this

Parameter Type Description Optional
amountnumberThe amount of tracks to skip, e.g 5 would play the 5th song.