Écrire un gestionnaire de commande ne fait pas exister la commande. Discord doit en être informé séparément, et l'endroit où vous l'enregistrez décide du délai d'apparition.
Enregistrement par serveur ou global
| Par serveur | Global | |
|---|---|---|
| Apparaît dans | Un serveur | Tous les serveurs du bot |
| Prend effet | Immédiatement | Jusqu'à une heure |
| Bon pour | Le développement et les tests | La commande finie |
Que faire
- Enregistrez sur un seul serveur pendant le développement
Les mises à jour instantanées permettent d'itérer sans attendre. Pointez-le vers votre propre serveur de test.
- Passez en global quand c'est prêt
Puis attendez. Le délai est du côté de Discord et rien ne l'accélère.
- Vérifiez que le bot a été invité avec
applications.commandsUn lien d'invitation sans ce scope donne un bot qui rejoint très bien et ne pourra jamais avoir de commandes slash. Le réinviter avec le bon scope corrige cela sans le retirer du serveur.
- Redémarrez votre client Discord
Le client met la liste des commandes en cache.
Ctrl+Rla rafraîchit, et cela seul explique une part surprenante des « elle n'y est pas ».
L'enregistrement est limité en débit. Un bot en boucle de plantage qui se réenregistre sans cesse finit bridé, et les commandes cessent alors de se mettre à jour pour des raisons sans rapport avec votre code. Enregistrez quand elles changent, pas quand le processus démarre.
Supprimer le gestionnaire laisse la commande visible et cassée. Vous devez écraser l'ensemble enregistré par un ensemble qui ne la contient plus.
Taper / dans le serveur affiche votre commande avec sa description, et l'exécuter donne une réponse.