UNPKG

@persian-caesar/discord-player

Version:

Type definitions and helpers for a Discord music player (MusicPlayer) without external dependencies

49 lines 3.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.PlayerManager = void 0; const MusicPlayer_1 = require("./MusicPlayer"); class PlayerManager { static players = new Map(); static getOrCreatePlayer(guildId, channel, initialVolume = 100, options = {}) { let player = this.players.get(guildId); if (!player) { player = new MusicPlayer_1.MusicPlayer(channel, initialVolume, options); this.players.set(guildId, player); player.on("Disconnect", () => { this.players.delete(guildId); }); } else if (player.channel.id !== channel.id) { player.setData({ channelId: channel.id, guildId: channel.guild.id, adapterCreator: channel.guild.voiceAdapterCreator, selfDeaf: true, selfMute: false }); player.disconnect(); player.join(); } return player; } static getPlayer(guildId) { return this.players.get(guildId); } static removePlayer(guildId) { const player = this.players.get(guildId); if (player) { player.disconnect(); this.players.delete(guildId); } } } exports.PlayerManager = PlayerManager; /** * @copyright * Code by Sobhan-SRZA (mr.sinre) | https://github.com/Sobhan-SRZA * Developed for Persian Caesar | https://github.com/Persian-Caesar | https://dsc.gg/persian-caesar * * If you encounter any issues or need assistance with this code, * please make sure to credit "Persian Caesar" in your documentation or communications. */ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxheWVyTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9QbGF5ZXJNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLCtDQUE0QztBQUU1QyxNQUFhLGFBQWE7SUFDZCxNQUFNLENBQUMsT0FBTyxHQUE2QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBRXRELE1BQU0sQ0FBQyxpQkFBaUIsQ0FDM0IsT0FBZSxFQUNmLE9BQXFCLEVBQ3JCLGFBQWEsR0FBRyxHQUFHLEVBQ25CLFVBQThCLEVBQUU7UUFFaEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1YsTUFBTSxHQUFHLElBQUkseUJBQVcsQ0FBQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNsQyxNQUFNLENBQUMsRUFBRSxDQUFDLFlBQW1CLEVBQUUsR0FBRyxFQUFFO2dCQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7YUFFSSxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUN4QyxNQUFNLENBQUMsT0FBTyxDQUFDO2dCQUNYLFNBQVMsRUFBRSxPQUFPLENBQUMsRUFBRTtnQkFDckIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDekIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsbUJBQW1CO2dCQUNqRCxRQUFRLEVBQUUsSUFBSTtnQkFDZCxRQUFRLEVBQUUsS0FBSzthQUNsQixDQUFDLENBQUM7WUFDSCxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2xCLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxPQUFlO1FBQ25DLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBZTtRQUN0QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN6QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7SUFDTCxDQUFDOztBQTNDTCxzQ0E0Q0M7QUFDRDs7Ozs7OztHQU9HIn0=