UNPKG

lavaclient

Version:

A simple, easy-to-use, and flexible lavalink client for node.js

68 lines 5.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.NodePlayerManager = void 0; const tools_js_1 = require("./tools.js"); class NodePlayerManager { node; cache = new Map(); constructor(node) { this.node = node; } has(guild) { return this.cache.has((0, tools_js_1.getId)(guild)); } resolve(guild) { return this.cache.get((0, tools_js_1.getId)(guild)); } create(guild) { if (this.has((0, tools_js_1.getId)(guild))) { return this.resolve((0, tools_js_1.getId)(guild)); } const player = this.node.createPlayer((0, tools_js_1.getId)(guild)); this.cache.set((0, tools_js_1.getId)(guild), player); return player; } async fetch(arg0, options = {}) { if (typeof arg0 === "boolean") { const response = (await this.node.ws.session?.players()) ?? []; return response.map((data) => { const player = arg0 ? this.create(data.guildId) : this.node.createPlayer(data.guildId); return player.patch(data); }); } const guildId = (0, tools_js_1.getId)(arg0); let player = this.cache.get(guildId); if (!options.force && player) { return player; } const data = await this.node.ws.session?.player(guildId)?.fetchOrNull(); if (data) { player = options.cache ? player ?? this.create(guildId) : this.node.createPlayer(guildId); return player.patch(data); } return; } async destroy(guild, force = false) { if (!guild) { let count = 0; for (const [_, player] of this.cache) { player.api.remove(); } return count; } const player = this.resolve((0, tools_js_1.getId)(guild)); this.cache.delete((0, tools_js_1.getId)(guild)); if (!player) { if (force) { return this.node.ws.session?.player((0, tools_js_1.getId)(guild))?.remove() ?? false; } return false; } return player.api.remove(); } handleVoiceUpdate(update) { return this.resolve(update.guild_id)?.voice?.handleVoiceUpdate(update) ?? Promise.resolve(false); } } exports.NodePlayerManager = NodePlayerManager; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxheWVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wbGF5ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQW9CQSx5Q0FBaUQ7QUE0RWpELE1BQWEsaUJBQWlCO0lBR0w7SUFGWixLQUFLLEdBQStCLElBQUksR0FBRyxFQUFFLENBQUM7SUFFdkQsWUFBcUIsSUFBVztRQUFYLFNBQUksR0FBSixJQUFJLENBQU87SUFBRyxDQUFDO0lBRXBDLEdBQUcsQ0FBQyxLQUFtQjtRQUNuQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUEsZ0JBQUssRUFBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBbUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFBLGdCQUFLLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQW1CO1FBQ3RCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFBLGdCQUFLLEVBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBQSxnQkFBSyxFQUFDLEtBQUssQ0FBQyxDQUFFLENBQUM7U0FDdEM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFBLGdCQUFLLEVBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFBLGdCQUFLLEVBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFckMsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQU1ELEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBd0MsRUFBRSxVQUF3QixFQUFFO1FBRTVFLElBQUksT0FBTyxJQUFJLEtBQUssU0FBUyxFQUFFO1lBRTNC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