Como Fazer Seu Próprio Discord Bot

O Discord tem uma API excelente para escrever bots personalizados e uma comunidade de bots muito ativa . Hoje vamos dar uma olhada em como começar a fazer o seu.

Você precisará de um pouco de conhecimento de programação para codificar um bot, então não é para todos, mas felizmente existem alguns módulos para linguagens populares que o tornam muito fácil de fazer. Estaremos usando o mais popular, discord.js .

Começando

Vá até o portal de bots do Discord e crie um novo aplicativo.

Você desejará anotar o ID do cliente e o segredo (que você deve manter em segredo, é claro). No entanto, este não é o bot, apenas o “Aplicativo”. Você terá que adicionar o bot na guia “Bot”.

Anote este token também e mantenha-o em segredo. Em nenhuma circunstância, envie esta chave ao Github. Seu bot será hackeado quase imediatamente.

Instale o Node.js e obtenha a codificação

Para executar o código Javascript fora de uma página da web, você precisa do Node . Baixe, instale e verifique se ele funciona em um terminal (ou Prompt de Comando, pois tudo isso deve funcionar em sistemas Windows). O comando padrão é “nó”.

Também recomendamos a instalação da ferramenta nodemon. É um aplicativo de linha de comando que monitora o código do seu bot e reinicia automaticamente nas alterações. Você pode instalá-lo executando o seguinte comando:

npm i -g nodemon

Você precisará de um editor de texto. Você pode apenas usar o bloco de notas, mas recomendamos Atom ou VSC .

Este é o nosso “Hello World”:

const Discord = require ('discord.js');
 cliente const = novo Discord.Client ();

client.on ('pronto', () => {
 console.log (`Conectado como $ {client.user.tag}!`);
 });

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

client.login ('token');

Este código é retirado do exemplo discord.js . Vamos decompô-lo.

  • As primeiras duas linhas são para configurar o cliente. A linha um importa o módulo para um objeto chamado “Discord” e a linha dois inicializa o objeto cliente.
  • O client.on('ready')bloco irá disparar quando o bot for inicializado. Aqui, ele apenas está configurado para registrar seu nome no terminal.
  • O client.on('message')bloqueio será disparado sempre que uma nova mensagem for postada em qualquer canal. Claro, você precisará verificar o conteúdo da mensagem, e é isso que o ifbloco faz. Se a mensagem disser apenas “ping”, ela responderá com “Pong!”
  • A última linha faz login com o token do portal do bot. Obviamente, o token na imagem aqui é falso. Nunca publique seu token na Internet.
Recomendado:  Recursos do iMessage a serem evitados com seus amigos Android Green Bubble

Copie este código, cole seu token na parte inferior e salve-o como index.js em uma pasta dedicada.

Como executar o bot

Vá até o seu terminal e execute o seguinte comando:

nodemon --inspect index.js

Isso inicia o script e também ativa o depurador do Chrome, que você pode acessar digitando chrome://inspect/  no Omnibar do Chrome e abrindo “devtools dedicados para Node”.

Agora, deve apenas dizer “Logged in as <bot-name>,” mas aqui eu adicionei uma linha que irá registrar todos os objetos de mensagem recebidos no console:

Então, o que constitui esse objeto de mensagem? Muitas coisas, na verdade:

Mais notavelmente, você tem as informações do autor e do canal, que podem ser acessadas com msg.author e msg.channel. Eu recomendo este método de registrar objetos para os devtools do Chrome Node, e apenas dar uma olhada para ver o que o faz funcionar. Você pode encontrar algo interessante. Aqui, por exemplo, o bot registra suas respostas no console, para que as respostas do bot sejam acionadas client.on('message'). Então, eu fiz um spambot:

Nota : Tenha cuidado com isso, pois você realmente não deseja lidar com a recursão.

Como adicionar o bot ao seu servidor

Esta parte é mais difícil do que deveria ser. Você deve pegar este URL:

https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot

E substitua CLIENTID pelo ID de cliente do seu bot, encontrado na guia de informações gerais da página do aplicativo . Assim que isso for feito, você pode fornecer o link para seus amigos para que eles adicionem o bot a seus servidores também.

Tudo bem, então o que mais posso fazer?

Além da configuração básica, tudo o mais depende de você. Mas, isso não seria muito de um tutorial se parássemos em hello world, então vamos revisar um pouco da documentação , para que você tenha uma ideia melhor do que é possível. Eu sugiro que você leia o máximo que puder, pois está muito bem documentado.

Recomendado:  O que significa “SF” e como você o usa?

Eu recomendaria adicionar console.log(client)ao início do seu código e dar uma olhada no objeto cliente no console:

A partir daqui, você pode aprender muito. Como você pode adicionar um bot a vários servidores ao mesmo tempo, os servidores fazem parte do Guilds objeto de mapa. Nesse objeto estão as Guilds individuais  (que é o nome da API para “servidor”) e esses objetos de guild têm listas de canais que contêm todas as informações e listas de mensagens. A API é muito profunda e pode demorar um pouco para ser aprendida, mas pelo menos é fácil de configurar e começar a aprender.