UNPKG

disrexom

Version:

A Discord.js module to simplify your music commands and play songs with audio filters on Discord without any API key. Support YouTube, SoundCloud, Bandcamp, Facebook, and 700+ more sites

93 lines 5.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Options = void 0; const __1 = require(".."); class Options { constructor(options) { if (typeof options !== "object" || Array.isArray(options)) { throw new __1.DisTubeError("INVALID_TYPE", "object", options, "DisTubeOptions"); } const def = { ...__1.defaultOptions }; // Object.assign(this, defaultOptions, options); const opts = Object.assign({}, def, options); this.plugins = opts.plugins; this.emitNewSongOnly = opts.emitNewSongOnly; this.leaveOnEmpty = opts.leaveOnEmpty; this.leaveOnFinish = opts.leaveOnFinish; this.leaveOnStop = opts.leaveOnStop; this.savePreviousSongs = opts.savePreviousSongs; this.youtubeDL = opts.youtubeDL; this.updateYouTubeDL = opts.updateYouTubeDL; this.searchSongs = opts.searchSongs; this.youtubeCookie = opts.youtubeCookie; this.youtubeIdentityToken = opts.youtubeIdentityToken; this.customFilters = opts.customFilters; this.ytdlOptions = opts.ytdlOptions; this.searchCooldown = opts.searchCooldown; this.emptyCooldown = opts.emptyCooldown; this.nsfw = opts.nsfw; this.emitAddSongWhenCreatingQueue = opts.emitAddSongWhenCreatingQueue; this.emitAddListWhenCreatingQueue = opts.emitAddListWhenCreatingQueue; (0, __1.checkInvalidKey)(opts, this, "DisTubeOptions"); this._validateOptions(); } _validateOptions(options = this) { if (typeof options.emitNewSongOnly !== "boolean") { throw new __1.DisTubeError("INVALID_TYPE", "boolean", options.emitNewSongOnly, "DisTubeOptions.emitNewSongOnly"); } if (typeof options.leaveOnEmpty !== "boolean") { throw new __1.DisTubeError("INVALID_TYPE", "boolean", options.leaveOnEmpty, "DisTubeOptions.leaveOnEmpty"); } if (typeof options.leaveOnFinish !== "boolean") { throw new __1.DisTubeError("INVALID_TYPE", "boolean", options.leaveOnFinish, "DisTubeOptions.leaveOnFinish"); } if (typeof options.leaveOnStop !== "boolean") { throw new __1.DisTubeError("INVALID_TYPE", "boolean", options.leaveOnStop, "DisTubeOptions.leaveOnStop"); } if (typeof options.savePreviousSongs !== "boolean") { throw new __1.DisTubeError("INVALID_TYPE", "boolean", options.savePreviousSongs, "DisTubeOptions.savePreviousSongs"); } if (typeof options.youtubeDL !== "boolean") { throw new __1.DisTubeError("INVALID_TYPE", "boolean", options.youtubeDL, "DisTubeOptions.youtubeDL"); } if (typeof options.updateYouTubeDL !== "boolean") { throw new __1.DisTubeError("INVALID_TYPE", "boolean", options.updateYouTubeDL, "DisTubeOptions.updateYouTubeDL"); } if (typeof options.youtubeCookie !== "undefined" && typeof options.youtubeCookie !== "string") { throw new __1.DisTubeError("INVALID_TYPE", "string", options.youtubeCookie, "DisTubeOptions.youtubeCookie"); } if (typeof options.youtubeIdentityToken !== "undefined" && typeof options.youtubeIdentityToken !== "string") { throw new __1.DisTubeError("INVALID_TYPE", "string", options.youtubeIdentityToken, "DisTubeOptions.youtubeIdentityToken"); } if (typeof options.customFilters !== "object" || Array.isArray(options.customFilters)) { throw new __1.DisTubeError("INVALID_TYPE", "object", options.customFilters, "DisTubeOptions.customFilters"); } if (typeof options.ytdlOptions !== "object" || Array.isArray(options.ytdlOptions)) { throw new __1.DisTubeError("INVALID_TYPE", "object", options.ytdlOptions, "DisTubeOptions.ytdlOptions"); } if (typeof options.searchCooldown !== "number" || isNaN(options.searchCooldown)) { throw new __1.DisTubeError("INVALID_TYPE", "number", options.searchCooldown, "DisTubeOptions.searchCooldown"); } if (typeof options.emptyCooldown !== "number" || isNaN(options.emptyCooldown)) { throw new __1.DisTubeError("INVALID_TYPE", "number", options.emptyCooldown, "DisTubeOptions.emptyCooldown"); } if (typeof options.searchSongs !== "number" || isNaN(options.searchSongs)) { throw new __1.DisTubeError("INVALID_TYPE", "number", options.searchSongs, "DisTubeOptions.searchSongs"); } if (!Array.isArray(options.plugins)) { throw new __1.DisTubeError("INVALID_TYPE", "Array<Plugin>", options.plugins, "DisTubeOptions.plugins"); } if (typeof options.nsfw !== "boolean") { throw new __1.DisTubeError("INVALID_TYPE", "boolean", options.nsfw, "DisTubeOptions.nsfw"); } if (typeof options.emitAddSongWhenCreatingQueue !== "boolean") { throw new __1.DisTubeError("INVALID_TYPE", "boolean", options.emitAddSongWhenCreatingQueue, "DisTubeOptions.emitAddSongWhenCreatingQueue"); } if (typeof options.emitAddListWhenCreatingQueue !== "boolean") { throw new __1.DisTubeError("INVALID_TYPE", "boolean", options.emitAddListWhenCreatingQueue, "DisTubeOptions.emitAddListWhenCreatingQueue"); } } } exports.Options = Options; exports.default = Options; //# sourceMappingURL=DisTubeOptions.js.map