From c0399ba3230676e7292861648552bbbd13d764a1 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 24 Jul 2022 13:30:26 +0200 Subject: [PATCH] add a command --- CONTRIBUTING.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 20d5c03..c7d6dff 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,6 +13,7 @@ une [Pull Request](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls). - [Langues](#langues) - [Ajouter une langue](#ajouter-une-langue) - [Mettre à jour une langue](#mettre-à-jour-une-langue) +- [Ajouter une commande](#ajouter-une-commande) - [Soumettre ses modifications](#soumettre-ses-modifications) - [Gestion du dépôt](#gestion-du-dépôt) @@ -48,6 +49,41 @@ doit être nommé `langue.json` avec `langue` suivant > Pensez à vérifier si de nouvelles valeurs n'ont pas été ajouté dans le fichier langue par défaut, [cf. au dessus](#langues). +## Ajouter une commande +Pour ajouter une commande au bot, créez un fichier `nom-de-la-commande.ts` dans +un sous dossier de [`src/commands/`](./src/commands/). Vous pouvez créer une +nouvelle catégorie si votre commande n'entre dans aucune qui existe déjà. + +Le contenu du fichier doit commencer comme suit : +```typescript +import { SlashCommandBuilder } from '@discordjs/builders'; +import { Client, CommandInteraction } from 'discord.js'; +import { getLocale, getLocalizations } from '../../utils/locales'; +import { getFilename } from '../../utils/misc'; + +export default { + 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`)) + .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_desc`)); + }, + + interaction: async (interaction: CommandInteraction, client: Client) => { + const loc = getLocale(client, interaction.locale); + + /* Votre code ici */ + }, +}; +``` +Ce template vous permet de commencé rapidement votre commande car il contient +déjà tout ce qu'il faut pour le support des langues. Pensez bien à ne pas écrire +directement vos chaînes de caractères ici mais bien dans +les [fichiers de langues](./src/locales/), c'est à ça que la variable +`loc` sert. + ## Soumettre ses modifications 1. Lorsque vous vous sentez confiant dans vos modifications, ouvrez une [Pull Request](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls)