Compare commits

..

No commits in common. "47b00e8b95ac0b3ab1c23167cb8c8d0610946dc9" and "1c20997703f5426206dff62036ee8bbf48682a8b" have entirely different histories.

4 changed files with 10 additions and 52 deletions

View file

@ -31,8 +31,7 @@
"no-lonely-if": "error",
"no-multi-spaces": "error",
"no-multiple-empty-lines": ["error", { "max": 2, "maxEOF": 1, "maxBOF": 0 }],
"no-shadow": "off",
"@typescript-eslint/no-shadow": ["error", { "allow": ["err", "resolve", "reject"] }],
"no-shadow": ["error", { "allow": ["err", "resolve", "reject"] }],
"no-trailing-spaces": ["error"],
"no-var": "error",
"object-curly-spacing": ["error", "always"],

View file

@ -1,8 +1,7 @@
import { SlashCommandBuilder } from '@discordjs/builders';
import { Client, ChatInputCommandInteraction } from 'discord.js';
import { getLocalizations } from '../../utils/locales';
import { getLocale, getLocalizations } from '../../utils/locales';
import { getFilename } from '../../utils/misc';
import { strToSeconds } from '../../utils/time';
export default {
data: (client: Client) => {
@ -146,7 +145,7 @@ export default {
switch (subcommand) {
// New reminder
case loc_default?.get(`c_${filename}_sub1_name`)
?.toLowerCase() ?? '': {
?.toLowerCase() ?? '':
// TODO: Ici il y a 2 options, l'un pour le temps et l'autre
// pour le message, il faut tout le temps un temps, mais pas
// tout le temps de message (= message par défaut, le reminder
@ -159,34 +158,11 @@ export default {
// qui préfèrent tout faire en ligne de commandes et un truc
// plus user-friendly avec une interface (et en plus c'est
// nouveau et cool)
// eslint-disable-next-line no-case-declarations
let time = interaction.options.getString(loc_default?.get(`c_${filename}_sub1_opt1_name`) as string);
const message = interaction.options.getString(loc_default?.get(`c_${filename}_sub1_opt2_name`) as string);
if (time != null) {
// Cli
let option = OptionReminder.Nothing;
// Split time
if (time?.endsWith('@')) {
time = time.slice(0, -1);
option = OptionReminder.Mention;
} else if (time?.toLowerCase().endsWith('p')) {
time = time.slice(0, -1);
option = OptionReminder.DirectMessage;
}
const seconds = strToSeconds(time);
await interaction.reply(`${option} - ${seconds}`);
} else {
// Boîte de dialogue
}
break;
}
// List reminders
case loc_default?.get(`c_${filename}_sub2_name`)
?.toLowerCase() ?? '': {
?.toLowerCase() ?? '':
// TODO: Liste dans un embed, naviguez entre les pages à l'aide
// de boutons à la place d'utiliser des réactions
// cf. https://discordjs.guide/interactions/modals.html#building-and-responding-with-modals
@ -195,26 +171,18 @@ export default {
// rappels, sinon affiché les rappels de la personne qui fait
// la commande.
break;
}
// Delete a reminder
case loc_default?.get(`c_${filename}_sub3_name`)
?.toLowerCase() ?? '': {
?.toLowerCase() ?? '':
// TODO: Message simple qui indique que l'on a supprimé
// le reminder. Penser à check l'appartenance du reminder.
// On donne l'ID du reminder en option.
break;
}
default: {
default:
console.error(`${__filename}: unknown subcommand (${subcommand})`);
break;
}
}
},
};
enum OptionReminder {
Nothing,
Mention,
DirectMessage,
}

View file

@ -21,7 +21,7 @@
"c_reminder_sub1_name": "nouveau",
"c_reminder_sub1_desc": "Met en place un rappel",
"c_reminder_sub1_opt1_name": "temps",
"c_reminder_sub1_opt1_desc": "Temps désiré avant le rappel, accolez un @ pour activer la mention ou un p pour envoyer en DM",
"c_reminder_sub1_opt1_desc": "Temps désiré avant le rappel",
"c_reminder_sub1_opt2_name": "message",
"c_reminder_sub1_opt2_desc": "Message du rappel",
"c_reminder_sub2_name": "liste",

View file

@ -14,12 +14,3 @@ export const showDate = (
locale.get('u_time_at')
} `);
};
/**
* Take a cooldown, for example 2min and transform it to seconds, here: 120s
* @param time time in human format
* @returns time in seconds
*/
export const strToSeconds = (time: string) => {
return 0;
};