chapterjs start tourne. Sur votre ordinateur, il s’arrête quand vous fermez le terminal, donc un bot pour tout le monde vit sur une machine qui reste allumée : un serveur que vous louez, un conteneur, un hébergeur fait pour les applications Node. Quelle qu’elle soit, les étapes sont les mêmes.
1
Y mettre votre projet
Clonez votre dépôt, ou copiez le dossier sans
node_modules ni .chapterjs (les deux sont recréés sur la machine). La machine a besoin de Node.js 24 ou plus récent et d’un gestionnaire de paquets.2
Installer
Lancez la commande d’installation de votre gestionnaire de paquets dans le dossier. L’installation écrit aussi les types du projet (Gardez les dépendances de développement si vous voulez que la compilation vérifie les types là-bas : sans TypeScript,
postinstall lance chapterjs sync).chapterjs build dit ℹ Types were not checked et continue.3
Lui donner le token
Réglez
BOT_TOKEN comme le fait la machine : une variable d’environnement, les « secrets » d’un hébergeur, ou un fichier .env dans le dossier. C’est le token de votre application de production, pas celui du .env de votre ordinateur : voir Un second bot pour le développement. Le vrai environnement l’emporte sur le fichier. Le token est la seule valeur qu’exige chapterjs start..env
4
Compiler
Lancez le script
build. Il vérifie chaque fichier et compile le bot dans .chapterjs/build : voir chapterjs build.5
Lancer
build et start de votre projet. Un hébergeur qui récupère votre projet depuis git fait les deux premières étapes tout seul.
Les variables d’environnement et les codes de sortie de
chapterjs start sont dans la référence du CLI.Variables d’environnement
Rien d’autre n’est lu. En particulier, il n’y a aucune option pour les intents, les commandes ou ce dont le bot se souvient : tout cela vient de vos fichiers.
Le garder en marche
chapterjs start tourne jusqu’à ce qu’on l’arrête. Deux choses le terminent :
- Un arrêt demandé par la machine (
Ctrl+C, unSIGTERMd’un hébergeur ou d’un gestionnaire de processus) : le bot se déconnecte proprement, affiche✓ Disconnectedet sort avec le code 0. Laissez-lui quelques secondes pour cela avant de le tuer : un bot tué d’un coup reste affiché en ligne jusqu’à ce que Discord le remarque. - Quelque chose à corriger : un token refusé, un intent privilégié non activé, pas de compilation, trop de sessions démarrées aujourd’hui. Le message dit quoi, et la commande sort avec le code 1.
chapterjs start, rien n’a besoin de votre aide : la connexion est gardée en vie et rétablie quand elle tombe, et les processus d’un gros bot sont relancés quand l’un d’eux s’arrête.
Mettre le bot à jour
Mettez les nouveaux fichiers sur la machine, compilez, relancez. Tant que vous ne compilez pas, le bot en marche garde la compilation précédente, etchapterjs start vous le rappelle :
Si vous compilez sur votre ordinateur et envoyez le résultat, envoyez aussi
.chapterjs/build (il n’est pas dans git), et utilisez la même version de ChapterJS et de Node des deux côtés. Les paquets qu’utilise le bot restent dans node_modules : la production en a besoin, installés.Gros bots
Un bot présent dans des milliers de serveurs tourne tout seul sur plusieurs processus, un pour 4 shards et jamais plus que la machine n’a de processeurs. Passez--processes pour choisir :
Dépannage
Chaque message, et quoi en faire.
Référence du CLI
Chaque commande, variable et code de sortie.