En los últimos años ha habido un auge de programas de chat de vídeo o voz; además de poder chatear ya sea por video o por voz, muchos de estos programas permiten personalizar los chats a través de programas automatizados o bots. EN este caso, vamos a tratar sobre un programa de chat de video y voz muy común en la comunidad de los videojuegos. Se trata de discord; un programa que permite crear servidores con distintas salas donde poder conversar por voz.
En este artículo, vamos a mostrar un tutorial de como crear y configurar un bot para este programa de chat.En este caso, aunque existen posibilidad de usar distintos lenguajes de programación, en este artículo, vamos a utilizar el lenguaje de programación Python.
En primer lugar, vamos a ver que necesitaremos para poder crear nuestro bot; y es que necesitaremos registrar nuestra aplicación en Discord. Obviamente, necesitaremos registrarnos en la aplicación y tener una cuenta para poder registrar esta aplicación; una vez tenemos la cuenta, registraremos una nueva aplicación en la siguiente dirección:
https://discordapp.com/developers/applications/
En esta dirección, tendremos que añadir una nueva aplicación rellenando el formulario que nos aparece con el nombre, descripción e incluso un icono para el bot que vamos a realizar.
Una vez creada nuestra aplicación es necesario copiar el token que encontraremos en la pantalla de descripción de nuestra aplicación; en la parte de los permisos que explicaremos más adelante. Por supuesto, vamos que los permisos que podemos establecer es si nuestro bot es publico o es privado; de forma que cualquier persona puede utilizarlo, o tenemos que añadirlo a un servidor privado.
Vemos en la captura anterior, un enlace que pulsaremos para obtener el token necesario para conectarnos con el bot. Esta cadena la guardaremos y por supuesto será secreta (no subir a un repositorio publico como Github, etc…). Tras guardar este token, vamos a pasar a la programación de nuestro bot.
En primer lugar, necesitaremos tener instalado Python 3.4 o superior. Desde BooleanBite recomendamos instalar Anaconda para tener una mejor gestión de los entornos.
Tras tener preparado nuestro entorno python, vamos a ver que librería vamos a utilizar para poder conectarnos a discord. Esta librería, se llama discord.py y permite crear bots de manera sencilla para conectarnos a discord ya sea por chat de texto, o como chat de voz pudiendo mandar audio a estos canales de voz. Para instalar esta librería utilizaremos pip para instalarla.
$ pip install discord.py
En el caso anterior, solo se instalara las librerías de conexión y chat de texto. SI por un casual necesitáramos las librerías necesarias para usar chat de voz añadiremos la opción [voice]. Además será necesario instalar en nuestro sistema Operativo la librería OpusLib. Aquí dejamos la instalación de estas librerías en el siguiente enlace.
Con las librerías ya instalada vamos a crear nuestro bot con el siguiente código.
import discord client = discord.Client() token= @client.event async def on_message(message): if(message.author == client.user): return if message.content.startswith('!cueh'): msg = 'Cueh para ti, {0.author.mention}'.format(message) await client.send_message(message.channel, msg, tts=True) @client.event async def on_ready(): print("Cueh v{} ready".format(settings.version)) client.run(token) |
Como vemos en el código anterior, necesitaremos el token que hemos registrado anteriormente, que pondremos en la correspondiente variable. recomendamos encarecidamente que en el token no se añada a un repositorio Git o se publique. El código anterior, vemos que cuando se reciba un mensaje que comience con «!cueh» el bot responderá saludando al usuario.
Antes de poder ejecutar el bot, necesitará ser añadido a un servidor; para ello volvemos a la web de discord y en los permisos pulsar en la generación de una URL con los permisos necesarios para el Bot(es importante poner los permisos correctos).
Seguidamente dejamos un enlace a un repositorio con dos bots de prueba; realizados por un servidor.
habla todo bien