ziplayer

⌘K

PlayerManager

classcoreplayermanager

The main class for managing players across multiple Discord guilds.

Example

// Basic setup with plugins and extensions
const manager = new PlayerManager({
  plugins: [
    new YouTubePlugin(),
    new SoundCloudPlugin(),
    new SpotifyPlugin(),
    new TTSPlugin({ defaultLang: "en" })
  ],
  extensions: [
    new voiceExt(null, { lang: "en-US" }),
    new lavalinkExt(null, {
      nodes: [{ host: "localhost", port: 2333, password: "youshallnotpass" }]
    })
  ],
  extractorTimeout: 10000,
  autoCleanup: true,
  cleanupInterval: 60000
});
// Create a player for a guild
const player = await manager.create(guildId, {
  tts: { interrupt: true, volume: 1 },
  leaveOnEnd: true,
  leaveTimeout: 30000
});
// Get existing player
const existingPlayer = manager.get(guildId);
if (existingPlayer) {
  await existingPlayer.play("Never Gonna Give You Up", userId);
}

Methods

create

Create a new player for a guild /

async create(guildOrId: string | { id: string }, options?: PlayerOptions): Promise<Player>

Parameters

guildOrIdstring | { id: string }
options?(optional)PlayerOptions

Returns

Promise<Player>

The created player instance

get

Get an existing player for a guild /

get(guildOrId: string | { id: string }): Player | undefined

Parameters

guildOrIdstring | { id: string }

Returns

Player | undefined

The player instance or undefined if not found

getPlayer

Get an existing player for a guild (alias for get) /

getPlayer(guildOrId: string | { id: string }): Player | undefined

Parameters

guildOrIdstring | { id: string }

getall

Alias for getAll /

getall(): Player[]

delete

Destroy a player and clean up resources /

delete(guildOrId: string | { id: string }): boolean

Parameters

guildOrIdstring | { id: string }

Returns

boolean

True if player was destroyed, false if not found

has

Check if a player exists for a guild /

has(guildOrId: string | { id: string }): boolean

Parameters

guildOrIdstring | { id: string }

Returns

boolean

True if player exists

destroy

Destroy all players and clean up /

destroy(): void

search

Search using registered plugins without creating a Player. /

async search(query: string, requestedBy: string): Promise<SearchResult>

Parameters

querystring
requestedBystring

Returns

Promise<SearchResult>

The search result

Core Classes

Core Interfaces

Extensions

Plugins