Passer au contenu principal
Vous avez un compte bot et un serveur de test. Cette page en fait un bot en ligne, avec une première commande à essayer. Tout se passe dans un terminal.

Créer le projet

Ouvrez un terminal dans le dossier où vous rangez vos projets, et lancez la commande de votre gestionnaire de paquets :
Elle pose jusqu’à trois questions :
  1. Où créer le projet. Un nom de dossier, comme buddy. Le dossier ne doit pas encore exister, ou être vide. (. veut dire « ici même », pour un dossier que vous avez déjà créé.)
  2. Quel gestionnaire de paquets utiliser. Seuls ceux installés sur votre ordinateur peuvent être choisis, et celui avec lequel vous avez lancé la commande est présélectionné : appuyez sur Entrée.
  3. Quel modèle utiliser. Prenez minimal, présélectionné : un fichier, assez pour voir le bot en ligne, et ce tutoriel ajoute le reste. Les autres (tickets, moderation, levels, giveaways) sont des bots complets à lire une fois le framework connu : voir Modèles.
Ensuite, elle copie le modèle, installe les dépendances (c’est l’étape qui prend un moment) et affiche la suite. Une question avec une seule réponse possible n’est jamais posée : le framework prend la réponse et le dit avec ℹ. Vous verrez cette habitude partout.
Passez le nom du dossier pour sauter la première question : pnpm create chapterjs buddy.
Entrez dans le dossier et ouvrez-le dans votre éditeur :

Lui donner votre bot

Le projet contient un fichier appelé .env.example :
.env.example
Copiez-le dans un fichier appelé .env (même dossier, sans .example), et remplissez les deux valeurs de la page précédente : le token après BOT_TOKEN=, l’identifiant du serveur après DEV_GUILD_ID=, sans guillemets, sans espaces. Pourquoi deux fichiers ? .env.example est commité dans git et montre ce dont le projet a besoin, avec des valeurs vides. .env contient les vraies valeurs et est ignoré par git (regardez .gitignore : il y est déjà). Ainsi, votre token ne se retrouve jamais dans un dépôt, même privé, et quiconque récupère le projet sait quoi remplir.
Si vous voyez un jour votre token dans un terminal, une capture d’écran ou un commit, réinitialisez-le immédiatement dans le Developer Portal. L’ancien cesse de fonctionner, et personne ne peut plus faire tourner votre bot avec.

Le lancer

La première fois, le bot n’est pas encore dans votre serveur de test, alors le terminal vous donne un lien et attend :
Les messages du terminal sont en anglais : c’est ce que ChapterJS affiche, et ce tutoriel les cite tels quels pour que vous les reconnaissiez. Ouvrez le lien dans votre navigateur, vérifiez qu’il affiche votre serveur de test, et confirmez. Le lien ajoute le bot à ce serveur uniquement, avec toutes les permissions : un serveur de test est un terrain de jeu, et tout donner au bot là-bas veut dire qu’une permission manquante ne vous gênera jamais pendant que vous apprenez. En production, ce sont les gens qui ajoutent votre bot qui choisissent ce qu’ils lui donnent. De retour dans le terminal, la commande continue toute seule :
Regardez votre serveur de test : le bot est en ligne, avec « Getting ready » sous son nom. Il ne fait rien d’autre pour l’instant : le modèle est un fichier, et les pages suivantes ajoutent tout le reste.

Lire le terminal

Chaque ligne de cette sortie vous dit quelque chose, et le symbole devant indique de quel type : Maintenant les lignes, une par une :
  • ✓ Connected to My Server as buddy : le programme s’est connecté avec votre token, et a trouvé votre serveur de test. « My Server » est le nom du serveur de DEV_GUILD_ID.
  • ℹ Intents computed from your files: GUILDS : les intents du chapitre précédent. Le framework a lu vos fichiers et demandé à Discord ce dont ils ont besoin. GUILDS est celui dont tout bot a besoin pour connaître ses serveurs ; rien dans le modèle n’en demande davantage.
  • ✓ a presence loaded : les fichiers de src/ ont été lus : une présence, et rien d’autre pour l’instant. C’est le seul fichier du modèle, src/presence.ts, et c’est pourquoi « Getting ready » s’affiche sous le nom du bot. Commandes, événements, boutons, langues : chacun est un chapitre de ce tutoriel.

Arrêter

Appuyez sur Ctrl+C dans le terminal. Le bot se déconnecte proprement et passe hors ligne immédiatement :
Appuyez une fois et attendez cette ligne. Un second Ctrl+C tue le programme sans dire au revoir, et Discord affiche alors le bot en ligne un moment, jusqu’à ce qu’il remarque que plus personne n’est au bout du fil.

Quand quelque chose ne va pas

Chaque valeur de .env est vérifiée avant toute autre chose, et chaque problème est affiché d’un coup avec quoi faire :
Un token que Discord ne reconnaît pas est refusé dès la première requête :
Cela veut généralement dire que le token a été réinitialisé depuis que vous l’avez copié. Réinitialisez-le à nouveau, copiez le nouveau et relancez. Chaque message que le bot peut afficher est rassemblé dans Dépannage, avec quoi faire.

Récapitulatif

  • pnpm create chapterjs (ou la commande de votre gestionnaire de paquets) crée le projet et l’installe.
  • .env contient BOT_TOKEN et DEV_GUILD_ID, et git l’ignore.
  • pnpm dev fait tourner le bot sur votre serveur de test ; la première fois, un lien l’y ajoute.
  • Le symbole de chaque ligne dit de quel type de message il s’agit ; ✗ vient toujours avec quoi faire.
  • Ctrl+C une fois, puis attendez ✓ Disconnected.

Visite du projet

À quoi sert chaque fichier, et la règle derrière tous.

Guide : Démarrage rapide

Les mêmes étapes sur une seule page.