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.