Como fazer seu próprio bot de discórdia
Discord tem uma excelente API para escrever bots personalizados e uma comunidade bot muito ativa. Hoje vamos dar uma olhada em como começar a fazer o seu próprio.
Você precisará de um pouco de conhecimento de programação para codificar um bot, então não é para todo mundo, mas felizmente existem alguns módulos para linguagens populares que facilitam muito o trabalho. Nós estaremos usando o mais popular, discord.js.
Começando
Dirija-se ao portal bot da Discord e crie uma nova aplicação.
Você vai querer 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 também este token e mantenha-o em segredo. Não, sob hipótese alguma, envie essa chave para o 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. Faça o download, instale-o 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 as alterações. Você pode instalá-lo executando o seguinte comando:
npm i -g nodemon
Você precisará de um editor de texto. Você poderia usar apenas o bloco de notas, mas recomendamos o Atom ou o VSC.
Aqui está o nosso "Hello World":
const Discord = require ('discord.js'); cliente const = novo Discord.Client (); client.on ('ready', () => console.log ('Conectado como $ client.user.tag!');); client.on ('message', msg => if (msg.content === 'ping') msg.reply ('pong');); client.login ('token');
Este código é retirado do exemplo de discord.js. Vamos dividi-lo.
- 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 ('pronto')
bloco irá disparar quando o bot for iniciado. Aqui, é apenas configurado para registrar seu nome no terminal. - o
client.on ('mensagem')
O bloco dispara toda vez que uma nova mensagem é postada em qualquer canal. Claro, você precisará verificar o conteúdo da mensagem, e é isso que oE se
bloco faz. Se a mensagem disser apenas "ping", ela responderá com "Pong!" - A última linha entra com o token do portal bot. Obviamente, o token na imagem aqui é falso. Nunca poste seu token na internet.
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 --inspectar 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, em seguida, abrindo “devtools dedicados para o Node”.
Agora, deve apenas dizer “Conectado como”, mas aqui eu adicionei uma linha que registrará todos os objetos de mensagem recebidos no console:
Então, o que compõe este objeto de mensagem? Muita coisa, na verdade:
Mais notavelmente, você tem a informação do autor e as informações do canal, que você pode acessar com msg.author e msg.channel. Eu recomendo esse método de registro de objetos para os devtools do Nó do Chrome e basta olhar em volta para ver o que o faz funcionar. Você pode encontrar algo interessante. Aqui, por exemplo, o bot registra suas respostas no console, então as respostas do bot acionam client.on ('mensagem')
. Então eu fiz um spambot:
Nota: Tenha cuidado com isso, como você realmente não quer lidar com a recursão.
Como adicionar o bot ao seu servidor
Esta parte é mais difícil do que deveria ser. Você tem que pegar esse 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. Uma vez feito isso, você pode dar o link para seus amigos para que eles adicionem o bot aos seus servidores também.
Tudo bem, então o que mais posso fazer?
Além da configuração básica, qualquer outra coisa depende inteiramente de você. Mas, isso não seria muito um tutorial se parássemos no hello world, então vamos passar por cima da documentação, para que você tenha uma idéia melhor do que é possível. Eu sugiro que você leia o máximo que puder, como está muito bem documentado.
Eu recomendaria adicionar console.log (cliente)
para o início do seu código, e dando uma olhada no objeto cliente no console:
A partir daqui, você pode aprender muito. Como você pode adicionar um bot a vários servidores de uma vez, os servidores fazem parte do Guildas
objeto de mapa. Nesse objeto estão as Guildas individuais (que é o nome da API para “servidor”) e os objetos da guild têm listas de canais que contêm todas as informações e listas de mensagens. A API é muito profunda e pode levar algum tempo para aprender, mas pelo menos é fácil de configurar e começar a aprender.