Bot de discordia de Golang

Bot de discordia de Golang
En este tutorial, aprenderemos cómo crear un bot de discordia usando el lenguaje de programación GO.

Crear servidor Discord

Para que cree un bot para Discord, necesitará un servidor de Discord donde sea el administrador. Puede hacerlo abriendo su navegador y navegando al sitio de Discord:

http: // discord.comunicarse

Inicie sesión en su cuenta de Discord y cree un servidor para probar. En nuestro ejemplo, creamos un tutorial llamado "servidor linuxhint_tuts"

Una vez que tenga un servidor de prueba, puede proceder a crear una aplicación para su bot de discordia. Abra el portal de desarrollador de discordias:

https: // discord.com/desarrolladores/aplicaciones

Haga clic en el botón de nueva aplicación para agregar una nueva aplicación Discord. Establezca el nombre de su aplicación y haga clic en Crear.

Una vez que se crea la aplicación, haga clic para abrirla desde la lista de sus aplicaciones disponibles. A continuación, seleccione la opción Bot en el menú izquierda.

Haga clic en Agregar bot para crear un nuevo bot para su aplicación. Esto creará un nuevo bot con un nuevo token de bot. Copie y guarde el token Bot.

A continuación, navegue hasta la parte inferior de la página y seleccione el permiso para su bot.

Una vez que tenga los permisos del conjunto BOT, abra su navegador y navegue al siguiente recurso:

https: // discord.com/oauth2/autorizar?client_id = [client_ide] & scope = Bot donde la identificación del cliente es la identificación del cliente para su aplicación. Puede encontrar esta identificación en la sección OAuth de su aplicación:

El recurso anterior le permite agregar su bot a su servidor.

Seleccione su servidor y haga clic en Autorizar.

Construyendo un bot de discordia

Una vez que tengamos la aplicación Discord y Bot configurados, podemos proceder a crear un bot Bot Discord. Para esta guía, utilizaremos el paquete Discordgo, que proporciona funcionalidades de bajo nivel para trabajar con Discord API.

Comience por crear un directorio de trabajo para almacenar el código para su bot Bot Discord.

bote de discordia mkdir

Navegue al directorio e inicialice el administrador de mod para su proyecto:

Bot de discordia de CD
Go Mod Init Discord-Bot
Vaya moderado

El siguiente paso es crear la estructura del proyecto. Comience creando directorios de configuración y bot:

Bot de configuración de Mkdir

El directorio de configuración actuará como el paquete que lee la configuración del servidor de discordias. La carpeta BOT contiene el código para Discord Bot.

A continuación, cree un archivo principal que usaremos para iniciar el bot. En general.IR FILE, agregue el siguiente código:

paquete principal
importar (
"Discord-bot/bot"
"Discord-Bot/config"
"registro"
)
funcmain ()
Err: = config.Readconfig ()
Si err != nulo
registro.Fatal (err)
devolver

bot.Correr()
<-make(chanstruct)
devolver

En el ejemplo anterior, comenzamos importando el código exportado por los paquetes de configuración y Bot. Agregaremos el código para estos paquetes en las próximas secciones.

Luego llamamos al método readconfig () desde el paquete de configuración. Finalmente, ejecutamos el BOT usando el método run () desde el paquete BOT.

El siguiente paso es establecer la configuración para su bot. En el directorio raíz, cree una configuración.archivo json y agregar las siguientes entradas:


"Token": "OTM3OTU0MDY1OTU3MTMWMJCW.Yfjpyw.gebrcbqzjgrvchtfbvcj2ywuzl4 ",
"Prefijo": "!"

El archivo json contiene el token para su bot como se copia en los pasos anteriores. El siguiente es el prefijo que define el prefijo a seguir para invocar un comando BOT. Obtenga más información sobre el prefijo BOT en el recurso a continuación:

https: // discordpy.readthedocs.IO/EN/STABLE/EXT/COMANDS/API.html#discord.extendido.comandos.Bot.command_prefix

A continuación, navegue por el directorio de configuración y cree una configuración.Archivo GO. En la configuración.GO FILE, agregue el código como se muestra a continuación:

configuración de paquetes
importar (
"Codificación/JSON"
"Io/Ioutil"
"registro"
)
var (
Cadena de token
Prefijo una cadena
config *configStructu
)
Escriba configStruct struct
Token String 'JSON: "Token"'
Prefijo string 'json: "prefijo"'

Error de FunCreadConfig ()
archivo, err: = ioutil.Readfile ("./config.json ")
Si err != nulo
registro.Fatal (err)
devolver err

err = json.Unmarshal (archivo y config)
Si err != nulo
registro.Fatal (err)
devolver err

Token = config.Simbólico
Prefijo = config.Prefijo
regresar nulo

En el código anterior, comenzamos importando nuestros paquetes requeridos. Esto incluye la codificación/JSON para reunir la configuración JSON, Ioutil para leer el archivo de configuración y registrar cualquier error.

A continuación, definimos la estructura para almacenar los valores leídos del archivo JSON. Luego procedemos a crear la función ReadConfig. Esta función utiliza el método ioutil para leer la configuración.archivo json. Luego usamos los datos de JSON y la solteron usar el JSON.Método unmarsal ().

A continuación, navegue por el directorio BOT y cree un bot.Archivo GO. Esto mantendrá el código fuente para el bot.

Agregue el código fuente como:

Bot de paquete
importar (
"Discord-Bot/config"
"registro"
"Github.com/bwmarrin/discordgo "
)
varbotidstring
Vargobot *Discordgo.Sesión
funcrun ()
// Crear sesión Bot
Gobot, err: = Discordgo.Nuevo ("Bot" + config.Simbólico)
Si err != nulo
registro.Fatal (err)
devolver

// hacer que el bot sea un usuario
Usuario, err: = Gobot.Usuario ("@yo")
Si err != nulo
registro.Fatal (err)
devolver

Botid = usuario.IDENTIFICACIÓN
Gobot.AddHandler (MessageHandler)
ERR = GOBOT.Abierto()
Si err != nulo
devolver


funcMessageHandler (S *Discordgo.Sesión, M *Discordgo.MessageCreate)
// Ignora todos los mensajes creados por el botón mismo
Si m.Autor.Id == botid
devolver

// Si el mensaje es "Hola", responda con "hola atrás!!"
IFM.Contenido == "HI"
_, _ = S.ChannelMessagesend (M.Channelid, "hola back")



El código anterior usa el paquete Discordgo para definir la funcionalidad del bot. Puede obtener más información en el recurso a continuación:

https: // github.com/bwmarrin/discordgo

Una vez completado, ejecute el archivo como:

ir a correr.ir

Esto debería iniciar el bot de discordia. Vaya a su servidor de discordia y escriba hola. Si el bot está funcionando correctamente, debería devolver hola.

Conclusión

Esta guía cubre cómo crear un bot de discordia usando el paquete Go y Discordgo. Este proyecto está inspirado en el ejemplo de Ping Pong en el paquete Discordgo:

https: // github.com/bwmarrin/discordgo/tree/maestro/ejemplos/pingpong