chapterjs dev a besoin de deux choses venant d’elle : le token du bot et l’identifiant du serveur dans lequel vous testez.
Créez deux applications dès le départ : une pour le développement, une pour la production. Nommez-les d’après votre bot, avec « dev » dans le nom de la première (
my-bot dev, my-bot). Le token de celle de dev va dans le .env de votre ordinateur, le token de l’autre sur la machine qui hébergera votre bot. Une commande pour tout le monde appartient au bot, pas à un serveur : avec un seul bot pour les deux, votre serveur de test affiche en double chaque commande que vous modifiez, et la présence, les intents privilégiés et le token de production sont partagés avec ce que vous essayez. Pourquoi en détail : Un second bot pour le développement.1
Créer l’application
Ouvrez le Developer Portal, cliquez sur New Application et donnez-lui un nom : c’est le nom que les gens voient. Faites-le deux fois, une fois pour le bot de dev et une fois pour le bot de production.Ouvrez ensuite la page Bot de l’application. C’est là que vit le compte bot de votre application : son nom d’utilisateur, son avatar et son token.
2
Copier le token
Sur la page Bot de l’application de dev, cliquez sur Reset Token et copiez le token affiché. Discord montre un token une seule fois : si vous le perdez, réinitialisez-le à nouveau, ce qui fait cesser de fonctionner l’ancien partout où il était utilisé.Mettez-le dans le fichier
.env de votre projet :.env
3
Copier l’identifiant de votre serveur de test
Votre serveur de test est l’endroit où
chapterjs dev fait tourner votre bot. N’importe quel serveur que vous gérez convient : créez-en un pour votre bot si vous n’en avez pas.Les identifiants de serveur sont cachés tant que vous n’activez pas le Mode développeur dans Discord : Paramètres → Avancés → Mode développeur. Faites ensuite un clic droit sur votre serveur et choisissez Copier l’identifiant du serveur. L’identifiant est un nombre de 17 à 20 chiffres. Mettez-le dans DEV_GUILD_ID.4
Ajouter le bot à votre serveur de test
Rien à chercher : lancez votre bot, et Ouvrez le lien, confirmez, et la commande continue toute seule :Le lien ajoute le bot à ce serveur uniquement, avec toutes les permissions (
chapterjs dev affiche le lien quand le bot n’est pas encore dans le serveur.permissions=8 est Administrateur) : un serveur de test est un terrain de jeu. Il demande aussi le scope applications.commands, qui permet au bot d’avoir des commandes slash là-bas.chapterjs dev et votre bot est en ligne sur votre serveur de test. Le reste de cette page porte sur les trois options de la page Bot dont certains fichiers ont besoin.
Intents privilégiés
Discord n’envoie à un bot que ce qu’il a demandé, et trois choses doivent être activées à la main, sous Privileged Gateway Intents sur la page Bot de votre application : Presence Intent, Server Members Intent et Message Content Intent. Vous ne les listez jamais dans votre code : ChapterJS déduit ce dont vos fichiers ont besoin, et ne vous demande d’activer une option que quand un fichier en a besoin.
Quand un fichier a besoin d’une option qui n’est pas activée,
chapterjs dev dit quels fichiers et donne le lien vers la page, puis attend :
chapterjs dev n’attend que lorsqu’il tourne dans un terminal. Lancé par un autre programme, et en production avec chapterjs start, le même message est une erreur (✗) et la commande s’arrête.Un bot présent dans 100 serveurs ou plus doit être vérifié par Discord pour garder ses intents privilégiés. D’ici là, les options peuvent être activées librement sur la page Bot.
Quand une valeur ne va pas
Chaque valeur de.env est vérifiée avant toute tentative, et chaque problème est affiché d’un coup, avec comment le corriger :
Structure du projet
À quoi sert chaque dossier et fichier de votre projet.
chapterjs dev
Faire tourner votre bot sur votre serveur de test pendant que vous l’écrivez.