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
- https://carlchenet.com/get-your-rss-feeds-to-mastodon-with-the-feed2toot-bot/
- https://feed2toot.readthedocs.io/en/latest/
- https://gitlab.com/chaica/feed2toot
—————————
muchas gracias victorhck
por favor, qué formato tienen las etiquetas que metas en «/etc/feed2toot/hashtags.txt»? es una lista de palabras separadas por comas, espacios, una palabra por línea… Gracias!
Hola.
No recuerdo haber utilizado esta opción de las etiquetas. Pero por lo que dice en su documentación oficial es una etiqueta por línea:
https://feed2toot.readthedocs.io/en/latest/configure.html#example-of-the-list-of-hash-tags
Espero que te sirva de ayuda a tu pregunta!
Y gracias por pasarte por el blog!! 🙂
👏 😃 gracias!
de nada!! 🙂 y ya me dirás si lo conseguiste… y cómo! 🙂
Saludos.