Catégories
Développement Javascript Node.js Tutoriel

Créer un bot Discord en Javascript

Dans ce tutoriel, nous allons voir comment créer et héberger un bot Discord. Ce tutoriel sera réalisé en Javascript avec Node.js, le code source du tutoriel se trouve en bas de page. Le but de ce tutoriel est de faire un bot, qui va nous répondre lorsqu’il détecte une commande précise.

Créer une application

Pour débuter le développement de notre bot, il va falloir créer une application Discord. Il faut se connecter et accéder au portail de développeur.
Une fois sur cette page, cliquez sur New Application pour faire apparaître une popup vous demandant le nom de votre application.

Ensuite vous pouvez renseigner diverses informations

Retrouver le token pour utiliser l’API Discord

Sur le portail développeur de Discord, allez dans la section Bot. Nous aurons besoin du token pour permettre au bot de se connecter à notre serveur.

Le code du bot

Nous allons voir comment créer notre bot. Dans un premier temps, assurez vous d’avoir installé Node.js. Ensuite saisissez la ligne de commande suivante dans le dossier de votre projet :

npm install discord.js

Une fois cette commande effectuée, nous allons pouvoir coder notre bot.

const Discord = require('discord.js');
var bot = new Discord.Client();
bot.on('message', function (message) {
  if (message.content == '!tutoriel') {
    message.reply("Vive les tutos");
  }
});
bot.login("Votre token");

Dans la méthode login, n’oubliez pas de coller le token que nous avons vu plus haut.

Ajouter notre bot à notre serveur

Pour ajouter notre bot à notre serveur, retournons dans le portail de développeur Discord.
Cette fois, il faut aller dans la partie OAuth2, cette page sert à générer un lien pour ajouter le bot avec les différents droits nécessaires.

Dans notre cas, nous allons sélectionner bot dans la partie scope.
Dans la partie Bot permission, il suffit de cocher la valeur Send Messages. Mais vous pouvez lui mettre les droits administrateurs si vous le souhaitez. L’outil vous génère dynamiquement une url pour partager notre bot.

Héberger le code du bot

Pour que notre application fonctionne, il nous faut un serveur capable d’exécuter Node.js. Si vous possédez une serveur dédié, c’est assez simple car il suffit de le faire en ligne de commande. Une autre solution est d’utiliser Heroku (pour ne citer que lui). Il va nous permettre d’héberger notre projet et de le lancer. La version gratuite se coupe au bout de 30 minutes sans activité, ce qui est parfait pour tester notre projet.

Si vous n’avez pas de serveur dédié ou le courage de configurer un projet Heroku, lancez la commande suivante de votre poste :

node index.js

Votre bot devrait être actif sur votre serveur.

Tester l’application

Maintenant vous pouvez saisir la commande !tutoriel

Conclusion

Pour aller encore plus loin, vous pouvez par exemple, regarder pour modifier la commande pour qu’elle accepte un paramètre, ou bien en créer une autre.

Par Shinochi

Développeur Web Fullstack expert Drupal 8, et otaku par la même occasion.

Passionné par le japon, je partage quelques critiques sur les animes et mangas que j'ai regardé.
Je développe des jeux sur Unity3D à mes heures perdue.

2 réponses sur « Créer un bot Discord en Javascript »

Bonjour. Ce tuto est vraiment simple et très utile merci ! On ne s’embrouille pas, on comprend bien ! Seulement, débutante comme je suis j’ai un problème pour les quelques lignes de codes que tu mets au début. Celle var bot = new Discord.Client()
Je remplace new discord, par le nom de mon bot, et Client par le client ID de mon bot en espérant que c’est ça que je doit faire. Node.js me répond soit que le nom de mon bot n’est pas définit, soit que le chiffre (le client ID) est inatendu. Ou alors que le token est inatendu !
Tu pourrais me dire quelles parties de tes commandes on doit remplacer par nos propres termes ?
Ou alors m’expliquer d’où vient le problème si ça ne te dérange pas ?

Bonjour,
Merci pour ton retour, dans le code qui est fourni tu peux faire un
npm install.

Tu as juste à modifier cette ligne : bot.login(« Votre token »);

« Votre token » correspond au token de ton bot, expliqué dans « Retrouver le token pour utiliser l’API Discord » du tutoriel.

Si tu ne trouves pas, n’hésite pas à passer sur le discord ^^.

Laisser un commentaire

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