- 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
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:
- Entra en tu cuenta de Mastodon (la que será el bot).
- Ve a «Preferencias» → «Desarrollo» → «Nueva Aplicación».
- Asigna un nombre a la aplicación (por ejemplo, «MiBotMastodon»).
- 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.
- 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
- Instala Feed2Toot en tu sistema (requiere Python3 y pip):
pip3 install feed2toot
- Inicializa la aplicación y vincula tu cuenta:
register_feed2toot_app
- Crea los archivos de configuración con tus feeds, hashtags y credenciales (direcciones proporcionadas en los pasos anteriores).
- Ejecuta el comando para poblar la caché y que no publique todo de golpe:
feed2toot --populate-cache -c /etc/feed2toot/feed2toot.ini
- 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:
- Crea tu proyecto Maven y añade la dependencia Mastodon4j en el pom.xml.
- Prepara la estructura de carpetas Java convencional.
- Crea una clase que inicialice MastodonClient con tu token y la url de la instancia.
- Utiliza la clase Status para enviar publicaciones (toots), adjuntar imágenes, y programar respuestas.
- Gestión de errores y timeout: incluye funciones para reintentar publicaciones si falla la conexión.
- 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.

Expertos en software, desarrollo y aplicación en industria y hogar. Nos encanta sacar todo el potencial de cualquier software, programa, app, herramienta y sistema operativo del mercado.
