https://github.com/javi-aranda/spoti-bot
Bot de Telegram para crawlear enlaces de spotify y crear una playlist colaborativa
https://github.com/javi-aranda/spoti-bot
bot python spotify telegram
Last synced: 9 months ago
JSON representation
Bot de Telegram para crawlear enlaces de spotify y crear una playlist colaborativa
- Host: GitHub
- URL: https://github.com/javi-aranda/spoti-bot
- Owner: javi-aranda
- Created: 2021-02-24T18:42:59.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-05-22T16:32:35.000Z (about 4 years ago)
- Last Synced: 2025-05-30T01:19:03.772Z (about 1 year ago)
- Topics: bot, python, spotify, telegram
- Language: Python
- Homepage:
- Size: 31.2 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Spoti-bot
## Qué es
Un bot de telegram que intercepta URLs de Spotify en un grupo y añade los tracks a una lista de reproducción compartida.
## Cómo funciona
1. Necesitas escribir un fichero `.env` con la información relevante,
como el `TELEGRAM_BOT_TOKEN` o las distintas variables de Spotify.
2. 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 ejecutar
```
pip-compile
```
Y posteriormente instalarlo de manera habitual con `pip`.
3. Una vez está todo preparado se puede ejecutar el bot en local
```
python3 bot.py --local
```
## Deploy en Heroku
Para que el bot funcione adecuadamente se necesita tener un entorno cloud, en este caso la version gratuita de Heroku ofrece todo lo necesario.
### Variables de entorno
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](https://devcenter.heroku.com/articles/config-vars),
tanto por CLI como por interfaz web.
### Buildpacks
Son scripts que se ejecutan cuando se realiza el despliegue de
la aplicación, para este proyecto se han utilizado:
1. https://github.com/heroku/heroku-buildpack-chromedriver
2. 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.
### Aplicaciones extenas
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.
1. https://elements.heroku.com/addons/newrelic
### Plugins
Se ha instalado el plugin heroku-repo para reiniciar el desarrollo
y que el código se pueda publicar en GitHub.
## TODO's
Para una lista de las tareas pendientes, consultar https://github.com/javisenberg/spoti-bot/projects/1 y https://github.com/javisenberg/spoti-bot/issues/.