Discorde a une excellente API pour écrire des bots personnalisés, et un très actif communauté de robots . Aujourd'hui, nous allons voir comment commencer à créer le vôtre.
Vous aurez besoin d'un peu de connaissances en programmation pour coder un bot, donc ce n'est pas pour tout le monde, mais heureusement, il existe des modules pour les langages populaires qui le rendent très facile à faire. Nous utiliserons le plus populaire, discord.js .
EN RELATION: Comment créer, configurer et gérer votre serveur Discord
Commencer
Rendez-vous sur Discord's portail bot et créez une nouvelle application.
Vous voudrez prendre note de l'ID client et du secret (que vous devez bien sûr garder secrets). Cependant, ce n’est pas le robot, mais simplement l’application. Vous devrez ajouter le bot sous l'onglet "Bot".
Notez également ce jeton et gardez-le secret. Ne confiez en aucun cas cette clé à Github. Votre bot sera piraté presque immédiatement.
Installez Node.js et obtenez le codage
Pour exécuter du code Javascript en dehors d'une page Web, vous devez 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 sur les systèmes Windows). La commande par défaut est «nœud».
Nous vous recommandons également d'installer l'outil nodemon. C'est une application de ligne de commande qui surveille le code de votre bot et redémarre automatiquement en cas de modification. Vous pouvez l'installer en exécutant la commande suivante:
npm et -g nodemon
Vous aurez besoin d'un éditeur de texte. Vous pouvez simplement utiliser le bloc-notes, mais nous vous recommandons soit Atome ou VSC .
Voici notre "Hello World":
const Discord = require ('discord.js');
client const = nouveau Discord.Client ();
client.on ('prêt', () => {
console.log(`Logged in as ${client.user.tag}! `);
});
client.on ('message', msg => {
if (msg.content === 'ping') {
msg.reply('pong');
}
});
client.login ('jeton');
Ce code est tiré du discord.js exemple. Décomposons-le.
- Les deux premières lignes servent à 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 ('prêt')block se déclenchera au démarrage du bot. Ici, il est simplement configuré pour enregistrer son nom dans le terminal. -
le
client.on('message')block se déclenchera à chaque fois qu'un nouveau message est publié sur n'importe quel canal. Bien sûr, vous devrez vérifier le contenu du message, et c'est ce que lesibloc fait. Si le message dit simplement "ping", il répondra par "Pong!" - La dernière ligne se connecte avec le jeton du portail du bot. De toute évidence, le jeton dans la capture d'écran ici est faux. Ne publiez 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 exécuter le bot
Rendez-vous sur votre terminal et exécutez la commande suivante:
nodemon --inspect index.js
Cela démarre le script et déclenche également le débogueur Chrome, auquel vous pouvez accéder en tapant
chrome: // inspecter /
dans l'Omnibar de Chrome, puis en ouvrant des "outils de développement dédiés pour Node".
Maintenant, il devrait simplement dire «Connecté en tant que <bot-name>», mais ici, j'ai ajouté une ligne qui enregistrera tous les objets de message reçus sur la console:
Alors, qu'est-ce qui compose cet objet de message? Beaucoup de choses, en fait:
Plus particulièrement, vous avez les informations sur l'auteur et les informations sur la chaîne, auxquelles vous pouvez accéder avec msg.author et msg.channel. Je recommande cette méthode de journalisation des objets dans les outils de développement Chrome Node, et je regarde simplement autour de vous pour voir ce qui le fait fonctionner. Vous pouvez trouver quelque chose d'intéressant. Ici, par exemple, le bot enregistre ses réponses dans la console, de sorte que les réponses du bot se déclenchent
client.on('message')
. Alors, j'ai fait un spambot:
Note : Soyez prudent, car vous ne voulez pas vraiment gérer la récursivité
Comment ajouter le bot à votre serveur
Cette partie est plus difficile qu'elle ne devrait l'être. Vous devez prendre cette URL:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Et remplacez CLIENTID par l'ID client de votre bot, qui se trouve dans l'onglet Informations générales du application page . Une fois que cela est fait, vous pouvez donner le lien à vos amis pour qu'ils ajoutent également le bot à leurs serveurs.
Très bien, alors que puis-je faire d'autre?
Au-delà de la configuration de base, tout le reste dépend entièrement de vous. Mais ce ne serait pas vraiment un tutoriel si nous nous arrêtions à hello world, alors passons en revue quelques-uns des documentation , vous avez donc une meilleure idée de ce qui est possible. Je vous suggère de lire le plus possible, car il est très bien documenté.
Je recommanderais d'ajouter
console.log(client)
au début de votre code, et jetez un œil à l'objet client dans la console:
De là, vous pouvez apprendre beaucoup. Comme vous pouvez ajouter un bot à plusieurs serveurs à la fois, les serveurs font partie de la
Guildes
objet de la carte. Dans cet objet se trouvent l'individu
Guildes
(qui est le nom de l'API pour «serveur») et ces objets de guilde ont des listes de canaux qui contiennent toutes les informations et listes de messages. L'API est très approfondie et peut prendre un certain temps à apprendre, mais au moins, elle est facile à configurer et à commencer à apprendre.