Cómo crear un bot para Mastodon: guía completa y actualizada paso a paso

  • El proceso de crear bots en Mastodon abarca desde Bash y Python hasta NodeJS y Java
  • El uso de librerías especializadas simplifica la interacción con la API de Mastodon
  • La automatización con cron y buenas prácticas para manejar tokens y permisos refuerzan la seguridad y eficiencia
  • Existen múltiples proyectos y herramientas open source adaptables a distintos fines y niveles de complejidad

Cómo crear un bot para Mastodon

Mastodon ha irrumpido en la escena de las redes sociales como una alternativa libre, descentralizada y abierta. Muchos usuarios interesados en la automatización, el fediverso o el desarrollo buscan cómo crear su propio bot para Mastodon, ya sea para publicar automáticamente desde un RSS, crear proyectos personalizados en Python, Java, NodeJS o Bash, o simplemente para experimentar programando y expandiendo sus conocimientos.

Si has llegado hasta aquí buscando la manera más completa, detallada y clara de crear un bot para Mastodon, este artículo es para ti. Hemos analizado en profundidad las mejores guías, tutoriales y casos prácticos disponibles en internet (tanto en español como en inglés) y las hemos unificado, estructurado y enriquecido para ofrecerte una experiencia de aprendizaje única, independientemente de tu nivel de conocimientos previos o de la tecnología que prefieras.

¿Por qué elegir Mastodon y qué posibilidades ofrecen sus bots?

Mastodon es una red social basada en el microblogging que se sitúa como alternativa directa a Twitter, pero con una filosofía marcadamente diferente: prioriza la descentralización y el control del usuario. Cada instancia de Mastodon opera bajo sus propias normas, pero todas pueden comunicarse entre sí gracias al protocolo ActivityPub. Este ecosistema forma parte del llamado fedi-verso, donde tus bots pueden tener un impacto transversal y comunicarse con otras redes compatibles.

Crear bots en Mastodon permite desde automatizar publicaciones (como nuevos artículos de un blog), realizar seguimientos de noticias, publicar imágenes, controlar menciones, responder a interacciones —siempre con buenas prácticas y respeto a las normas de cada instancia—, hasta experimentar con proyectos educativos o de interés personal: las posibilidades son prácticamente infinitas.

Paso previo: Crear una cuenta de bot en Mastodon

Antes de empezar a programar, necesitas una cuenta que represente a tu bot. No hay limitaciones técnicas: cualquier cuenta puede actuar como bot. Sin embargo, es recomendable:

  • Escoger una instancia adecuada, robusta y amigable con los bots (por ejemplo, botsin.space está especialmente pensada para ellos).
  • Marcar tu cuenta como «bot» desde la configuración para seguir las buenas prácticas de transparencia.
  • Personalizar el perfil de tu bot: avatar, descripción y datos de contacto.

Obtener acceso a la API: crear una aplicación autorizada y el token

Cualquier bot que interactúe automáticamente con Mastodon lo hace a través de la API de la plataforma. Para utilizarla, es imprescindible crear una aplicación autorizada y obtener su token de acceso. El procedimiento general es:

  1. Entra en tu cuenta de Mastodon (la que será el bot).
  2. Ve a «Preferencias» → «Desarrollo» → «Nueva Aplicación».
  3. Asigna un nombre a la aplicación (por ejemplo, «MiBotMastodon»).
  4. Selecciona los permisos adecuados, normalmente «Read» (leer) y «Write» (escribir), aunque puedes ajustar más uno u otro según el objetivo de tu bot.
  5. Guarda y copia el token de acceso (Access Token) que aparecerá; guárdalo en un sitio seguro y nunca lo compartas en lugares públicos, ya que permite publicar en nombre de tu bot.

Con tu token y la URL base de tu instancia (api_base_url, por ejemplo: https://mastodon.social/), ya puedes ponerte manos a la obra para automatizar con el lenguaje de programación que prefieras.

Automatizar con Bash y curl: lo más simple y rápido

Para quienes buscan soluciones minimalistas o quieren hacer pruebas rápidas (ideal para Linuxeros), Bash combinado con la herramienta curl permite publicar toots (mensajes) o imágenes con pocas líneas de terminal:

  • Envía un toot solo texto:
curl -F "status=Enviando un toot desde mi terminal" -sS https://mastodon.social/api/v1/statuses --header "Authorization: Bearer TU_TOKEN"
  • Como script reutilizable con variables:
TOKEN=tu_token
MENSAJE="Tu mensaje aquí"
curl -X POST -Ss https://mastodon.social/api/v1/statuses \
--header "Authorization: Bearer ${TOKEN}" \
-d "status=${MENSAJE}"
  • Publicar imágenes (hasta 4 por toot):
curl -F 'media=@/ruta/a/imagen.jpg' https://mastodon.social/api/v1/media --header "Authorization: Bearer TU_TOKEN"

Una vez obtenida la ID del media devuelta por Mastodon, se puede añadir a un nuevo toot mediante el parámetro media_ids. Es una opción excelente si buscas scripts sencillos o integración con otras herramientas de automatización tipo cron.

Automatizar con Python: potencia y flexibilidad

Python es, sin duda, el lenguaje más popular para crear bots en Mastodon dada la gran cantidad de recursos, librerías, ejemplos y la facilidad para programar tareas repetitivas. La librería más utilizada es Mastodon.py, que encapsula toda la interacción con la API y simplifica la autenticación, publicación y lectura de mensajes.

Instalación de la librería

pip3 install Mastodon.py

Ejemplo básico para publicar desde Python

from mastodon import Mastodon

mastodon = Mastodon(
    access_token='TU_TOKEN',
    api_base_url='https://mastodon.social/'
)
mastodon.status_post('Mensaje desde mi Bot en Python')

Reemplaza ‘TU_TOKEN’ y la URL por los datos de tu instancia.

Publicar imágenes desde Python

media = mastodon.media_post("/ruta/a/tu/imagen.png")
mastodon.status_post("Publicando imagen", media_ids=media)

Esto es ideal para crear bots que publiquen no solo texto sino también imágenes de manera sencilla y eficiente.

Respuestas automáticas y automatización avanzada

Con Mastodon.py es fácil implementar respuestas automáticas, leer tu propio timeline, o reaccionar a menciones. Por ejemplo, puedes hacer que tu bot monitorice menciones y, si recibe una concreta, responda automáticamente, siempre bajo buenas prácticas y evitando el spam.

Automatizar publicaciones desde RSS con Python

Una de las aplicaciones prácticas más populares consiste en leer el feed RSS de un blog y publicar automáticamente nuevas entradas o artículos seleccionados aleatoriamente. Integrando feedparser y Mastodon.py puedes lograrlo así:

import feedparser, random
from mastodon import Mastodon

mastodon = Mastodon(
    access_token='TU_TOKEN',
    api_base_url='https://mastodon.social/'
)
feed = 'https://tublog.com/feed.xml'
d = feedparser.parse(feed)
feedlen = len(d['entries'])
num = random.randint(0, feedlen - 1)
articulo = d['entries'][num]['title'] + '\n' + d['entries'][num]['link']
mastodon.status_post(articulo)

Automatizando este script con cron puedes conseguir que tu bot publique inteligentemente según el calendario que prefieras.

NodeJS: la alternativa para entornos JavaScript y bots orientados a RSS

Si eres aficionado a NodeJS o el ecosistema JavaScript, también existen proyectos listos para usar y modificar, como Mastodon Bot RSS.

Estas herramientas permiten automatizar la publicación de entradas de cualquier RSS en tu cuenta de Mastodon, y suelen emplear tecnologías como dotenv para la gestión de tokens, fs para manejo de archivos, y request o mastodon-api para la conexión.

  • Clona el repositorio e instala las dependencias:
git clone https://gitlab.com/t3rr0rz0n3/mastodon-bot-rss
cd mastodon-bot-rss
npm install mastodon-api fs dotenv parse-rss request
  • Copia el archivo de configuración e introduce tus datos de instancia, token, feeds RSS, tiempos y parámetros adicionales en el .env.
  • Ejecuta el bot con NodeJS:
node mastodon-bot-rss.js

Ventajas de estos proyectos: código abierto, fácil de personalizar, soporte para imágenes, logs y tags personalizados. Además, puedes ejecutar el script como servicio con SystemD para asegurar que siempre esté en funcionamiento.

Automatización avanzada con Feed2Toot: la vía simple y robusta para RSS en GNU/Linux

Feed2Toot es una de las soluciones líderes si buscas publicar automáticamente todos o parte de los mensajes de un feed RSS en tu cuenta de Mastodon (o varias al mismo tiempo). Es perfecta para quienes gestionan contenido en blogs, sitios de noticias o proyectos informativos.

Pasos básicos para desplegar Feed2Toot

  1. Instala Feed2Toot en tu sistema (requiere Python3 y pip):
    pip3 install feed2toot
  2. Inicializa la aplicación y vincula tu cuenta:
    register_feed2toot_app
  3. Crea los archivos de configuración con tus feeds, hashtags y credenciales (direcciones proporcionadas en los pasos anteriores).
  4. Ejecuta el comando para poblar la caché y que no publique todo de golpe:
    feed2toot --populate-cache -c /etc/feed2toot/feed2toot.ini
  5. Automatiza la ejecución con crontab para que Feed2Toot publique solo contenido nuevo:
*/30 * * * * feed2toot -c /etc/feed2toot/feed2toot.ini

Permite añadir hashtags automáticos, configurar caché para evitar repeticiones y publicar solo novedades. Opción más robusta y sin programación si solo necesitas RSS.

Java y Mastodon4j: soluciones para desarrollo estructurado y bots avanzados

El ecosistema Java también ha consolidado su propia librería, Mastodon4j, orientada a proyectos donde se requiera escalabilidad, integración en sistemas grandes, o desplegar bots en entornos empresariales.

El proceso sigue estos pasos:

  1. Crea tu proyecto Maven y añade la dependencia Mastodon4j en el pom.xml.
  2. Prepara la estructura de carpetas Java convencional.
  3. Crea una clase que inicialice MastodonClient con tu token y la url de la instancia.
  4. Utiliza la clase Status para enviar publicaciones (toots), adjuntar imágenes, y programar respuestas.
  5. Gestión de errores y timeout: incluye funciones para reintentar publicaciones si falla la conexión.
  6. Automatización y ejecución periódica desde cron (Linux) o el programador de tareas de Windows (Task Scheduler), ideal para bots que necesiten estar activos a horarios concretos sin intervención manual.

Java permite también llevar el control de menciones, hashtags, análisis del timeline, y realizar respuestas automáticas sofisticadas. La gestión segura del token se recomienda vía variables de entorno o archivos locales fuera de control de versiones (importante: nunca subas tu token a GitHub).

Mejores prácticas, consejos de seguridad y buenas formas de usar bots Mastodon

  • Cuida tus credenciales: Nunca publiques tu token en repositorios públicos ni lo compartas por error. Usa variables de entorno, archivos opinables en .gitignore o gestores de secretos.
  • Respeta las reglas de cada instancia: Algunas prohíben bots sin consentimiento o limitan sus interacciones. Sobre todo, no interactúes con usuarios ajenos sin su permiso; contesta solo a quienes mencionan explícitamente al bot o siguen la cuenta de este.
  • No hagas spam: Piensa en el valor que aporta tu bot y limita la frecuencia de publicaciones para no inundar timelines ajenos.
  • Automatización responsable: Añade logs y controles de errores, gestiona adecuadamente los límites de caracteres por toot (generalmente 500, salvo que la instancia indique otra cosa), y asegúrate de dividir mensajes largos.
  • Licencia y código abierto: Muchos proyectos (como Mastodon-bot-RSS o Feed2Toot) son open source y admiten contribuciones, bifurcaciones y uso libre. Respeta las licencias y considera compartir tus mejoras.

Casos prácticos e inspiración: bots famosos y ejemplos reales

Entre los ejemplos más interesantes analizados destacan:

  • NFLscores Mastodon Bot: un bot que recopila y publica marcadores en directo de la NFL usando la API de ESPN, configurable por fichero y cron, lanzado íntegramente en Python. El código, documentación y detalles de instalación están en noroute2host.com.
  • Feed2Toot: solución ideal para medios, blogs y sites corporativos que deseen volcar automáticamente noticias en su perfil de Mastodon vía RSS, con mucha flexibilidad para configuraciones multi-feed y filtrado por hashtags.
  • Proyectos en NodeJS: mastodon-bot-rss y similares, perfectos para quienes manejan JavaScript y quieren scripts expandibles o plugins de Ghost/Gatsby.

Los bots en Mastodon facilitan el aprendizaje, el intercambio de información y la exploración del fediverso. Con las librerías, proyectos open source y los consejos aquí recogidos, cualquier usuario puede tener un bot funcionando en pocas horas y adaptarlo a sus necesidades específicas.

Deja un comentario