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 idiomas 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.
Instale o Node.js e obtenha a codificação
Para executar 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 nas 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'); 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 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('ready')
bloco irá disparar quando o bot for iniciado. Aqui, é apenas configurado para registrar seu nome no terminal.
-
o
client.on('message')
O bloco dispara toda vez que uma nova mensagem é postada em qualquer canal. Claro, você precisa verificar o conteúdo da mensagem, e é isso que o
if
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 publique 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
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 Google Chrome e, em seguida, abrir "devtools dedicados para o Node".
Agora, deve dizer apenas "Conectado como
client.on('message')
. Então eu fiz um spambot:
Nota: Tenha cuidado com isso, porque você não quer realmente lidar com a recursão.
Como adicionar o bot ao seu servidor
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
E substitua CLIENTID pelo ID do cliente do seu bot, encontrado na guia "Informações gerais" da página do aplicativo. Uma vez feito isso, você pode fornecer o link para seus amigos para que eles também incluam o bot em seus servidores.
Tudo bem, então o que mais posso fazer?
Eu recomendaria adicionar
console.log(client)
para o início do seu código, e dando uma olhada no objeto cliente no console:
Guilds
objeto de mapa. Nesse objeto estão as Guildas individuais (que é o nome da API para "servidor") e os 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 levar algum tempo para aprender, mas pelo menos é fácil de configurar e começar a aprender.