From 0214e4d17bd611f8f6564cb5a424a386c7b99600 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Thu, 27 Apr 2023 22:21:19 +0200 Subject: [PATCH 1/2] conventional commits --- CONTRIBUTING.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fb895f4..9423844 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -242,7 +242,7 @@ Pour commencer, vous pouvez jeté un oeil aux 4. Lorsque vous vous sentez confiant dans vos modifications, ouvrez une [Pull Request](https://git.mylloon.fr/ConfrerieDuKassoulait/Botanique/pulls) afin que votre code puisse être revu et fusionné. Vous pouvez suivre cette - [condition de nommage](https://gist.github.com/joshbuchea/6f47e86d2510bce28f8e7f42ae84c716#example), + [condition de nommage](https://www.conventionalcommits.org/fr/v1.0.0/), ça aide à s'y retrouver plus rapidement. > **Explication** @@ -259,6 +259,5 @@ Pour commencer, vous pouvez jeté un oeil aux - Quand on merge des modifications vers `main`, on fait un _squash_, l'historique des modifications reste disponible dans [le graph](https://git.mylloon.fr/ConfrerieDuKassoulait/Botanique/graph). -- De préférences, suivre les indications de - [ce post](https://gist.github.com/revett/88ee5abf5a9a097b4c88) (c'est un peu la - même que dans le `4.` de [la partie précédente](#soumettre-ses-modifications)). +- De préférences, suivre [ces conventions](https://www.conventionalcommits.org/fr/v1.0.0/) + (cf. cette [partie précédente](#soumettre-ses-modifications)). -- 2.45.2 From 4ca3a741873cb53c69b0edcfcfcd6992e77fae1e Mon Sep 17 00:00:00 2001 From: Mylloon Date: Thu, 27 Apr 2023 22:26:31 +0200 Subject: [PATCH 2/2] add doc about race condition when doing autocompletion --- CONTRIBUTING.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 9423844..468934f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -209,6 +209,30 @@ même message. Contrairement aux autres éléments, les boutons doivent se faire collecter via la fonction [`collect`](./src/buttons/loader.ts#L46) juste après leur déclaration. +## Autocomplétion + +La réponse qu'attent Discord doit se faire obligatoirement sous 3 secondes. +Pour se faire on peut utiliser un timeout avec +[une race](https://fr.wikipedia.org/wiki/Situation_de_comp%C3%A9tition). + +```typescript +let timeoutId: NodeJS.Timeout; +const delay = new Promise(function (_, reject) { + timeoutId = setTimeout(function () { + reject(new Error()); + }, 2900); // correspond au temps du timeout en ms +}); + +const resultat = await Promise.race([delay, commandeQuiRenvoieUnPromise]) + .then((res) => { + clearTimeout(timeoutId); + return resultatVoulu; + }) + .catch(() => { + return resultatErreur; // correspond à temps écoulé ou erreur de notre commande + }); +``` + ## Modifier du code Quand vous modifiez quelque chose, pensez à mettre-à-jour les langues. Si vous -- 2.45.2