/ / Como criar seu próprio bot de discórdia

Como fazer seu próprio bot de discórdia

O Discord possui uma excelente API para escrever bots personalizados e uma comunidade de bots muito ativa. Hoje, veremos como começar a criar o seu.

Você precisará de um pouco de conhecimento de programação paracodifique um bot, portanto não é para todos, mas felizmente existem alguns módulos para idiomas populares que facilitam a execução. Usaremos o mais popular, discord.js.

RELACIONADOS: Como criar, configurar e gerenciar seu servidor de discórdia

Começando

Acesse o portal de bot do Discord e crie um novo aplicativo.

Você deseja anotar o ID e o segredo do cliente (que você deve manter em segredo, é claro). No entanto, este não é o bot, apenas o "Aplicativo". Você precisará adicioná-lo na guia "Bot".

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

Instale o Node.js e obtenha codificação

Para executar o código Javascript fora de uma página da web, vocêprecisa de Nó. Faça o download, instale e verifique se ele funciona em um terminal (ou no Prompt de Comando, pois tudo isso deve funcionar nos 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 simplesmente usar o bloco de notas, mas recomendamos o Atom ou o VSC.

Aqui está o nosso "Olá Mundo":

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');

Este código é retirado do exemplo discord.js. Vamos dividir.

  • As duas primeiras 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') O bloco será acionado quando o bot for inicializado. Aqui, ele está apenas configurado para registrar seu nome no terminal.
  • o client.on('message') O bloco será acionado toda vez que uma nova mensagem for postada em qualquer canal. Obviamente, você precisará verificar o conteúdo da mensagem, e é isso que if bloco faz. Se a mensagem apenas indicar "ping", ela responderá com "Pong!"
  • A última linha efetua login com o token no portal bot. Obviamente, o token na captura de tela aqui é falso. Nunca publique seu token na internet.

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

Como executar o bot

Vá para o seu terminal e execute o seguinte comando:

nodemon --inspect index.js

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

Agora, basta dizer "Conectado como <bot-name>", mas aqui adicionei uma linha que registrará todos os objetos de mensagem recebidos no console:

Então, o que compõe esse objeto de mensagem? Muitas coisas, na verdade:

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

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

Como adicionar o bot ao seu servidor

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

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

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

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

Além da configuração básica, qualquer outra coisa é totalmentepara você. Mas, isso não seria um tutorial muito bom se parássemos no olá mundo, então vamos examinar uma parte da documentação, para que você tenha uma idéia melhor do que é possível. Sugiro que você leia o máximo possível, pois está muito bem documentado.

Eu recomendaria adicionar console.log(client) até o início do seu código e examinando o 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 da guilda 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 aprender, mas pelo menos é fácil de configurar e começar a aprender.