📦 Migrando a quién sigues en Mastodon

Hace poco descubrí el servicio omg.lol, y me pareció increíblemente sencillo, barato, e interesante. Y una de las cosas que me niego a autoalojar en mi servidor en un servidor de Mastodon.

¿Por qué? Porque, como su nombre indica, es un mastodonte que requiere varios servicios adicionales (PostgreSQL, Redis, ElasticSearch, configurar Sidekiq...) que no quiero montar ni gestionar. Y, aunque he probado servicios más ligeros como GoToSocial, no termina de ser 100 % compatible con Mastodon.

El propósito de este artículo no es hablar sobre servidores de microblogging compatibles con ActivityPub, sino echaros un cable por si, en vuestra próxima migración de instancia de Mastodon, os falla la importación de gente que seguís, como me ha pasado a mi por todo lo alto.

Mastodon fallando como una escopeta de feria a la hora de importar seguidos

No tengo ni la más remota idea del porqué ha ocurrido, y no me apetecía volver a seguir a más de 100 cuentas a mano. Así que he pensado que habría alguna manera de automatizarlo. Al final, ActivityPub no es más que una API.

⚠️ AVISO Esta guía sólo servirá para aquellas de vosotras que uséis Linux o, con suerte, Mac.

Tooteando desde línea de comandos

Me topé hace tiempo con la utilidad toot, una herramienta de línea de comandos para interactuar con Mastodon, y uno de sus comandos es, precisamente, follow. A este comando le indicas la cuenta que quieres seguir, envía la petición a la API de tu servidor de Mastodon, et voilà, empiezas a seguir al usuario.

Sabiendo esto, lo único que tenemos que hacer es ir a las opciones de nuestro perfil, a la sección «Importar y exportar» y, en la página de «Exportar información», descargar el fichero CSV correspondiente a la gente que «Sigue».

Captura de la página para exportar datos de Mastodon

Una vez descargado el CSV, vamos al directorio donde se encuentre, y ejecutamos este chorro de comando:

while read LINE; do user="${LINE%%,*}"; toot follow "${user}"; done < following_accounts.csv

Traducción del anterior comando: lee cada línea del fichero following_accounts.csv, y escoge el nombre de usuario de cada línea para ejecutar toot follow "${usuarioQueToque}".

Puede que veas errores (la primera línea lo será, porque coge las cabeceras del fichero CSV), pero el resto pueden ser cuentas eliminadas, servidores que ya no existen, etc.

Una vez termine (dependiendo de a cuánta gente seguíais, podría tardar más o menos), ya deberíais volver a estar siguiendo a toda la gente que seguíais en la anterior cuenta.


Sigue este blog desde el feed RSS, o envía tus comentarios a mi cuenta en Mastodon.