Vous aurez besoin de connaissances en programmation pour coder un bot. Ce n’est donc pas pour tout le monde, mais heureusement, il existe des modules pour les langages populaires qui le rendent très facile à utiliser. Nous utiliserons le plus populaire, discord.js.
Commencer
Rendez-vous sur le portail de bot de Discord et créez une nouvelle application.
Installer Node.js et obtenir le codage
Pour exécuter du code Javascript en dehors d'une page Web, vous devez disposer d'un nœud. Téléchargez-le, installez-le et assurez-vous qu'il fonctionne dans un terminal (ou une invite de commande, car tout cela devrait fonctionner sous Windows). La commande par défaut est "node".
Nous vous recommandons également d'installer l'outil nodemon. C'est une application en ligne de commande qui surveille le code de votre bot et redémarre automatiquement en cas de modification. Vous pouvez l'installer en lançant la commande suivante:
npm i -g nodemon
Vous aurez besoin d’un éditeur de texte. Vous pouvez simplement utiliser le bloc-notes, mais nous vous recommandons Atom ou VSC.
Voici notre "Hello World":
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');
Ce code provient de l'exemple discord.js. Laissez-le décomposer.
- Les deux premières lignes doivent configurer le client. La première ligne importe le module dans un objet appelé «Discord» et la deuxième ligne initialise l’objet client.
-
le
client.on('ready')
le bloc se déclenche lorsque le bot démarre. Ici, il est juste configuré pour enregistrer son nom sur le terminal.
-
le
client.on('message')
le bloc sera déclenché chaque fois qu'un nouveau message est posté sur un canal. Bien sûr, vous aurez besoin de vérifier le contenu du message, et c’est ce que le
if
bloquer fait. Si le message dit simplement "ping", il répondra par "Pong!"
- La dernière ligne se connecte avec le jeton du portail bot. De toute évidence, le jeton dans la capture d'écran ici est un faux. Ne postez jamais votre jeton sur Internet.
Copiez ce code, collez votre jeton en bas et enregistrez-le sous
index.js
dans un dossier dédié.
Comment faire fonctionner le bot
nodemon --inspect index.js
Cela démarre le script et lance également le débogueur Chrome, auquel vous pouvez accéder en tapant
chrome://inspect/
dans Omnibar de Chrome, puis en ouvrant «devtools for Node».
Maintenant, il devrait juste dire Connecté en tant que
client.on('message')
. Alors, j'ai fait un spambot:
Remarque: Soyez prudent avec cela, vous ne voulez pas vraiment faire face à la récursivité.
Comment ajouter le bot sur votre serveur
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Et remplacez CLIENTID par l’identifiant client de votre bot, qui se trouve sur l’onglet informations générales de la page de l’application. Une fois que cela est fait, vous pouvez donner le lien à vos amis pour qu’ils ajoutent également le bot à leurs serveurs.
Bon, alors quoi d'autre puis-je faire?
Je recommanderais d'ajouter
console.log(client)
au début de votre code et en regardant l'objet client dans la console:
Guilds
objet de la carte. Cet objet contient les guildes individuelles (nom de l'API pour "serveur") et ces objets de guilde ont des listes de canaux contenant toutes les informations et les listes de messages. L’API est très profonde et peut prendre un certain temps à apprendre, mais au moins c’est facile à configurer et à commencer à apprendre.