return arrow

Création d'un Bot Discord - Node.js

Contexte

Lors de mon temps libre, il m'arrive de jouer à des jeux vidéos, et en occurrence à Black Desert Online. Dans ce jeu, il se passe des événements à des horaires précis, et pour cela, j'avais installé un bot Discord sur mon serveur afin de recevoir une notification lorsque cet événement se produisait. Cependant, ce bot a été arrêté, ce qui m'a poussé à faire ce projet personnel.

Une base de données a été nécessaire afin d'enregistrer les configurations sur les différents serveurs où celui sera installés. SQLite répond exactement à ce besoin, car ce dernier est facile à intégrer et est très léger.

Discord est un réseau social permettant à des communautés de parler entre elles, chaque communauté peut créer son serveur gratuitement et le façonner à sa manière. Cela permet donc à des développeurs de créer des bots via les API Discord ainsi que le portail développeur de créer des outils sur mesures pour leurs communautés.

Testez-le vous-même

Invitez-le ici. Vous pouvez également consulter les conditions d'utilisation ou encore la politique de confidentialité.

Logo du bot Discord
Logo du bot Esprit Occulte

Quelles technologies utilisées ?

Discord a des APIs afin de communiquer avec les fonctionnalités de Discord qu'on retrouve dans une bibliothèque installable via Node.js nommé Discord.js.

Exemple de la fonctionnalité principale du bot
Exemple de la fonctionnalité principale du bot : Envoie d'un message d'alerte lors de l'apparition d'un Boss mondial
Capture d'écran de l'architecture du bot Discord
Architecture du bot Discord

Environnement de développement

Logo Javascript
Javascript
Logo Git
Git
Logo GitHub
GitHub
Logo NodeJS
Node.js
Logo SQLite
SQLite (SGBD)
Logo VSCode
Visual Studio Code

Étapes de réalisation du projet

  • Étape 1 : Études et découverte de Node.js et de Discord.js :

Cela avait pour but de me familiariser avec ces nouvelles technologies.

  • Étape 2 : Création de la fonctionnalité principale :

Cette étape permet au bot d'envoyer un message lorsqu'un boss apparaît dans le jeu. C'est sa fonctionnalité principale.

  • Étape 3 : Création de la BDD via SQLite :

Ici, on permet d'implémenter une base de données permettant d'avoir des données sauvegardées malgré l'arrêt du bot, cela permet aussi que le bot soit utilisable sur plusieurs serveurs.

  • Étape 4 : Ajout de nouvelles fonctionnalités :

Cette étape a pour but d'ajouter les autres alertes correspondantes aux événements pouvant se produire dans le jeu.

  • Étape 5 : L'hébergement :

Cette dernière étape a pour but de permettre d'héberger le bot sur un serveur et non sur ma machine personnelle permettant d'assurer une fonction 24h/24 et 7j/7.

Illustrations

Illustration des alertes du cycle Jour/Nuit
Alertes du cycle Jour/Nuit
Illustration des alertes de Livraisons Impériales
Alertes de Livraisons Impériales
Illustration d'alertes de réinitialisations quotidiennes
Alertes de réinitialisations quotidiennes
Illustration de l'alertes de réinitialisations hebdomadaires
Alertes de réinitialisations hebdomadaires

Modélisation des données

Modélisation des données