Discordia tiene una excelente API para escribir bots personalizados y una muy activa comunidad de bot . Hoy veremos cómo empezar a hacer el tuyo propio.
Necesitará un poco de conocimiento de programación para codificar un bot, por lo que no es para todos, pero afortunadamente hay algunos módulos para lenguajes populares que lo hacen muy fácil de hacer. Usaremos el más popular, discord.js .
RELACIONADO: Cómo crear, configurar y administrar su servidor de Discord
Empezando
Dirígete a Discord's portal de bot y cree una nueva aplicación.
Deberá anotar el ID de cliente y el secreto (que, por supuesto, debe mantener en secreto). Sin embargo, este no es el bot, solo la "Aplicación". Tendrás que agregar el bot en la pestaña "Bot".
Tome nota también de esta ficha y manténgala en secreto. No, bajo ninguna circunstancia, confíe esta clave a Github. Su bot será pirateado casi de inmediato.
Instale Node.js y obtenga codificación
Para ejecutar código Javascript fuera de una página web, necesita Nodo . Descárguelo, instálelo y asegúrese de que funcione en una terminal (o Símbolo del sistema, ya que todo esto debería funcionar en los sistemas Windows). El comando predeterminado es "nodo".
También recomendamos instalar la herramienta nodemon. Es una aplicación de línea de comandos que monitorea el código de su bot y se reinicia automáticamente con los cambios. Puede instalarlo ejecutando el siguiente comando:
npm y -g nodemon
Necesitarás un editor de texto. Puedes usar el bloc de notas, pero te recomendamos Átomo o VSC .
Aquí está nuestro "Hola mundo":
const Discord = require ('discord.js');
cliente constante = nuevo Discord.Client ();
client.on ('listo', () => {
console.log(`Logged in as ${client.user.tag}! `);
});
client.on ('mensaje', msg => {
if (msg.content === 'ping') {
msg.reply('pong');
}
});
client.login ('token');
Este código se toma del discord.js ejemplo. Vamos a analizarlo.
- Las dos primeras líneas son para configurar el cliente. La línea uno importa el módulo en un objeto llamado "Discord" y la línea dos inicializa el objeto cliente.
-
los
client.on ('listo')El bloque se disparará cuando se inicie el bot. Aquí, simplemente está configurado para registrar su nombre en la terminal. -
los
client.on ('mensaje')El bloque se activará cada vez que se publique un nuevo mensaje en cualquier canal. Por supuesto, deberá verificar el contenido del mensaje, y eso es lo queSibloque hace. Si el mensaje solo dice "ping", entonces responderá con "¡Pong!" - La última línea inicia sesión con el token del portal de bots. Obviamente, el token de la captura de pantalla aquí es falso. Nunca publiques tu token en Internet.
Copie este código, pegue su token en la parte inferior y guárdelo como
index.js
en una carpeta dedicada.
Cómo ejecutar el bot
Dirígete a tu terminal y ejecuta el siguiente comando:
nodemon --inspect index.js
Esto inicia el script y también activa el depurador de Chrome, al que puede acceder escribiendo
chrome: // inspeccionar /
en Omnibar de Chrome y luego abriendo "herramientas de desarrollo dedicadas para Node".
Ahora, debería decir simplemente "Inició sesión como <bot-name>", pero aquí agregué una línea que registrará todos los objetos de mensaje recibidos en la consola:
Entonces, ¿qué constituye este objeto de mensaje? Muchas cosas, en realidad:
En particular, tiene la información del autor y la información del canal, a la que puede acceder con msg.author y msg.channel. Recomiendo este método de registrar objetos en las herramientas de desarrollo del nodo de Chrome, y simplemente mirar alrededor para ver qué lo hace funcionar. Puede encontrar algo interesante. Aquí, por ejemplo, el bot registra sus respuestas en la consola, por lo que las respuestas del bot activan
client.on ('mensaje')
. Entonces, hice un spambot:
Nota : Tenga cuidado con esto, ya que realmente no desea lidiar con la recursividad.
Cómo agregar el bot a su servidor
Esta parte es más difícil de lo que debería ser. Tienes que tomar esta URL:
https://discordapp.com/oauth2/authorize?client_id=CLIENTID&scope=bot
Y reemplace CLIENTID con el ID de cliente de su bot, que se encuentra en la pestaña de información general del página de aplicación . Sin embargo, una vez hecho esto, puede dar el enlace a sus amigos para que también agreguen el bot a sus servidores.
Muy bien, ¿qué más puedo hacer?
Más allá de la configuración básica, todo lo demás depende completamente de usted. Pero este no sería un gran tutorial si nos detuviéramos en hola mundo, así que repasemos algunos de los documentación , para que tenga una mejor idea de lo que es posible. Le sugiero que lea todo lo que pueda, ya que está muy bien documentado.
Recomendaría agregar
console.log (cliente)
al comienzo de su código y observando el objeto cliente en la consola:
A partir de aquí, puedes aprender mucho. Dado que puede agregar un bot a varios servidores a la vez, los servidores son parte del
Gremios
objeto de mapa. En ese objeto está el individuo
Gremios
(que es el nombre de la API para "servidor") y esos objetos del gremio tienen listas de canales que contienen toda la información y listas de mensajes. La API es muy profunda y puede llevar un tiempo aprenderla, pero al menos es fácil de configurar y comenzar a aprender.