UNPKG

dellosmusic

Version:

Dellos Music Bot - Discord Music Bot

141 lines (129 loc) 3.99 kB
const { MessageEmbed } = require("discord.js"); const { TrackUtils } = require("erela.js"); const levels = { none: 0.0, low: 0.1, medium: 0.25, high: 0.5, ultra: 0.75, extreme: 1.0, }; module.exports = { name: "bassboost", description: "Enables bass boosting audio effect", usage: "<none|low|medium|high|ultra|extreme>", permissions: { channel: ["VIEW_CHANNEL", "SEND_MESSAGES", "EMBED_LINKS"], member: [], }, aliases: ["bb", "bass"], /** * @param {import("../structures/DiscordMusicBot")} client * @param {import("discord.js").Message} message * @param {string[]} args * @param {*} param3 */ run: async (client, message, args, { GuildDB }) => { let player = await client.Manager.get(message.guild.id); if (!player) return client.sendTime( message.channel, "❌ | **Nothing is playing right now...**" ); if (!message.member.voice.channel) return client.sendTime( message.channel, "❌ | **You must be in a voice channel to use this command!**" ); if ( message.guild.me.voice.channel && message.member.voice.channel.id !== message.guild.me.voice.channel.id ) return client.sendTime( message.channel, "❌ | **You must be in the same voice channel as me to use this command!**" ); if (!args[0]) return client.sendTime( message.channel, "**Please provide a bassboost level. \nAvailable Levels:** `none`, `low`, `medium`, `high`, `ultra`, `extreme`" ); let level = "none"; if (args.length && args[0].toLowerCase() in levels) level = args[0].toLowerCase(); player.setEQ( ...new Array(3) .fill(null) .map((_, i) => ({ band: i, gain: levels[level] })) ); return client.sendTime( message.channel, `✅ | **Bassboost level set to** \`${level}\`` ); }, SlashCommand: { options: [ { name: "level", description: `Please provide a bassboost level. Available Levels: low, medium, high, ultra, extreme, or none`, value: "[level]", type: 3, required: true, }, ], /** * @param {import("../structures/DiscordMusicBot")} client * @param {import("discord.js").Message} message * @param {string[]} args * @param {*} param3 */ run: async (client, interaction, args, { GuildDB }) => { const levels = { none: 0.0, low: 0.1, medium: 0.25, high: 0.5, ultra: 0.75, extreme: 1.0, }; let player = await client.Manager.get(interaction.guild_id); const guild = client.guilds.cache.get(interaction.guild_id); const member = guild.members.cache.get(interaction.member.user.id); const voiceChannel = member.voice.channel; if (!player) return client.sendTime( interaction, "❌ | **Nothing is playing right now...**" ); if (!member.voice.channel) return client.sendTime( interaction, "❌ | **You must be in a voice channel to use this command.**" ); if ( guild.me.voice.channel && !guild.me.voice.channel.equals(voiceChannel) ) return client.sendTime( interaction, "❌ | **You must be in the same voice channel as me to use this command!**" ); if (!args) return client.sendTime( interaction, "**Please provide a bassboost level. \nAvailable Levels:** `none`, `low`, `medium`, `high`, `ultra`, `extreme`" ); let level = "none"; if (args.length && args[0].value in levels) level = args[0].value; player.setEQ( ...new Array(3) .fill(null) .map((_, i) => ({ band: i, gain: levels[level] })) ); return client.sendTime( interaction, `✅ | **Set the bassboost level to** \`${level}\`` ); }, }, };