Un bot de telegram que intercepta URLs de Spotify en un grupo y añade los tracks a una lista de reproducción compartida.
-
Necesitas escribir un fichero
.env
con la información relevante, como elTELEGRAM_BOT_TOKEN
o las distintas variables de Spotify. -
Se recomienda instalar un entorno virtual de Python para gestionar las dependencias del proyecto, las cuales se pueden instalar mediante:
pip install -r requirements.txt
2.1. Para añadir un paquete nuevo se debe añadir primero a
requirements.in
, posteriormente ejecutarpip-compile
Y posteriormente instalarlo de manera habitual con
pip
. -
Una vez está todo preparado se puede ejecutar el bot en local
python3 bot.py --local
Para que el bot funcione adecuadamente se necesita tener un entorno cloud, en este caso la version gratuita de Heroku ofrece todo lo necesario.
Es necesario configurar de nuevo las variables de entorno que se usan en local y NO ESTÁN bajo control de versiones por motivos de seguridad mediante las herramientas que ofrece Heroku, tanto por CLI como por interfaz web.
Son scripts que se ejecutan cuando se realiza el despliegue de la aplicación, para este proyecto se han utilizado:
- https://github.com/heroku/heroku-buildpack-chromedriver
- https://github.com/heroku/heroku-buildpack-google-chrome
Son necesarios para el testeo automático de Selenium a la hora de obtener el token OAuth2 de Spotify.
Hay un addon instalado que realiza ping 2 veces cada minuto para mantener viva la instancia del bot, es totalmente opcional pero en caso de que la instancia se encuentre apagada tardará unos segundos más en responder.
Se ha instalado el plugin heroku-repo para reiniciar el desarrollo y que el código se pueda publicar en GitHub.
Para una lista de las tareas pendientes, consultar https://github.com/javisenberg/spoti-bot/projects/1 y https://github.com/javisenberg/spoti-bot/issues/.