Bot-Project-366

Published on
4 minutos

Hacía bastante tiempo que llevaba pensando en hacer el project 365 (en este caso project 366) y este año va ser cuando lo haga ¿No sabéis qué es?

El Project 365 (366), es básicamente recomendar una canción en alguna de tus redes sociales cada día de un año completo. A la primera persona que se lo vi hacer en Twitter fue a Juanjo Brizuela (#UnDíaUnaCanción fue el hashtag que utilizó), me pareció interesante y a la vez complicado de hacer ya que se necesita mucha constancia y es complicado no fallar ningún día. Este año estoy decidido a completar el reto y compartir 366 canciones de Spotify en mi cuenta de Twitter.

A nada que hayáis seguido un poco mi blog, ya sabréis que me gusta desarrollar proyectos en mi tiempo libre y últimamente sobretodo bots. Después del bot de Málaga y de los auto-tweets en modo ráfaga tenía ganas de hacer algo un poco diferente y el project 366 me pareció la excusa perfecta.

Lo primero que pensé fue crear un bot que compartiera una canción de mis listas de Spotify cada día. Consultando la API de Spotify, vi que tienen un endpoint para hacer recomendaciones en base a 'seeds'. Básicamente tu puedes seleccionar seeds o semillas como son **artistas, géneros musicales o tracks **y la API de Spotify te devolverá uno o más tracks con muchas posibilidades que sean de tu gusto (Como máximo puedes combinar cinco seeds)

Image

Fijé en los seeds cuatro de los grupos que más he escuchado en 2019 y el último de los parámetros lo usé para usar el género musical de la recomendación. De esta forma, una vez al día (20:00h) el bot hará una llamada a la API y obtendrá una canción a priori de mi gusto y la compartirá en mi cuenta de Twitter de forma automática junto con el nombre del artista, canción y algún hashtag.

Después de hacer bastantes pruebas, vi que a veces la API de recomendaciones devolvía grupos que no estaban entre mis seeds de inicio, no dejaba de ser lógico pero en la siguiente petición no lo tenía en cuenta y volvía a partir de los seeds fijados desde el inicio. Esto no estaba mal, pero pensé en darle una vuelta de tuerca más.

Cambié un poco el script, para que cada vez que la recomendación fuera de un grupo diferente a las seeds del último tweet, se incluyera para la siguiente (quitando uno de los existentes) y de esta forma, hacer unos 'seeds' dinámicos en base a la propias recomendaciones. Al hacer esto, los grupos van a ir cambiando poco a poco según vayan pasando los días.

Para finalizar, **añadí **un pequeño archivo con el histórico de las canciones y grupos que se van compartiendo, para ver cómo ha van variando y verlo dentro de unos meses. Por el momento después de siete días ya se han añadido dos seeds nuevos: G-Eazy y A Booggie Wit da Hoodie. (En la vida los había escuchado)

  • thumbnail-image

En cuanto a la parte técnica del bot, es un script en PHP que se llama desde el servidor con un cron y guarda en un pequeño fichero el histórico de canciones. Para trabajar con la **API de Spotify **hay que crear una aplicación de desarrollador previamente en su portal. Al crearla nos generará una serie de claves necesarias para pedir un **TOKEN **válido que usaremos en las peticiones a su API, su funcionamiento es similar al de la API de Twitter y a otras muchas.

Con la 'ayuda' del bot, espero compartir al menos 366 canción durante 2020, confiando en que la API de Spotify recomiende correctamente teniendo en cuenta los seeds que a su vez variarán de manera automática siempre y cuando no reviente el server en el camino...

Pase lo que pase, dentro de unos meses, veremos la evolución de los seeds y si estamos recomendando a Leticia Sabater o a quién. Si te ha parecido interesante, comparte, si tienes algo que decirme escríbeme un comentario y te contestaré lo antes posible, si te flipan los bots, bienvenido al club.

¡Saludos!