mirror of
https://github.com/musix-org/musix-oss
synced 2025-07-06 19:00:50 +00:00
116 lines
4.0 KiB
JavaScript
116 lines
4.0 KiB
JavaScript
const { EmbedBuilder } = require("discord.js");
|
|
|
|
module.exports = {
|
|
name: "blacklist",
|
|
async execute(msg, args, client) {
|
|
let embed;
|
|
switch (args[2]) {
|
|
case "add":
|
|
if (msg.mentions.channels.first()) {
|
|
if (
|
|
client.global.db.guilds[msg.guild.id].blacklist.includes(
|
|
msg.mentions.channels.first().id
|
|
)
|
|
)
|
|
return msg.channel.send(client.messages.channelAlreadyBlackListed);
|
|
} else if (
|
|
client.global.db.guilds[msg.guild.id].blacklist.includes(args[3])
|
|
)
|
|
return msg.channel.send(client.messages.channelAlreadyBlackListed);
|
|
if (
|
|
!msg.guild.channels.cache.get(args[3]) &&
|
|
!msg.mentions.channels.first()
|
|
)
|
|
return msg.channel.send(client.messages.idOrMentionChannel);
|
|
if (msg.mentions.channels.first()) {
|
|
client.global.db.guilds[msg.guild.id].blacklist.push(
|
|
msg.mentions.channels.first().id
|
|
);
|
|
let message;
|
|
message = client.messages.channelAdded.replace(
|
|
"%CHANNEL%",
|
|
msg.mentions.channels.first().name
|
|
);
|
|
msg.channel.send(message);
|
|
} else {
|
|
client.global.db.guilds[msg.guild.id].blacklist.push(args[3]);
|
|
let message;
|
|
message = client.messages.channelAdded.replace(
|
|
"%CHANNEL%",
|
|
msg.guild.channels.cache.get(args[3]).name
|
|
);
|
|
msg.channel.send(message);
|
|
}
|
|
break;
|
|
case "remove":
|
|
if (msg.mentions.channels.first()) {
|
|
if (
|
|
!client.global.db.guilds[msg.guild.id].blacklist.includes(
|
|
msg.mentions.channels.first().id
|
|
)
|
|
)
|
|
return msg.channel.send(client.messages.channelNotBlackListed);
|
|
if (
|
|
client.global.db.guilds[msg.guild.id].blacklist.indexOf(
|
|
msg.mentions.channels.first().id
|
|
) !== -1
|
|
) {
|
|
client.global.db.guilds[msg.guild.id].blacklist.splice(
|
|
client.global.db.guilds[msg.guild.id].blacklist.indexOf(
|
|
msg.mentions.channels.first().id
|
|
),
|
|
1
|
|
);
|
|
let message;
|
|
message = client.messages.channelRemoved.replace(
|
|
"%CHANNEL%",
|
|
msg.mentions.channels.first().name
|
|
);
|
|
msg.channel.send(message);
|
|
}
|
|
} else {
|
|
if (!client.global.db.guilds[msg.guild.id].blacklist.includes(args[3]))
|
|
return msg.channel.send(client.messages.channelNotBlackListed);
|
|
if (
|
|
client.global.db.guilds[msg.guild.id].blacklist.indexOf(args[3]) !==
|
|
-1
|
|
) {
|
|
client.global.db.guilds[msg.guild.id].blacklist.splice(
|
|
client.global.db.guilds[msg.guild.id].blacklist.indexOf(args[3]),
|
|
1
|
|
);
|
|
let message;
|
|
message = client.messages.channelRemoved.replace(
|
|
"%CHANNEL%",
|
|
msg.guild.channels.cache.get(args[3]).name
|
|
);
|
|
msg.channel.send(message);
|
|
}
|
|
}
|
|
break;
|
|
case "list":
|
|
embed = new EmbedBuilder()
|
|
.setTitle(client.messages.blacklistTitle)
|
|
.setDescription(
|
|
`${client.global.db.guilds[msg.guild.id].blacklist
|
|
.map((c) => `**-** <#${c}>`)
|
|
.join("\n")}`
|
|
)
|
|
.setColor(client.config.embedColor);
|
|
msg.channel.send(embed);
|
|
break;
|
|
case undefined:
|
|
embed = new EmbedBuilder()
|
|
.setTitle(client.messages.blacklistTitle)
|
|
.addFields(
|
|
{ name: "add", value: "Add a channel to the blacklist. (ID or mention)" },
|
|
{ name: "remove", value: "Remove a channel from the blacklist. (ID or mention)" },
|
|
{ name: "list", value: "List the currently blacklisted channels." }
|
|
)
|
|
.setColor(client.config.embedColor);
|
|
msg.channel.send(embed);
|
|
break;
|
|
}
|
|
},
|
|
};
|