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)PlayerOptionsReturns
Promise<Player>The created player instance
get
Get an existing player for a guild /
get(guildOrId: string | { id: string }): Player | undefinedParameters
guildOrIdstring | { id: string }Returns
Player | undefinedThe player instance or undefined if not found
getPlayer
Get an existing player for a guild (alias for get) /
getPlayer(guildOrId: string | { id: string }): Player | undefinedParameters
guildOrIdstring | { id: string }getall
Alias for getAll /
getall(): Player[]delete
Destroy a player and clean up resources /
delete(guildOrId: string | { id: string }): booleanParameters
guildOrIdstring | { id: string }Returns
booleanTrue if player was destroyed, false if not found
has
Check if a player exists for a guild /
has(guildOrId: string | { id: string }): booleanParameters
guildOrIdstring | { id: string }Returns
booleanTrue if player exists
destroy
Destroy all players and clean up /
destroy(): voidsearch
Search using registered plugins without creating a Player. /
async search(query: string, requestedBy: string): Promise<SearchResult>Parameters
querystringrequestedBystringReturns
Promise<SearchResult>The search result