Add filters management commands

This commit is contained in:
Androz2091
2020-06-24 11:00:38 +02:00
parent 7a1f8a854f
commit 838c1d0bdd
2 changed files with 76 additions and 0 deletions

41
commands/filter.js Normal file
View File

@@ -0,0 +1,41 @@
const emotes = require ("../config/emojis.json");
const filters = require("../config/filters.json");
const Discord = require("discord.js")
module.exports.run = async (client, message, args) => {
if(!message.member.voice.channel) return message.channel.send(`**You're not in a voice channel ${emotes.error}**`);
if(!client.player.isPlaying(message.guild.id)) return message.channel.send(`**No music playing on this server ${emotes.error}**`);
const filter = args[0];
if(!filter) return message.channel.send(`**Please specify a valid filter to enable or disable ${emotes.error}**`);
const filterToUpdate = Object.values(filters).find((f) => f.toLowerCase() === filter.toLowerCase());
if(!filterToUpdate) return message.channel.send(`**This filter doesn't exist ${emotes.error}**`);
const filterRealName = Object.keys(filters).find((f) => filters[f] === filterToUpdate);
const queueFilters = client.player.getQueue(message.guild.id).filters
const filtersUpdated = {};
filtersUpdated[filterRealName] = queueFilters[filterRealName] ? false : true;
client.player.setFilters(message.guild.id, filtersUpdated);
if(filtersUpdated[filterRealName]){
const pleaseWait = new Discord.MessageEmbed()
.setDescription("I'm adding the filter to the music, please wait... Note : the longer the music is, the longer the wait will be :musical_note:")
.setColor("BLUE");
message.channel.send(pleaseWait);
} else {
const pleaseWait = new Discord.MessageEmbed()
.setDescription(`I'm disabling the filter on the music, please wait... Note : the longer the music is playing, the longer the wait will be... :musical_note:`)
.setColor("BLUE");
message.channel.send(pleaseWait);
}
}
module.exports.config = {
name: "filter",
aliases: []
};

35
commands/w-filters.js Normal file
View File

@@ -0,0 +1,35 @@
const emotes = require("../config/emojis.json");
const filters = require("../config/filters.json");
const Discord = require("discord.js");
module.exports.run = async (client, message) => {
if (!message.member.voice.channel) return message.channel.send(`**You're not in a voice channel ${emotes.error}**`);
if (!client.player.isPlaying(message.guild.id)) return message.channel.send(`**No music playing on this server ${emotes.error}**`);
const enabledEmoji = emotes.success;
const disabledEmoji = emotes.error;
const filtersStatuses = [ [], [] ];
Object.keys(filters).forEach((filterName) => {
const array = filtersStatuses[0].length > filtersStatuses[1].length ? filtersStatuses[1] : filtersStatuses[0];
array.push(filters[filterName] + " : " + (client.player.getQueue(message.guild.id).filters[filterName] ? enabledEmoji : disabledEmoji));
});
const list = new Discord.MessageEmbed()
.setDescription("Liste de tous les filtres activés ou non.\nPour ajouter un filtre sur une musique `^filter`.")
.addField("**Filtres**", filtersStatuses[0].join('\n'), true)
.addField("** **", filtersStatuses[1].join('\n'), true)
.addField("** **", `Attention, sur la commande \`^filter\`.\nLe nom du filtre doit être en minuscule.`)
.setColor("ORANGE");
message.channel.send(list);
};
module.exports.config = {
name: "w-filters",
aliases: []
};