diff --git a/src/commands/misc/archive.ts b/src/commands/misc/archive.ts deleted file mode 100644 index 8f8053f..0000000 --- a/src/commands/misc/archive.ts +++ /dev/null @@ -1,141 +0,0 @@ -import { SlashCommandBuilder } from "@discordjs/builders"; -import { - ChannelType, - Client, - Colors, - CommandInteraction, - EmbedBuilder, - NonThreadGuildBasedChannel, -} from "discord.js"; -import "../../modules/string"; -import { getLocale, getLocalizations } from "../../utils/locales"; -import { getFilename } from "../../utils/misc"; - -export default { - scope: () => ["807244911350906920"], - - data: (client: Client) => { - const filename = getFilename(__filename); - return ( - new SlashCommandBuilder() - .setName(filename.toLowerCase()) - .setDescription( - client.locales.get(client.config.default_lang)?.get(`c_${filename}_desc`) ?? "", - ) - .setNameLocalizations(getLocalizations(client, `c_${filename}_name`, true)) - .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_desc`)) - - // Command option - .addStringOption((option) => - option - .setName( - client.locales.get(client.config.default_lang)?.get(`c_${filename}_opt1_name`) ?? "", - ) - .setDescription( - client.locales.get(client.config.default_lang)?.get(`c_${filename}_opt1_desc`) ?? "", - ) - .setNameLocalizations(getLocalizations(client, `c_${filename}_opt1_name`, true)) - .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_opt1_desc`)), - ) - ); - }, - - interaction: async (interaction: CommandInteraction, client: Client) => { - const loc = getLocale(client, interaction.locale); - const desiredCat = interaction.options.get( - client.locales - .get(client.config.default_lang) - ?.get(`c_${getFilename(__filename)}_opt1_name`) ?? "", - )?.value as string; - - // If a category isn't specified - if (!desiredCat) { - // Sends a list of commands sorted into categories - return interaction.reply({ - embeds: [ - new EmbedBuilder() - .setColor(Colors.Blurple) - .setTitle(loc.get("c_archive1")) - .setDescription(loc.get("c_archive2")), - ], - }); - } - - // If a category is specified - const cleanCat = ["L1", "L2", "L3", "M1", "M2"]; - const channel = cleanCat.includes(desiredCat); - if (!channel) { - // Category doesn't exist or is not included - return interaction.reply({ - content: `${loc.get("c_archive3")} \`${desiredCat}\``, - ephemeral: true, - }); - } - - const allChannel = interaction.guild?.channels.fetch(); - allChannel?.then(async (channelGuild) => { - // Retrieve category to archive - const catToArchive = channelGuild - .filter((chan) => chan?.type == ChannelType.GuildCategory) - .filter((chan) => chan?.name == desiredCat); - - // Create/Retrieve the archive category - const catArchivedName = "archive - " + desiredCat; - const catArchivedMap = channelGuild - .filter((chan) => chan?.type == ChannelType.GuildCategory) - .filter((chan) => chan?.name == catArchivedName); - - let catArchived: NonThreadGuildBasedChannel | null | undefined; - if (catArchivedMap.size > 0) { - catArchived = catArchivedMap.at(0); - } else { - catArchived = await interaction.guild?.channels.create({ - name: catArchivedName, - type: ChannelType.GuildCategory, - }); - } - - const allChannelDesired = channelGuild - .filter((chan) => chan?.type == 0) - .filter((chan) => chan?.parentId == catToArchive.map((cat) => cat?.id)[0]); - - // If no channels in the source category - if (allChannelDesired.size == 0) { - return interaction.reply({ - embeds: [ - new EmbedBuilder() - .setColor(Colors.Blurple) - .setTitle(loc.get("c_archive6")) - .setDescription(loc.get("c_archive7")), - ], - }); - } - - // Move channels to the archived categoryx - allChannelDesired.forEach((elem) => elem?.setParent(catArchived?.id as string)); - - return interaction.reply({ - embeds: [ - new EmbedBuilder() - .setColor(Colors.Blurple) - .setTitle( - loc.get("c_archive4") + - " `" + - catToArchive.map((cat) => cat?.name) + - "` " + - loc.get("c_archive5") + - " `" + - catArchivedName + - "`", - ) - .setDescription( - allChannelDesired - .map((cgD) => cgD?.name) - .toString() - .replaceAll(",", "\n"), - ), - ], - }); - }); - }, -}; diff --git a/src/commands/misc/prep.ts b/src/commands/misc/prep.ts deleted file mode 100644 index eeffddf..0000000 --- a/src/commands/misc/prep.ts +++ /dev/null @@ -1,120 +0,0 @@ -import { SlashCommandBuilder } from "@discordjs/builders"; -import { ChannelType, Client, Colors, CommandInteraction, EmbedBuilder } from "discord.js"; -import "../../modules/string"; -import { getLocale, getLocalizations } from "../../utils/locales"; -import { getFilename } from "../../utils/misc"; - -export default { - scope: () => ["807244911350906920"], - - data: (client: Client) => { - const filename = getFilename(__filename); - return ( - new SlashCommandBuilder() - .setName(filename.toLowerCase()) - .setDescription( - client.locales.get(client.config.default_lang)?.get(`c_${filename}_desc`) ?? "", - ) - .setNameLocalizations(getLocalizations(client, `c_${filename}_name`, true)) - .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_desc`)) - - // Command option - .addStringOption((option) => - option - .setName( - client.locales.get(client.config.default_lang)?.get(`c_${filename}_opt1_name`) ?? "", - ) - .setDescription( - client.locales.get(client.config.default_lang)?.get(`c_${filename}_opt1_desc`) ?? "", - ) - .setNameLocalizations(getLocalizations(client, `c_${filename}_opt1_name`, true)) - .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_opt1_desc`)), - ) - ); - }, - - interaction: async (interaction: CommandInteraction, client: Client) => { - const loc = getLocale(client, interaction.locale); - const desired_cat = interaction.options.get( - client.locales - .get(client.config.default_lang) - ?.get(`c_${getFilename(__filename)}_opt1_name`) ?? "", - )?.value as string; - - // If a category isn't specified - if (!desired_cat) { - // Sends a list of commands sorted into categories - return interaction.reply({ - embeds: [ - new EmbedBuilder() - .setColor(Colors.Blurple) - .setTitle(loc.get("c_prep1")) - .setDescription(loc.get("c_prep2")), - ], - }); - } - - // If a category is specified - const allowedCategories = ["L1", "L2", "L3", "M1", "M2"]; - const channel = allowedCategories.includes(desired_cat); - if (!channel) { - // Category doesn't exist or is not allowed - return interaction.reply({ - content: `${loc.get("c_prep3")} \`${desired_cat}\``, - ephemeral: true, - }); - } - - // Send information about the command - const allChannel = interaction.guild?.channels.fetch(); - allChannel?.then((channel_guild) => { - const cat_to_prep = channel_guild - .filter((chan) => chan?.type == ChannelType.GuildCategory) - .filter((chan) => chan?.name == desired_cat); - const cat_to_prep_id = cat_to_prep.map((cat) => cat?.id); - const cat_to_prep_name = cat_to_prep.map((cat) => cat?.name); - - // console.log(cat_to_prep); - const all_channel_desired = channel_guild - .filter((chan) => chan?.type == 0) - .filter((chan) => chan?.parentId == cat_to_prep_id[0]); - const all_channel_desired_name = all_channel_desired.map((c_d) => c_d?.name); - - let desc = ""; - - const general = "général"; - if (all_channel_desired_name.filter((cdn) => cdn == general).length == 0) { - interaction.guild?.channels.create({ - name: general, - type: 0, - parent: cat_to_prep_id[0], - }); - desc = general + loc.get("c_prep5") + "\n"; - } - - const info = "informations"; - if (all_channel_desired_name.filter((cdn) => cdn == info).length == 0) { - interaction.guild?.channels.create({ - name: info, - type: 0, - parent: cat_to_prep_id[0], - }); - - desc += "`" + info + "` " + loc.get("c_prep5") + "\n"; - } - - if (desc == "") { - desc = loc.get("c_prep6"); - } - - return interaction.reply({ - embeds: [ - new EmbedBuilder() - .setColor(Colors.Blurple) - .setTitle(loc.get("c_prep4") + cat_to_prep_name) - .setDescription(desc), - ], - }); - }); - }, -};