Introducción
Para desarrollar y alojar un bot de Telegram en Square Cloud, es esencial seguir una secuencia estructurada de configuraciones y requisitos previos. Esta guía técnica cubrirá todo el proceso, desde la configuración inicial hasta el despliegue en producción.Requisitos previos
- Cuenta de Square Cloud: Regístrate a través de la página de registro usando tu correo electrónico.
- Plan activo: Garantiza recursos dedicados y un rendimiento optimizado para tu aplicación. Consulta nuestros planes disponibles y elige el más adecuado para tus necesidades.
Crear el proyecto
Una cuenta de Telegram es esencial para probar e interactuar con tu bot. Si no tienes una, visita el sitio web oficial de Telegram para crear tu cuenta.Aplicación del bot en Telegram
Buscar a BotFather

Obtener el token
/start. Luego, selecciona la opción /newbot para crear un nuevo bot. El sistema pedirá un nombre para tu bot y, tras la confirmación, generará automáticamente el token de autenticación necesario.
Desarrollar el bot
Escribe el bot con grammY (Node.js) o pyTelegramBotAPI (Python). Los dos ejemplos repiten cada mensaje de texto:- Node.js - grammY
- Python - telebot
- Verifica que Node.js esté instalado en tu sistema. De lo contrario, descárgalo desde el sitio web oficial de Node.js.
- Inicializa un nuevo proyecto de Node.js:
- Instala la biblioteca grammY:
- Crea el archivo principal (
index.js) con la siguiente estructura:
Configurar Square Cloud
Crea un archivosquarecloud.app en la raíz de tu proyecto, junto a tu archivo principal. Le indica a Square Cloud cómo ejecutar tu bot:
MAINes el archivo que ejecuta Square Cloud, yMEMORYes la RAM del bot en MB. Los bots necesitan al menos 256 MB; 512 MB deja margen para crecer.AUTORESTART=truevuelve a iniciar el bot si falla. Consulta cómo funciona el auto restart.- No hay
SUBDOMAIN: con long polling, el bot no necesita una URL pública.
Definir el token del bot
Tu código lee el token de la variable de entornoTELEGRAM_BOT_TOKEN, así que el token nunca va en tus archivos. Defínelo de una de estas formas:
- Dashboard: en la página de subida, abre Configuración avanzada y añade una variable llamada
TELEGRAM_BOT_TOKENcon tu token como valor. Para un bot que ya está en línea, añádela en la página Variables de entorno de la aplicación y reinicia el bot. - CLI: justo después de subir el bot (consulta Hacer deploy y verificar), defínela con
squarecloud app env sety reinicia el bot:
Qué va en el ZIP
- Tu archivo principal (
index.jsomain.py) y tus demás archivos de código. package.jsonorequirements.txt.squarecloud.app.
node_modules, .venv y __pycache__: Square Cloud instala tus dependencias cuando el bot inicia.
Hacer deploy y verificar
Crea el ZIP descrito arriba y luego súbelo:A través del panel
Accede a la página de subida
Configura tu entorno
Si estás subiendo un proyecto web, asegúrate de seleccionar “Publicación Web” y de definir un subdominio para tu proyecto.
Despliega tu proyecto
Tras el despliegue, puedes monitorear el estado y los logs de tu proyecto desde el panel.

Confirma que tu aplicación esté en vivo
Si desplegaste un sitio web o una API, abre
https://<tu-subdominio>.squareweb.app en tu navegador: deberías ver tu aplicación respondiendo. Si desplegaste un bot, envíale un comando para confirmar que esté online.
A través de la CLI
Para usar este método, tu proyecto necesita un archivo de configuración llamadosquarecloud.app en su raíz. Le indica a Square Cloud cómo ejecutar tu aplicación.
Guía del archivo de configuración
squarecloud.app que define el entorno de tu aplicación.Instala la CLI
Inicia sesión
Sube tu proyecto
squarecloud.ignore, y lo sube:--file:Confirma que tu aplicación esté en vivo
https://<tu-subdominio>.squareweb.app en tu navegador: deberías ver tu aplicación respondiendo. Si desplegaste un bot, envíale un comando para confirmar que esté online.
Probar el bot
Después del deploy, busca tu bot en Telegram y envíale un mensaje. El bot responde con el mismo texto, lo que confirma que está en ejecución.
Errores comunes
Error 409: Conflict: terminated by other getUpdates request
Otra copia del bot está leyendo las actualizaciones con el mismo token, por ejemplo la que iniciaste en tu computadora. Telegram entrega las actualizaciones a una sola conexión de long polling por bot. Detén la otra copia, o revoca el token en BotFather si no sabes dónde se ejecuta, y luego define el nuevo token y reinicia el bot.Error 401: Unauthorized
El token es incorrecto o fue revocado. Copia el token actual de BotFather, defínelo de nuevo y reinicia el bot.Token vacío o KeyError: 'TELEGRAM_BOT_TOKEN'
La variable TELEGRAM_BOT_TOKEN no está definida: grammY se detiene con Empty token! y el ejemplo de Python se detiene con un KeyError. Define la variable, como en Definir el token del bot, y reinicia el bot.

