Page d'accueil » comment » Comment faire votre propre bot discord

    Comment faire votre propre bot discord

    Discord dispose d'une excellente API pour écrire des robots personnalisés et d'une communauté de robots très active. Aujourd'hui, nous allons voir comment commencer à créer votre propre.

    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 robots de Discord et créez une nouvelle application..

    Vous voudrez noter l’ID client et le secret (que vous devez garder secrets, bien sûr). Cependant, ce n'est pas le bot, mais simplement l'application. Vous devrez l'ajouter sous l'onglet "Bot"..

    Notez également ce jeton et gardez-le secret. En aucun cas, ne confiez cette clé à Github. Votre bot sera piraté presque immédiatement.

    Installer Node.js et obtenir le codage

    Pour exécuter du code Javascript en dehors d'une page Web, vous avez besoin de Node. 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'); client const = new Discord.Client (); client.on ('ready', () => console.log ('Connecté en tant que $ client.user.tag!');); client.on ('message', msg => if (msg.content === 'ping') msg.reply ('pong');); client.login ('jeton');

    Ce code provient de l'exemple discord.js. Faisons 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 ('prêt') 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') Ce bloc est déclenché à chaque fois qu'un nouveau message est publié sur un canal. Bien sûr, vous aurez besoin de vérifier le contenu du message, et c’est ce que le si le bloc 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

    Rendez-vous sur votre terminal et exécutez la commande suivante:

    nodemon --inspect index.js

    Cela lance le script et lance également le débogueur Chrome, auquel vous pouvez accéder en tapant chrome: // inspect /  dans Chrome Omnibar, puis en ouvrant «devtools for Node».

    À présent, il devrait simplement indiquer «Connecté en tant que», 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 l'outil de développement Chrome Node et il suffit de regarder autour de soi pour voir ce qui la fait fonctionner. Vous pouvez trouver quelque chose d'intéressant. Ici, par exemple, le bot enregistre ses réponses dans la console, ainsi les réponses du bot se déclenchent. client.on ('message'). Alors, j'ai fait un spambot:

    Remarque: Faites attention à cela, vous ne voulez pas vraiment faire face à la récursivité.

    Comment ajouter le bot sur votre serveur

    Cette partie est plus difficile que cela ne devrait ê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 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 que puis-je faire d'autre??

    Au-delà de la configuration de base, tout le reste dépend de vous. Mais, ce ne serait pas vraiment un tutoriel si nous nous arrêtions à hello world, examinons donc une partie de la documentation afin que vous ayez une meilleure idée de ce qui est possible. Je vous suggère de lire autant que vous le pouvez, car c'est très bien documenté.

    Je recommanderais d'ajouter console.log (client) au début de votre code, et jetez un coup d'oeil à 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 Les guildes objet de la carte. Cet objet contient les guildes individuelles (qui correspond au nom de "serveur" de l'API) 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, il est facile à configurer et à commencer à apprendre.