Chapitre 2 - Création de la structure du bot
Nous venons de créer notre application, notre bot et celui est présent sur notre serveur. L'étape suivante est de créer notrela codestructure pourpermettant fairede fonctionnergérer les fichiers de notre bot.
Initialisation de notre projet
QuelqueQuel que soit l'IDE que vous utilisez, vous devez dans un premier temps créer un répertoire dans lequel se trouvera lale code de votre bot. Dans ce répertoire, nous allons créer un fichier app.js
à la racine de votre projetprojet, 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 champschamp 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'ununed'autre personne etla personnecelle-ci pourra facilement installer les dépendances.
Installation des dépendances
Nous allons installer toutestous 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 |
dotenv | Lire les |
log-timestamp | Afficher l'heure au moment de la génération d'un log |
Une fois la commande utiliser,utilisée, votre fichier package.json
devraidevrait 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"
}
}
UneUn second fichierpackage-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.
Fichiers de configuration
Toujours à la racine du projet, créez les fichiers suivants :
-
.env :
C'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'c'est dans ce fichier que nous mettrons les informations de configuration de notre bot -
config-dev.json :
Nousnous 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 besoinsbesoin :
- Dans un premier temps, nous allons créer un répertoire
src
à la racinedude 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 commandesdisponibledisponibles 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
,.dansDans ce répertoirepertoire, nous mettrons tous les fichiers externes au fonctionnement de Discord. Onpourrapourra, parexempleexemple, stocker les fonctions récurentescurrentes que nous serontammenéserons amenées à utiliser
L'arborescence de votre projet devrait ressembler à ça :