Publicar feeds RSS en Mastodon automáticamente

Veremos cómo instalar una herramienta que publicará los feeds que configuremos en nuestra cuenta de Mastoson.

Ya hace más de un año publiqué en mi blog que era eso de Mastodon. En resumen es un software para crear una red social descentralizada y de software libre. Lo que produce nodos que interactúan y crean una red social descentralizada.

Este artículo quiere ser un complemento a otros similares sobre los que he escrito en donde veíamos cómo publicar feeds de webs y blogs que nos interesen en nuestras redes sociales libres como GNUsocial o diaspora.

De esta manera podremos crear un “bot” que publique de manera automática en la cuenta que nos interese y comparta aquella información con los seguidores de estas diferentes redes sociales libres. Veamos cómo hacerlo.

Para hacerlo hay que instalar la herramienta feed2toot, en mi caso lo haré en mi Raspberry Pi con openSUSE Tumbleweed. La información de este artículo la he extraído del blog del desarrollador de la herramienta, Carl Chenet que ha distribuido la aplicación bajo una licencia libre.

Lo primero que hay que hacer es instalar la herramienta feed2toot que está escrita en Python, mediante el comando (teniendo pip instalado), así que como root ejecutaremos:

pip3 install feed2toot

Se instalarán todos los paquetes que sean necesarios. Terminado el proceso tendremos que crear un usuario específico para estas tareas, una carpeta en /etc/feed2toot y otra en /var/lib/feed2toot para ello en openSUSE ejecutaremos los siguientes comandos (para distros que no sean openSUSE los comandos varían un poco, ver el artículo original)

useradd --home /var/lib/feed2toot feed2toot
mkdir -p /etc/feed2toot/credentials /var/lib/feed2toot
chown -R feed2toot:root /etc/feed2toot /var/lib/feed2toot

Después ya como usuario normal tendremos que inicializar la configuración de la herramienta, para ello escribiremos:

register_feed2toot_app

Deberemos responder a las preguntas que nos plantea para configurar el nodo y la cuenta de Mastodon, y se nos crearán un par de documentos llamados feed2toot_usercred.txt y feed2toot_clientcred.txt en nuestra carpeta /etc/feed2toot/credentials

También he creado un archivo de texto en mi home llamado rss.txt donde tengo las direcciones url de las webs y feeds que quiero compartir

Ahora deberemos crear un archivo de configuración dentro de /etc/feed2toot llamado feed2toot.ini. El mío tiene la siguiente configuración

[mastodon]
instance_url=https://mastodon.social
user_credentials=/etc/feed2toot/credentials/feed2toot_usercred.txt
client_credentials=/etc/feed2toot/credentials/feed2toot_clientcred.txt

[cache]
cachefile=/var/lib/feed2toot/feed2toot.db

rss
uri_list=/home/victorhck/feed2toot/rss.txt
toot={title} {link}

[hashtaglist]
several_words_hashtags_list=/etc/feed2toot/hashtags.txt

Nota: el texto rss también va entre corchetes [] pero si los pongo me da un error al mostrar el código aquí en el blog, así que añádelos cuando escribas o pegues este texto en tu archivo .ini

Ahora feed2toot ya está preparado para ejecutarse. Pero antes debemos prevenir un “flood” en nuestra cuenta ya que si ejecutamos feed2toot se publicarán todos los feeds de las direcciones especificadas, lo que pueden ser muchos toots seguidos y es molesto para quienes nos siguen.

Por tanto, para prevenir eso, ejecutaremos un comando para que los feeds se guarden en la base de datos como enviados, pero no se envíen. Así sólo enviaremos las novedades de los feeds configurados. Por tanto ejecutaremos como usuario normal:

feed2toot --populate-cache -c /etc/feed2toot/feed2toot.ini

Después he añadido una tarea cron que se ejecute cada 25 minutos y que ejecuta feed2toot, así la tarea es automatizada y no requiere de intervención. Se ejecutará cada 25 minutos y si hay un nuevo artículo en los feeds configurados los publicará en Mastodon.

Para crear la tarea cron, como root ejecutas

crontab -e

Y he añadido las siguientes líneas

# Publica feeds en Mastodon
*/25 * * * * feed2toot -c /etc/feed2toot/feed2toot.ini

De momento no tengo muchos feeds, ya que lo estoy probando, pero sí he conseguido que funcione! 😉 Así que poco a poco iré añadiendo webs y blogs que me parecen interesantes para compartirlas por Mastodon y crear contenido interesante en las redes libres.

¿Te resultó interesante? Si me sigues en mi cuenta de Mastodon podrás estar al tanto de algunas páginas que quizás te resulten interesantes…

Enlaces de interés

—————————

Me gustaría saber tu opinión. Deja un comentario (Puedes usar MarkDown)

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s