Twitch Bot para enviar mensajes relacionados con un canal de Twitch. Contiene una serie de comandos preintegrados que son configurables.
Para utilizar este bot, necesitaras tener instalado Twitchio y tener un token de conexión oauth con Twitch.
Necesitarás crear 3 variables de entorno TOKEN, CLIENT_ID y CHANNELS para guardar el Token, el CLIENT_ID y el nombre del canal.
NOTA: Puedes crear un fichero .env para crear las variables de entorno.
No olvides que para instalar las dependencia de twitchio, puedes usar la siguiente instrucción:
pip install twitchioO puedes usar pipenv para instalar y ejecutar el bot.
pipenv installUna vez creadas las variables e instaladas la dependencias, podemos ejecutar el Bot.
python twitchbot.pyEn caso de utilizar pipenv, puedes utilizar un fichero .env para guardar las variables.
pipenv run startbotSe ha añadido un fichero Dockerfile para poder crear un contenedor con el Bot; para construir la imagen:
docker build -t mkgtwitchbot .docker run --rm --env TOKE=<yourtoken> --env CLIENT_ID=<clientid> --env CHANNELS=<yourchannel> mkgtwitchbotÓ Puedes usar un fichero .env
docker run --rm --env-file=.env mkgtwitchbotTodos los comandos empiezan por el prefijo !. Los comandos disponibles son:
- horario
- redes
- discord
- especial
- web
Muestra el horario actual de los Streams. Es un mensaje fijo (revisa el fichero python para más información).
Muestra la lista de redes sociales; esta información se obtiene de un fichero json llamado redes.json; tiene la siguiente estructura:
{
"twitter": "<direccion twitter/x>",
"Bsky":"<Dirección Bluesky>",
"mastodon": "<Dirección Mastodon>",
"discord": "<Dirección Discord>"
}En cada propiedad poner la dirección que corresponda.
Muestra un mensaje con la dirección de la invitación a la comunidad de discord. La información se obtiene del fichero redes.json.
Este comando muestra el mensaje del siguiente Stream especial. Obtiene la información de un fichero llamado especial.json; que tiene la siguient estructura:
{
"fecha": "28-Nov",
"tema": "Beatem'Up (SoR, Golden Axe, TMNT, etc.)"
}Donde:
- fecha: Indica la fecha del siguiente Stream especial.
- tema: Indica la descripción de la temática del siguiente Stream especial.
Muestra información sobre una web del canal. Obtiene los datos desde el fichero redes.json.