~denisebitca/esmeralde

216ab57fbc2813c3293cb60c021de59f0fc01b47 — Rafael Bitca 2 years ago 600a3d2
Added config reset comment and bug fixes
4 files changed, 39 insertions(+), 14 deletions(-)

M src/FollowupFunctions.ts
A src/commands/delconf.ts
M src/commands/edt.ts
M src/index.ts
M src/FollowupFunctions.ts => src/FollowupFunctions.ts +4 -3
@@ 44,14 44,14 @@ export class FollowupFunctions{

        const menu = new Discord.MessageSelectMenu();
        menu.setCustomId("select3");
        menu.setPlaceholder("Choisis ton sous-groupe");
        menu.setPlaceholder("Choisis ton groupe");
        menu.setOptions(options);
        menu.setMinValues(1);
        menu.setMaxValues(1);

        row.addComponents(menu);

        await interaction.update({content: "Maintenant choisis ton sous-groupe !", components: [row]});
        await interaction.update({content: "Maintenant choisis ton groupe !", embeds: [], components: [row]});
    }
    public static async followUpActionMenu2_edt(interaction: Discord.SelectMenuInteraction){
        let choiceList : userInfo[] = JSON.parse(fs.readFileSync(path.join(__dirname, interaction.user.id + ".json"), "utf8"));


@@ 64,7 64,8 @@ export class FollowupFunctions{
            "userList": config.userList.length === 0 ? [newUser] : config.userList.concat([newUser])
        }
        await fs.promises.writeFile(path.join(__dirname, "config.json"), JSON.stringify(configCopy, null, 2));
        await interaction.update({content: "Votre groupe a été enregistré !", components: []});
        await fs.promises.rm(path.join(__dirname, interaction.user.id + ".json"));
        await interaction.update({content: "Ton emploi du temps a été enregistré !", embeds: [], components: []});
    }

    public static async followUpNextPage(interaction: Discord.ButtonInteraction){

A src/commands/delconf.ts => src/commands/delconf.ts +25 -0
@@ 0,0 1,25 @@
import { CommandInteraction } from "discord.js";
import { SlashCommandBuilder } from '@discordjs/builders';
import { Command } from '../index';
import fs from 'fs';
import path from "path";

let obj : Command = {
	data: new SlashCommandBuilder()
		.setName('delconf')
		.setDescription('Supprime la configuration de ton emploi du temps.'),
	async execute(interaction : CommandInteraction) {
        let config = JSON.parse(fs.readFileSync(path.join(__dirname, "../config.json"), {encoding: "utf-8"}));
        //@ts-ignore
        if(config.userList.filter(user => user.id === interaction.user.id).length === 1){
            //@ts-ignore
            config.userList = config.userList.filter(user => user.id !== interaction.user.id);
            await fs.promises.writeFile(path.join(__dirname, "../config.json"), JSON.stringify(config, null, 2));
            return interaction.reply({content:"Tu as bien supprimé ton emploi du temps.", ephemeral: true});
        } else {
            return interaction.reply({content: "Tu n'es pas dans la liste des utilisateurs qui ont configuré leur emploi du temps.", ephemeral: true});
        }
	},
};

module.exports = obj;
\ No newline at end of file

M src/commands/edt.ts => src/commands/edt.ts +9 -10
@@ 28,8 28,7 @@ function edtLink(subGroupId?: SubGroup["id"]) : string{
let obj : Command = {
	data: new SlashCommandBuilder()
		.setName('edt')
		.setDescription('Trouver ton emploi du temps ou l`emploi du temps de ton groupe.')
		.addIntegerOption(option => option.setName('id-etudiant').setDescription('l`identifiant de l`étudiant')),
		.setDescription('Trouver ton emploi du temps ou l`emploi du temps de ton groupe.'),
	async execute(interaction : CommandInteraction) {

        var config = JSON.parse(fs.readFileSync(path.join(__dirname, "../config.json"), {encoding: "utf-8"}));


@@ 38,7 37,7 @@ let obj : Command = {
        let presenceCheck = config.userList.filter(user => user.id === interaction.user.id);
        if(presenceCheck.length === 1){
            //@ts-ignore
            return interaction.reply(edtLink(JSON.parse(presenceCheck[0].subgroup).id));
            return interaction.reply({content: edtLink(JSON.parse(presenceCheck[0].subgroup).id), ephemeral: true});

        }



@@ 66,20 65,20 @@ let obj : Command = {

            const embed = new MessageEmbed()
            .setColor('#0099ff')
            .setTitle('Esmeralde')
            .setDescription('Je suis le bot EDT de l`IUT.\nPour commencer, tu dois selectionner ton groupe.\nPour cela, clique sur le bouton correspondant.');
            .setTitle('Configuration de l\'emploi du temps')
            .setDescription('Je suis le bot EDT de l`IUT.\nPour commencer, tu dois selectionner ta filière.\nPour cela, clique sur le premier menu, et si tu ne trouves pas ta filière, clique sur le deuxième menu.');

            row.addComponents(new MessageSelectMenu().setCustomId("select").setPlaceholder("Pas de groupe selectionné dans la page 1").addOptions(options).setMinValues(1).setMaxValues(1));
            row.addComponents(new MessageSelectMenu().setCustomId("select").setPlaceholder("Choisis ta filière (1)").addOptions(options).setMinValues(1).setMaxValues(1));

            if(options2.length > 0){
                const row2 = new MessageActionRow();
                row2.addComponents(new MessageSelectMenu().setCustomId("select2").setPlaceholder("Pas de groupe selectionné").addOptions(options2));
                return interaction.reply({ content: 'Saluuuut uwu', ephemeral: true, embeds: [embed], components: [row, row2] });
                row2.addComponents(new MessageSelectMenu().setCustomId("select2").setPlaceholder("Choisis ta filière (2)").addOptions(options2));
                return interaction.reply({ content: 'Salut !', ephemeral: true, embeds: [embed], components: [row, row2] });
            }
            
            return interaction.reply({ content: 'Saluuuut uwu', ephemeral: true, embeds: [embed], components: [row] });
            return interaction.reply({ content: 'Salut !', ephemeral: true, embeds: [embed], components: [row] });
        } else {
            return interaction.reply('Ouin, il y a un problème ! Contacte Denise !');
            return interaction.reply({ content: 'Oups ! Il y a un problème ! Contacte denise#2798 !', ephemeral: true });
        }
	},
};

M src/index.ts => src/index.ts +1 -1
@@ 83,7 83,7 @@ client.on('interactionCreate', async interaction => {
            await command.execute(interaction);
        } catch (error) {
            console.error(error);
            return interaction.reply({ content: 'Kyaaaa !!! J`ai eu un petit souci, désowée >.<', ephemeral: true });
            return interaction.reply({ content: 'Oups ! Il y a un problème ! Contacte denise#2798 ! ``code erreur 2``', ephemeral: true });
        }
    }
});