Chapitre 2 - Création de la structure du bot
Nous venons de créer notre bot et celui est présent sur notre serveur. L'étape suivante est de créer notre code pour faire fonctionner notre bot.
Initialisation de notre projet
Quelque soit l'IDE que vous utilisez, vous devez dans un premier temps créer un répertoire dans lequel se trouvera la code de votre bot. Dans ce répertoire, nous allons créer un fichier app.js
à la racine de votre projet mais nous ne mettrons rien dedans pour le moment. Une fois que le fichier est créer, ouvrez une invite de commande (shell, cmd, etc.) et tapez la commande :
npm init
Cette commande va nous permettre d'initialiser notre projet js, une fois la commande saisie, remplissez les informations avec vos données. Pendant la saisie des données, dans le champs entry point, entrez le nom du fichier principal de notre bot (ici : app.js
). Une fois que vous aurez rempli les informations, un fichier package.json va se créer :
{
"name": "formation-bot",
"version": "1.0.0",
"description": "Formation développement bot Discord",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Aros - Team Xelyos",
"license": "ISC"
}
Les informations présentes dans ce fichier peuvent varier en fonction de vos saisies.
Le fichier packages.json est un fichier contenant toutes les informations du projet et ses dépendances. Grâce à ce fichier, vous pourrez transférer votre projet à quelqu'un d'autre et la personne pourra facilement installer les dépendances.
Installation des dépendances
Nous allons installer toutes les modules nécessaires au fonctionnement de notre bot. Un module est un ensemble d'instruction qui nous permet de réaliser certaines actions. Si vous souhaitez en savoir plus, nous vous invitons à lire ce lien : MDN - Les modules JavaScript.
Voici la commande à utiliser pour les installer :
npm i discord.js @discordjs/rest dotenv log-timestamp
Packages | Utilité |
---|---|
discord.js | Utiliser les fonctionnalités de Discord |
@discordjs/rest | Diffuser les commades de notre bot sur les serveurs (utilisation principale ici) |
dotenv | Lire les informatios présentes dans notre fichier .env |
log-timestamp | Afficher l'heure au moment de la génération d'un log |
Une fois la commande utiliser, votre fichier package.json
devrai avoir une nouvelle clé dependencies ressemblant à ça :
{
"name": "formation-bot",
"version": "1.0.0",
"description": "Formation développement bot Discord",
"main": "app.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "Aros - Team Xelyos",
"license": "ISC",
"dependencies": {
"@discordjs/rest": "^1.0.1",
"discord.js": "^14.1.2",
"dotenv": "^16.0.1",
"log-timestamp": "^0.3.0"
}
}
Une second fichier
package-lock.json
va également se créer. Ce fichier va stocker la structure exacte de votre arborescence de dépendances à chaque installation. Il est important de ne pas supprimer ce fichier si vous êtes plusieurs à travailler sur le bot.
Fichier token et fichierFichiers de configuration
Toujours à la racine du projet, créez les fichiers suivants :
- .env : C'est dans ce fichier que nous mettrons les informations d'identification (le token, base de données si vous en utilisez une, etc..)
- config.json : C'est dans ce fichier que nous mettrons les informations de configuration de notre bot
- config-dev.json : Nous utilisons ce fichier afin de séparer notre bot de développement et le bot présent sur le serveur. Il permet de facilement séparer les informations (comme, l'id des rôles, etc...)
Dans le fichier .env
, nous allons mettre le token de notre bot récupéré dans le chapitre 1 :
TOKEN=votre_token_prive
Création des répertoires
Avant de commencer à coder, nous allons créer les différents répertoires dont nous aurons besoins :
- Dans un premier temps, nous allons créer un répertoire
src
à la racine du votre projet. C'est dans ce répertoire que nous y mettrons nos fonctionnalités. Tous les autres répertoires que nous allons créer seront dans ce répertoiresrc
- Créer un répertoire
commands
, ce répertoire va contenir toutes les commandes disponible pour notre bot - Créer un répertoire
events
, ce répertoire va contenir tous les évènements que nous allons écouter - Créer un répertoire
reactions
, ce répertoire va contenir toutes les réponses aux réactions (actions sur un bouton, sélection dans une liste, etc..) de notre bot - Pour finir, créer un répertoire
tools
, dans ce répertoire nous mettrons tous les fichiers externes au fonctionnement de Discord. On pourra par exemple stocker les fonctions récurentes que nous seront ammenées à utiliser