Desde que monté mi nodo de Mastodon a finales de enero de este año, he estado haciendo pruebas con bots y probando un montón de cosas. Si estáis atentos a mis redes sociales, sabréis que estoy mirando de migrar este blog a Ghost porque estoy cansado de WordPress.

Necesito algo que se adapte más a mis necesidades y que sea más sencillo. Sin editores raros -Gutenberg es lo peor que tiene WordPress-, sin plugins para hacer de todo. Una de las cosas que me faltan el Ghost es poder publicar todo en redes sociales -eso se hace ahora con un plugin- y para eso estuve preparando este sencillo bot.

El bot esta programado con NodeJS y es bastante sencillo de configurar. Sólo necesitas una cuenta de Mastodon, una app con token y key y con eso ya puede empezar a publicar contenido en redes libres.

Mastobon Bot RSS es un bot que por el momento funciona con la gran mayoría de RSS, aunque por ejemplo he visto que no acaba de funcionar muy fino con Nitter. Pero ya estoy trabajando para solventar el problema.

Antes de ponerme a explicar todas las características -que tampoco son muchas- solo comentar que el código está bajo GPLv3 y que debo de dar las gracias a mi queridísima pareja por toda la ayuda que me ha dado para completar el bot (tengo dotes -pocos- de programación, pero nunca había usado NodeJS).

Configuración e instalación

La instalación es muy sencilla, nos descargamos el repositorio y luego configuramos lo siguiente:

git clone https://gitlab.com/t3rr0rz0n3/mastodon-bot-rss [NombreBot]

Dentro del directorio descargado ejecutamos:

npm install mastodon-api fs dotenv parse-rss request

Copiamos el fichero .env-sample a .env:

cp .env-sample .env

Y luego creamos una App desde la cuenta de Mastodon. Vamos a Preferencias > Desarrollo:

Le damos a Nueva Aplicación y le ponemos nombre:

Y luego si vamos a nuestra app, podremos ver los parámetros de ID de la aplicación, el Token y la Key:

Editaremos el fichero .env para añadir estos tres parámetros. Y finalmente hay que configurar el resto de parámetros:

  • API_URL: Aquí hay que poner la URL del nodo más la API (Por ejemplo: https://xarxa.cloud/api/v1/)
  • FEED: Hay que poner el RSS que va alimentar el bot.
  • DELAY: Aquí podemos configurar el tiempo que tardará en ejecutarse el script y hay que ponerlo en milisegundos. Por defecto hay 4h.
  • TMP_PATH: Directorio donde guardará las imágenes para descargar.

Finalmente también podéis configurar etiquetas para añadir en el toot o incluso añadir una imagen por defecto en caso de que tu post no tenga configurada una imagen destacada.

Y con todo esto ya lo podemos ejecutar con:

node mastodon-bot-rss.js

Además, podemos configurar que el bot se ejecuta con SystemD para que en caso de error se reinicie solo y se vuelva a ejecutar. Esa configuración la tenéis en el fichero README del repositorio.

Yo he estado dos semanas haciendo pruebas con un bot de La Marea y hasta ahora parece que todo funciona correctamente. Tengo que arreglar algunas cosas y luego añadir algún registro de logs para ver que todo funciona correctamente.

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación