Structure du projet et modules pour un bot Discord avec Sheweny

Nous allons voir comment créer un bot discord avec Discord.js v13 et Sheweny

Niveau Intermédiaire
8 minutes de lecture
Créer un bot discord avec DiscordJS et Sheweny

Bienvenue dans ce nouveau chapitre sur la structure de notre projet et l'installation des modules. Ce chapitre fait partie d'une série de tutoriels. Bien qu'il soit possible de la suivre sans avoir lu les chapitres précédents, il est conseillé de les lire avant de commencer ce chapitre.

Structure du projet

Nous allons commencer par créer un dossier qui contiendra l'ensemble du code de notre bot. Une fois le dossier créé nous pouvons ouvrir notre IDE dedans. Si vous utilisez Visual Studio Code vous pouvez ouvrir le dossier avec le raccourci clavier Ctrl K Ctrl O ou bien en faisant Fichier => Ouvrir un dossier.

Initialisation de npm

Une fois dans notre projet nous allons commencer par initialiser npm. Npm signifie "Node Package Manager". Cet outil en ligne de commande va nous permettre de télécharger des modules et de les installer. Pour initialiser npm il suffit de faire npm init dans un terminal (Terminal => Nouveau terminal ou Ctrl + Shift + ù ). Ensuite on répond aux différentes questions posées. Le résultat devrait être la création d'un fichier package.json qui contient les informations nécessaires à l'installation de notre projet. Pour ma part le fichier ressemble a ceci:

Astuce : utiliser npm init -y pour ne pas avoir à répondre à toutes les questions.

Création des dossiers

Bien qu'il soit possible de faire un bot dans un seul fichier, ce n'est pas vraiment recommandé. En effet cela peut être très lourd à gérer et difficile à maintenir. Ainsi nous allons découper le code source de notre bot en plusieurs dossiers et fichiers. Nous allons créer un dossier src qui contiendra tout le code du bot. Une fois dans ce dossier nous allons créer les sous dossiers suivants :

  • client Qui contiendra le code du client
  • commands Qui contiendra les commandes du bot
  • events Qui contiendra les évènements du bot
  • interactions Qui contiendra les interactions du bot (boutons, select-menus, etc...)
  • utils Qui contiendra les fonctions utiles au bot Si vous n'avez pas tout compris la vue suivante devrait vous éclairer: dir_structure

Création des fichiers

Nous allons commencer par créer quelques fichiers dans le dossier src.

  • index.js dans le dossier src Il s'agit du fichier principal du bot, nous lancerons notre bot depuis ce fichier.
  • client.js dans le dossier client. Ce fichier contiendra le code du client.
  • config.js dans le dossier src. Ce fichier contiendra les informations de configuration du bot.

Fichier de configuration

Vous vous souvenez nous avions parlé du token dans le chapitre précédent ? C'est ici que nous allons stocker le stocker. Pour cela retournez sur discord.dev et copiez le token de votre application. Une fois le token copié vous pouvez le coller dans le fichier config.js en remplacant VOTRE_TOKEN par le token que vous avez copié.

Installation des modules

Pour notre bot nous allons utiliser des modules pour nous simplifier la tâche, en effet la création d'un bot sans module est très compliquée, il faut gérer un websocket, des requetes http, le cache, le rate-limite etc. Heureusement il existe des librairies très bien faites qui nous simplifieront le travail. Nous allons donc installer discord.js et Sheweny. Discord.js permettra de faire toutes les intéractions avec l'api de discord. Et Sheweny vous simplifiera l'utilisation de discord.js, Sheweny va en fait s'occuper de charger vos différents fichiers et de gérer les éléments importants, les commandes, événements etc. Pour installer discord.js et Sheweny il suffit de faire npm install discord.js sheweny dans un terminal.

Structure finale

Vous pouvez retrouver le code complet du bot sur github Structure

Conclusion

Dans ce chapitre nous avons vu :

  • Comment créer une structure propre pour notre bot
  • Comment créer notre fichier de config
  • Comment initialiser npm
  • Enfin comment installer les modules nécessaires Dans le prochain chapitre nous allons voir comment créer notre client et mettre notre bot en ligne.

Rejoindre la communauté de développeurs

Rejoins notre communauté de développeurs pour progresser et t'améliorer

Passer au chapitre suivant :