Discord.Js: Créer un bot discord

Logo discordjs

Cela fait quelques mois maintenant, mais le besoin de développer un bot sur mesure pour un serveur discord s’était fait sentir.
J’ai alors entrepris une petite veille sur les outils disponibles sur le marché.

J’ai donc découvert la librairie DiscordJs, permettant de créer simplement un bot en Node.js, et je me suis empressé de créer mon premier bot.

C’est donc parti pour un article qui saura ravir les geeks présents parmi nous !

Prérequis

Tout d’abord vous devez avoir Node.js 10.0.0 minimum ou supérieur pour que cela fonctionne.

Ensuite, installer discordJS avec votre gestionnaire de paquet préféré. Pour ma part j’utilise yarn:

yarn add discordjs/discord.js

Si vous souhaitez utiliser les fonctionnalités de channel vocal, installez également node-opus:

yarn add node-opus

Premier bout de code

Tout d’abord, un petit yarn/npm init dans votre répertoire ne vous fera pas de mal.

Ici mon entrypoint sera le fichier index.js, je le crée donc:

touch index.js

Et j’y met le code suivant (c’est le quickstart officiel):

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('message', msg => {
  if (msg.content === 'ping') {
    msg.reply('pong');
  }
});

client.login('token');

Tout d’abord première question de votre part: « C’est quoi token ??? »

Avoir un token pour mon bot

Pas de panique. Pour fonctionner, votre bot doit avoir une fiche d’identification sur les serveur de discord.
Rendez vous donc sur la page de gestion des applications de discord pour créer votre bot.

Faites ‘New application’ et entrez son nom

Créer une  application discord
Créer une application discord

Après ça rendez-vous dans la section ‘Bot’ puis cliquez sur ‘Add Bot’

Vous pouvez maintenant copier le token en cliquant sur le bouton ‘Copy’ et le coller dans votre code à la place de ‘token’.

Démarrer mon bot

Maintenant que notre bot est prêt, il est temps de le tester ? Rien de plus simple:

node index.js

Et voilà le résultat !

Bon, on est pas bien avancé… Désormais le bot est démarré mais impossible de l’utiliser, nous devons avant l’ajouter à notre serveur discord.

Ajouter le bot au serveur discord

Retournons sur la page de notre application. Vous devez vous rendre dans la partie OAuth2 pour obtenir un lien d’autorisation à votre serveur.

Sélectionnez bot dans la partie scopes

Partie scopes
Partie scopes

Et attribuez lui les permissions désirées. Pour plus de simplicité dans le tutoriel, je l’ai mis administrateur

Partie permissions

Cliquez ensuite sur ‘copy’ et coller le lien dans votre navigateur pour accèder à la page d’autorisation

Sélectionnez votre serveur dans la liste déroulante et appuyez sur ‘Autoriser’.

Page d'autorisation
Page d’autorisation

Vérifiez sur votre serveur discord, votre bot devrait s’être ajouté.

Notification discord que le bot a rejoins le serveur
Notification discord

Tester le bot

Il est temps de passer aux tests !

Comme le bot écoute tous les messages postés sur le serveur, vous pouvez effectuer votre test dans n’importe quel channel.

Essayez de taper ‘ping’ dans un channel, et le bot vous répondra immédiatement ‘pong’.

Réponse 'pong' du bot
Réponse du bot

Voilà ! Votre bot vous répond !

Vous pouvez maintenant modifier votre bot pour qu’il effectue les tâches voulues. Pour vous aidez, discordJS possède une documentation assez bien fournie. Vous avez aussi ce discord où la communauté de développeur de bot se réunissent autour de plein de langages.

Conclusion

Vous êtes fin prêt pour créer votre premier bot discord !
Et comme j’ai bien fait les choses, vous pouvez allez lire mon article sur PM2 pour gérer votre l’instance de l’application de votre bot !

Voici le lien vers le dépôt github du projet


Liens utiles:


Articles précédents

Discord.Js: Créer un bot discord

Un commentaire sur “Discord.Js: Créer un bot discord

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut