From c0399ba3230676e7292861648552bbbd13d764a1 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 24 Jul 2022 13:30:26 +0200 Subject: [PATCH 01/12] 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) -- 2.45.2 From bd5f7d5f76456dfee058a2c650a542ac8307408d Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 24 Jul 2022 13:37:08 +0200 Subject: [PATCH 02/12] add some prerequisites --- CONTRIBUTING.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c7d6dff..20b72e8 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -84,6 +84,13 @@ 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. +Vous devez aussi ajouter : +- obligatoirement : `"c_COMMANDE_desc": "DESCRIPTION"` au fichier +de langue, avec `COMMANDE` le nom de la commande et `DESCRIPTION` la description +de votre commande. +- facultativement : `"c_COMMANDE_desc": "NOM"` au fichier +de langue, avec `COMMANDE` le nom de la commande et `NOM` le nom de votre commande. + ## Soumettre ses modifications 1. Lorsque vous vous sentez confiant dans vos modifications, ouvrez une [Pull Request](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls) -- 2.45.2 From 104fae07f5e3c1a9abaf1cddbd4a812381184c30 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 24 Jul 2022 13:37:38 +0200 Subject: [PATCH 03/12] style --- CONTRIBUTING.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 20b72e8..a255613 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,8 +11,8 @@ une [Pull Request](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls). ## Sommaire - [Recevoir de l'aide](#recevoir-de-laide) - [Langues](#langues) - - [Ajouter une langue](#ajouter-une-langue) - - [Mettre à jour une langue](#mettre-à-jour-une-langue) + - [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) @@ -85,7 +85,7 @@ les [fichiers de langues](./src/locales/), c'est à ça que la variable `loc` sert. Vous devez aussi ajouter : -- obligatoirement : `"c_COMMANDE_desc": "DESCRIPTION"` au fichier +- **obligatoirement** : `"c_COMMANDE_desc": "DESCRIPTION"` au fichier de langue, avec `COMMANDE` le nom de la commande et `DESCRIPTION` la description de votre commande. - facultativement : `"c_COMMANDE_desc": "NOM"` au fichier -- 2.45.2 From f1f18943a50fcfd7a0ab63822a8591d0104a3605 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 24 Jul 2022 13:44:48 +0200 Subject: [PATCH 04/12] add an event --- CONTRIBUTING.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a255613..ee9b3bc 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,6 +14,7 @@ une [Pull Request](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls). - [Ajouter une langue](#ajouter-une-langue) - [Mettre à jour une langue](#mettre-à-jour-une-langue) - [Ajouter une commande](#ajouter-une-commande) +- [Ajouter un évènement](#ajouter-un-évènement) - [Soumettre ses modifications](#soumettre-ses-modifications) - [Gestion du dépôt](#gestion-du-dépôt) @@ -91,6 +92,19 @@ de votre commande. - facultativement : `"c_COMMANDE_desc": "NOM"` au fichier de langue, avec `COMMANDE` le nom de la commande et `NOM` le nom de votre commande. +## Ajouter un évènement +Pour ajouter le support d'un évènement au bot, créez un fichier `nom-evenement.ts` dans +un sous dossier de [`src/events/`](./src/events/). Vous pouvez créer une +nouvelle catégorie si votre commande n'entre dans aucune qui existe déjà. + +Vous pouvez préciser que l'évènement ne sera déclenché qu'une seule fois avec +```typescript +export const once = true; +``` + +De préférence, merci de mettre un lien en commentaire vers la documentation +de discord.js de l'évènement ([exemple ici pour l'évènement `ready`](./src/events/client/ready.ts#l3)) + ## Soumettre ses modifications 1. Lorsque vous vous sentez confiant dans vos modifications, ouvrez une [Pull Request](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls) -- 2.45.2 From 7d8e3b768144c960bb247a84f19b523f12bc6313 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 24 Jul 2022 13:46:06 +0200 Subject: [PATCH 05/12] fix: link --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ee9b3bc..0e3c57d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -103,7 +103,7 @@ export const once = true; ``` De préférence, merci de mettre un lien en commentaire vers la documentation -de discord.js de l'évènement ([exemple ici pour l'évènement `ready`](./src/events/client/ready.ts#l3)) +de discord.js de l'évènement ([exemple ici pour l'évènement `ready`](./src/events/client/ready.ts#L3)) ## Soumettre ses modifications 1. Lorsque vous vous sentez confiant dans vos modifications, ouvrez -- 2.45.2 From a2e907846c2e9c7dbb60307e81cea03631d27660 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 24 Jul 2022 13:56:53 +0200 Subject: [PATCH 06/12] remove an emoji --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bc3532a..328433b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# 🌱 Botanique 🌱 +# 🌱 Botanique [**Ajoute le bot à ton serveur**](https://discord.com/api/oauth2/authorize?client_id=965598852407230494&permissions=8&scope=bot%20applications.commands) -- 2.45.2 From 42ff309b758a3aecd7a3e9e00adb534836e94874 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 24 Jul 2022 14:09:26 +0200 Subject: [PATCH 07/12] update requirements --- CONTRIBUTING.md | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0e3c57d..f1de06d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -67,7 +67,7 @@ export default { const filename = getFilename(__filename); return new SlashCommandBuilder() .setName(filename.toLowerCase()) - .setDescription(client.locales.get(client.config.default_lang)?.get(`c_${filename}_desc`) ?? '?') + .setDescription(client.locales.get(client.config.default_lang)?.get(`c_${filename}_desc`) ?? '') .setNameLocalizations(getLocalizations(client, `c_${filename}_name`)) .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_desc`)); }, @@ -85,12 +85,11 @@ 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. -Vous devez aussi ajouter : -- **obligatoirement** : `"c_COMMANDE_desc": "DESCRIPTION"` au fichier -de langue, avec `COMMANDE` le nom de la commande et `DESCRIPTION` la description -de votre commande. -- facultativement : `"c_COMMANDE_desc": "NOM"` au fichier -de langue, avec `COMMANDE` le nom de la commande et `NOM` le nom de votre commande. +Vous devez aussi ajouter **obligatoirement** : +- `"c_COMMANDE_name": "NOM"` au fichier de langue, avec `COMMANDE` le nom de +la commande et `NOM` le nom de votre commande. +- `"c_COMMANDE_desc": "DESCRIPTION"` au fichier de langue, avec `COMMANDE` +le nom de la commande et `DESCRIPTION` la description de votre commande. ## Ajouter un évènement Pour ajouter le support d'un évènement au bot, créez un fichier `nom-evenement.ts` dans -- 2.45.2 From 45bfc899a4e4c38f1e79acd5afa6c50335441960 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 24 Jul 2022 15:49:59 +0200 Subject: [PATCH 08/12] use newer syntax --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f1de06d..c2948f3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -68,7 +68,7 @@ export default { return new SlashCommandBuilder() .setName(filename.toLowerCase()) .setDescription(client.locales.get(client.config.default_lang)?.get(`c_${filename}_desc`) ?? '') - .setNameLocalizations(getLocalizations(client, `c_${filename}_name`)) + .setNameLocalizations(getLocalizations(client, `c_${filename}_name`, true)) .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_desc`)); }, -- 2.45.2 From 707b13c066cb105079ee07fda15297cd9982dd56 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Sun, 24 Jul 2022 16:30:23 +0200 Subject: [PATCH 09/12] newlines --- CONTRIBUTING.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c2948f3..1b93bf3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -66,10 +66,15 @@ 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`, true)) - .setDescriptionLocalizations(getLocalizations(client, `c_${filename}_desc`)); + .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`) + ); }, interaction: async (interaction: CommandInteraction, client: Client) => { -- 2.45.2 From 296bc6d10a290d9d7990cd7d3ede128d61b3c973 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Mon, 25 Jul 2022 00:39:52 +0200 Subject: [PATCH 10/12] Add disclaimer about command modification --- CONTRIBUTING.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1b93bf3..6591680 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,6 +14,7 @@ une [Pull Request](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls). - [Ajouter une langue](#ajouter-une-langue) - [Mettre à jour une langue](#mettre-à-jour-une-langue) - [Ajouter une commande](#ajouter-une-commande) +- [Modifier une commande](#modifier-une-commande) - [Ajouter un évènement](#ajouter-un-évènement) - [Soumettre ses modifications](#soumettre-ses-modifications) - [Gestion du dépôt](#gestion-du-dépôt) @@ -96,6 +97,11 @@ la commande et `NOM` le nom de votre commande. - `"c_COMMANDE_desc": "DESCRIPTION"` au fichier de langue, avec `COMMANDE` le nom de la commande et `DESCRIPTION` la description de votre commande. +## Modifier une commande +Quand vous modifiez une commande, pensez à mettre-à-jour les langues. Si vous +ne savez pas traduire dans une langue, ne vous forcez pas, supprimer simplement +la traduction. + ## Ajouter un évènement Pour ajouter le support d'un évènement au bot, créez un fichier `nom-evenement.ts` dans un sous dossier de [`src/events/`](./src/events/). Vous pouvez créer une -- 2.45.2 From e9550577f85e402f12ecc38f44577d0b1800ea50 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Mon, 25 Jul 2022 00:41:19 +0200 Subject: [PATCH 11/12] move and change a title --- CONTRIBUTING.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6591680..cae566d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,8 +14,8 @@ une [Pull Request](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls). - [Ajouter une langue](#ajouter-une-langue) - [Mettre à jour une langue](#mettre-à-jour-une-langue) - [Ajouter une commande](#ajouter-une-commande) -- [Modifier une commande](#modifier-une-commande) - [Ajouter un évènement](#ajouter-un-évènement) +- [Modifier du code](#modifier-du-code) - [Soumettre ses modifications](#soumettre-ses-modifications) - [Gestion du dépôt](#gestion-du-dépôt) @@ -97,11 +97,6 @@ la commande et `NOM` le nom de votre commande. - `"c_COMMANDE_desc": "DESCRIPTION"` au fichier de langue, avec `COMMANDE` le nom de la commande et `DESCRIPTION` la description de votre commande. -## Modifier une commande -Quand vous modifiez une commande, pensez à mettre-à-jour les langues. Si vous -ne savez pas traduire dans une langue, ne vous forcez pas, supprimer simplement -la traduction. - ## Ajouter un évènement Pour ajouter le support d'un évènement au bot, créez un fichier `nom-evenement.ts` dans un sous dossier de [`src/events/`](./src/events/). Vous pouvez créer une @@ -115,6 +110,11 @@ export const once = true; De préférence, merci de mettre un lien en commentaire vers la documentation de discord.js de l'évènement ([exemple ici pour l'évènement `ready`](./src/events/client/ready.ts#L3)) +## Modifier du code +Quand vous modifiez quelque chose, pensez à mettre-à-jour les langues. Si vous +ne savez pas traduire dans une langue, ne vous forcez pas, supprimer simplement +la traduction. + ## Soumettre ses modifications 1. Lorsque vous vous sentez confiant dans vos modifications, ouvrez une [Pull Request](https://git.kennel.ml/ConfrerieDuKassoulait/Botanique/pulls) -- 2.45.2 From fddaf86789eb077b68e0ff2a25ab1a165e316562 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Mon, 25 Jul 2022 00:49:34 +0200 Subject: [PATCH 12/12] add project info --- CONTRIBUTING.md | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cae566d..850d791 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) +- [Projet](#projet) - [Ajouter une commande](#ajouter-une-commande) - [Ajouter un évènement](#ajouter-un-évènement) - [Modifier du code](#modifier-du-code) @@ -24,12 +25,12 @@ Si tu as besoin d'aide, tu peux poser ta question sur le [Discord](https://discord.gg/Z5ePxH4). ## Langues -La langue par défaut est définie dans [`src/utils/client.ts`](src/utils/client.ts) -dans `client.config.default_lang`. +La langue par défaut est définie dans +[`src/utils/client.ts`](src/utils/client.ts) dans `client.config.default_lang`. -La langue par défaut fait office de solution de secours dans le cas où une traduction -est incomplète. On part donc du postulat que la langue par défaut contient toujours -toutes les chaînes de caractère dont le bot a besoin. +La langue par défaut fait office de solution de secours dans le cas où une +traduction est incomplète. On part donc du postulat que la langue par défaut +contient toujours toutes les chaînes de caractère dont le bot a besoin. ### Ajouter une langue @@ -51,6 +52,23 @@ 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). +## Projet +Le code se trouve dans le dosier [src/](./src/). Dans ce dossier il y a : +- [commands/](./src/commands/) qui contient toutes les commandes, rangés par +catégories +- [events/](./src/events/) qui contient tous les évènements, rangés par +catégories +- [locales/](./src/locales/) qui contient tous les fichiers de langue +- [modules/](./src/modules/) qui contient les extensions utilisé, + par exemple, pour utiliser la fonction `capitalize()` d'un string, il faut + importer le fichier `string.ts` qui se trouve dans le dossier +- [utils/](./src/utils/) qui contient toutes les fonctions utilitaires, rangés +par fichiers + +Les dossiers [commands/](./src/commands/) et [events/](./src/events/) +contiennent chaquin un fichier `loader.js` qui charge respectivement +les commandes et les évènements dans le bot. + ## 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 @@ -98,9 +116,10 @@ la commande et `NOM` le nom de votre commande. le nom de la commande et `DESCRIPTION` la description de votre commande. ## Ajouter un évènement -Pour ajouter le support d'un évènement au bot, créez un fichier `nom-evenement.ts` dans -un sous dossier de [`src/events/`](./src/events/). Vous pouvez créer une -nouvelle catégorie si votre commande n'entre dans aucune qui existe déjà. +Pour ajouter le support d'un évènement au bot, créez un fichier +`nom-evenement.ts` dans un sous dossier de [`src/events/`](./src/events/). Vous +pouvez créer une nouvelle catégorie si votre commande n'entre dans aucune qui +existe déjà. Vous pouvez préciser que l'évènement ne sera déclenché qu'une seule fois avec ```typescript @@ -108,7 +127,8 @@ export const once = true; ``` De préférence, merci de mettre un lien en commentaire vers la documentation -de discord.js de l'évènement ([exemple ici pour l'évènement `ready`](./src/events/client/ready.ts#L3)) +de discord.js de l'évènement +([exemple ici pour l'évènement `ready`](./src/events/client/ready.ts#L3)) ## Modifier du code Quand vous modifiez quelque chose, pensez à mettre-à-jour les langues. Si vous -- 2.45.2