Automatiza Telegram con Telethon y n8n: Laboratorio paso a paso (Guía completa sin bot)

n8n-telethon

¿Quieres enviar mensajes automáticos a grupos y canales de Telegram desde n8n y Python, sin pedir permiso y sin crear bots? Aquí tienes la guía definitiva para montar tu laboratorio de automatización, desde cero y con buenas prácticas, lista para importar a tu stack de trabajo o aprendizaje.

Esta guía continúa la serie iniciada en Guía completa de n8n: Automatización para humanos, el artículo más leído del blog.


Índice

  1. ¿Por qué esta guía NO necesita bots ni permisos especiales?
  2. Cómo obtener tu API ID y API Hash de Telegram
  3. Preparar tu entorno: carpeta y entorno virtual limpio
  4. Instalar Telethon en el entorno virtual
  5. Sacar los IDs de tus grupos, canales y chats con Telethon
  6. Script para enviar mensajes a Telegram con Telethon
  7. Integración con n8n: workflow listo para importar y explicación detallada de cada paso
  8. Personaliza el trigger: tu propio RSS o cualquier fuente
  9. Ética, buenas prácticas y cómo evitar baneos
  10. ¿Y ahora qué? Próximos pasos, referencias y disclaimer

¿Por qué esta guía NO necesita bots ni permisos especiales?

Olvídate del BotFather, de pedir permisos a admins o de que te bloqueen por meter bots en grupos. En esta guía:

  • No necesitas crear un bot en Telegram ni usar el BotFather.
  • No necesitas pedir permiso a los administradores para añadir bots a los grupos o canales.
  • No dependes de las limitaciones de los bots (como no poder escribir en grupos privados o canales sin ser admin).
  • Automatizas usando tu propia cuenta de Telegram (la de persona), exactamente igual que si escribieras tú mismo, pero desde código.

Esto es posible porque Telethon trabaja con la API de usuario de Telegram, no con la de bots. Así puedes enviar mensajes a cualquier grupo, canal o chat donde tu cuenta esté presente, sin restricciones extra.


Cómo obtener tu API ID y API Hash de Telegram

  1. Accede a https://my.telegram.org/ e inicia sesión con tu número de teléfono de Telegram.
  2. Haz clic en API development tools.
  3. Rellena el formulario (nombre de la app, URL, etc.).
  4. Al enviar, verás tu API ID y API Hash. Guárdalos en un lugar seguro.

¡Ojo! Estos datos son personales y permiten controlar tu cuenta desde código, no los compartas.


Preparar tu entorno: carpeta y entorno virtual limpio

  1. Crea una carpeta para tu laboratorio: mkdir ~/telethon-lab cd ~/telethon-lab
  2. Crea un entorno virtual para aislar dependencias: python3 -m venv .venv source .venv/bin/activate Así todo lo que instales quedará limpio y separado del resto del sistema.
  3. Consejo: Cuando escribas scripts, usa la línea shebang para apuntar a tu entorno virtual, por ejemplo: #!/home/tu_usuario/telethon-lab/.venv/bin/python Esto garantiza que el script siempre use el entorno correcto, incluso si lo llamas desde n8n o SSH.

Instalar Telethon en el entorno virtual

  1. Instala Telethon: pip install telethon
  2. Comprueba la instalación: python -c "import telethon; print(telethon.__version__)"

Ya tienes todo listo para empezar a trabajar con la API de Telegram desde Python, de forma limpia y aislada.


Sacar los IDs de tus grupos, canales y chats con Telethon

Para automatizar mensajes necesitas saber los IDs de tus grupos, canales o chats. Usa este script ya preparado:

  • Descarga el script: sacar_ids_telethon.py
  • Rellena tus credenciales: Edita el script y pon tu api_id y api_hash.
  • Ejecuta el script: python sacar_ids_telethon.py

El script mostrará una lista con el nombre, el ID y el tipo de cada grupo, canal, chat individual y bot.
Guarda los IDs que vayas a usar después para enviar mensajes.


Script para enviar mensajes a Telegram con Telethon

Ahora que tienes los IDs, puedes enviar mensajes automáticos fácilmente.

  • Descarga el script: enviar_telegram_telethon.py
  • Edita el script: Añade tu api_id y api_hash igual que antes.
  • Haz un pwd para saber la ruta absoluta de tu carpeta: pwd Esta ruta será útil para configurar el nodo SSH en n8n después.
  • Ejecuta el script para probar: python enviar_telegram_telethon.py <ID_DESTINO> "Tu mensaje de prueba" Ejemplo: python enviar_telegram_telethon.py -1001234567890 "¡Hola Telegram!"

Consejo: Si usas la línea shebang correcta al principio del script, podrás ejecutarlo directamente con ./enviar_telegram_telethon.py ... desde cualquier sitio.


Integración con n8n: workflow listo para importar y explicación detallada de cada paso

Ahora que tu servidor está listo, vamos a automatizar el envío de mensajes desde n8n usando el workflow preparado. Aquí tienes todos los pasos y detalles para que funcione a la primera:

  1. Descarga el workflow: spammer rss telegram n8n.json
  2. Importa el workflow en tu instancia de n8n.
  3. Configura el nodo SSH:
    • Apunta el nodo SSH al servidor donde tienes Telethon y tus scripts.
    • Usa la ruta absoluta de la carpeta (la que obtuviste con pwd).
    • Asegúrate de que el usuario tiene permisos para ejecutar los scripts y acceder al entorno virtual.
    • Pon las credenciales SSH correctas en n8n.
  4. Edita el nodo Edit Fields para definir los destinatarios y el contenido:
    • Introduce los IDs de los canales, grupos o usuarios a los que quieras enviar mensajes en formato JSON, por ejemplo: { "canales": [ "-816150585", "-4603578280" ], "link": "{{ $json.link }}" }
      • canales: Lista de IDs (pueden ser de grupos, canales o usuarios; los obtuviste con el script anterior).
      • link: El enlace al contenido que quieres enviar. Si usas el trigger de RSS, puedes dejarlo como {{ $json.link }} para que se rellene automáticamente con el enlace del feed.
    • Puedes añadir más campos si tu script de envío lo soporta (ejemplo: título, resumen, imagen, etc.).
  5. Revisa el resto de nodos del workflow:
    • El nodo SSH ejecuta el script de envío en tu servidor, pasando los datos que has definido en el nodo anterior.
    • El nodo Edit Fields te permite adaptar fácilmente los destinatarios y el mensaje sin tocar el código.
    • El nodo RSS Feed actúa como disparador, pero puedes cambiarlo por cualquier otro trigger (HTTP, Webhook, Email, etc.).

¿Qué ocurre en cada paso del workflow?

  1. Trigger (RSS Feed): Detecta un nuevo artículo o entrada en el feed que hayas configurado.
  2. Edit Fields: Prepara el JSON con los IDs de los destinatarios y el enlace (u otros datos). Aquí defines a quién y qué se va a enviar.
  3. SSH: Conecta a tu servidor y ejecuta el script de Python, pasándole los datos del paso anterior. El script se encarga de enviar el mensaje a cada ID usando Telethon.

¡Listo! Cada vez que se dispare el workflow, n8n ejecutará el script en tu servidor y enviará el mensaje a todos los destinatarios que hayas puesto en el JSON.


Personaliza el trigger: tu propio RSS o cualquier fuente

El nodo trigger del workflow es un RSS Feed que, por defecto, apunta a eldiarioia.es. Pero aquí está lo divertido:

  • Puedes cambiar el feed por el de tu blog, tu web, o cualquier fuente RSS que quieras automatizar.
  • Incluso puedes sustituir el trigger por otro nodo: HTTP, Webhook, Email, etc. ¡La creatividad es el límite!
  • El workflow está pensado para ser modular: cambia el trigger y el destino según tus necesidades.

Ética, buenas prácticas y cómo evitar baneos

Automatizar Telegram es potente, pero con gran poder viene gran responsabilidad. Antes de poner tu laboratorio a funcionar, ten en cuenta lo siguiente:

  • No hagas spam: Telegram es muy estricto con el envío masivo y repetitivo de mensajes, especialmente si son enlaces o publicidad. Si abusas, tu cuenta puede ser limitada temporal o permanentemente, o incluso baneada.
  • Respeta las normas de los grupos y canales: No envíes mensajes automáticos a grupos donde no tengas permiso o donde no esté permitido el contenido automatizado.
  • Personaliza y aporta valor: Automatiza solo lo que tenga sentido y sea útil para los destinatarios. Si solo mandas enlaces sin contexto, la gente lo percibirá como spam.
  • Controla la frecuencia: Limita la cantidad de mensajes automáticos por hora/día. Un exceso de actividad es la forma más rápida de llamar la atención de los sistemas anti-spam de Telegram.
  • Haz pruebas en grupos privados o de pruebas antes de usarlo en producción.
  • Transparencia: Si automatizas mensajes en grupos donde hay más gente, avisa a los administradores y miembros.

Disclaimer: Esta guía es solo para fines educativos y de automatización legítima. El uso irresponsable, abusivo o masivo de estos métodos puede resultar en la limitación o baneo de tu cuenta de Telegram. El autor no se hace responsable del uso que hagas de estos scripts ni de las consecuencias derivadas. Automatiza siempre con cabeza y ética.


¿Y ahora qué? Próximos pasos, referencias y firma

Con esto tienes la base de un laboratorio de automatización Telegram + n8n + Python, limpio y modular, y lo mejor: sin bots, sin permisos extra y sin depender de nadie. No hay segunda parte, pero sí más guías en eldiarioia.es para seguir aprendiendo y automatizando.

Referencias y enlaces de interés:

¿Tienes dudas, sugerencias o quieres compartir tu workflow? ¡Déjanos un comentario o únete a la comunidad!


Artículo escrito por Ziru
Si te ha servido, compártelo, clónalo, mejóralo y, sobre todo, automatiza tu vida.
Sigo en eldiarioia.es y en Telegram, donde la IA nunca duerme.

Por ziru

El Diario IA
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.