ACLClouds
ACLClouds

Bot de Telegram 24/7: alojamiento y límites

Polling o webhook, memoria, reinicio: qué prever para que un bot de Telegram siga accesible de día y de noche, y sus límites.

Un bot de Telegram responde a sus usuarios a cualquier hora. Para seguir disponible, debe ejecutarse de forma continua en una máquina siempre encendida. La decisión más importante es cómo recibe los mensajes: mediante consultas periódicas (polling) o mediante un webhook.

  • El polling no necesita puerto público; el webhook necesita una dirección HTTPS accesible.
  • Un webhook activo bloquea el polling: bórrelo antes de volver al polling.
  • Telegram limita la velocidad de envío: espacie los mensajes y gestione los rechazos.

Polling o webhook

Con el polling, el bot pregunta periódicamente a Telegram si hay mensajes nuevos. No necesita ningún puerto abierto hacia el exterior. Con un webhook, Telegram envía cada mensaje a una dirección HTTPS que usted indica, así que hace falta una dirección pública que responda.

  • Polling: lo más sencillo para un bot en un servidor, sin puerto público.
  • Webhook: útil para una integración web o mucho tráfico, con una dirección HTTPS accesible desde Internet.
  • Un webhook activo bloquea el polling (getUpdates): bórrelo antes de volver al polling.

Mantener vivo el proceso

Un bot lanzado en su PC se detiene con él. En un servidor, el proceso debe reiniciarse solo tras un error. Por eso el código debe gestionar los cortes de red en lugar de terminar al primero.

  • Capture las excepciones en el bucle de recepción y regístrelas en lugar de salir.
  • Guarde el token en variables de entorno: podrá cambiarlo sin tocar el código.
  • Tras un reinicio, lea los logs para comprobar que el bot ha reanudado la recepción.

Límites que conviene conocer

Telegram limita la velocidad de envío. Un bot que publica demasiado deprisa en un mismo grupo recibe rechazos temporales. Prevea una cola de envíos y una pausa entre mensajes.

  • Los envíos demasiado seguidos pueden rechazarse un tiempo: espácielos y gestione el error.
  • Un bot que guarda un historial largo en memoria consume RAM: guarde esos datos en una base de datos.
  • El plan gratuito ofrece 315 MB de RAM: suficiente para un bot de comandos, menos para uno que procese archivos pesados.

Por qué alojar un bot de Telegram en ACLClouds

Un bot de Telegram es un proceso ligero, bien adaptado al plan gratuito. Escríbalo en Node.js o en Python y súbalo por SFTP al puerto 2222.

  • Plan gratuito: 1 bot, 315 MB de RAM, 0,25 vCPU, 715 MB de almacenamiento, 4 días, renovable gratuitamente.
  • Acceso SFTP por bot en el puerto 2222, para enviar su código.
  • Las imágenes de Node.js y Python incluyen ffmpeg, yt-dlp y deno.

Preguntas frecuentes

¿Consume mucha RAM un bot de Telegram?

Con comandos sencillos, no. Lo que dispara el consumo son los datos guardados en memoria y el procesamiento de archivos. Mídalo durante una semana antes de concluir.

¿Puede funcionar el bot sin webhook?

Sí. El polling basta para la mayoría de los bots y no necesita dirección pública.

¿Qué lenguaje conviene elegir?

Node.js y Python son los dos lenguajes ofrecidos para los bots en ACLClouds. Elija el que domine: ambos bastan para un bot de Telegram.