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
Accede a Telegram Web y busca el bot oficial BotFather, responsable de crear y administrar bots en la plataforma.

Obtener el token
Inicia una conversación con BotFather y escribe 
/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:
Terminal
- Instala la biblioteca grammY:
Terminal
- Crea el archivo principal (
index.js) con la siguiente estructura:
index.js
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
1
Accede a la página de subida
Accede a la página de subida y sube el archivo zip de tu proyecto.
2
Configura tu entorno
Después de subir tu zip, deberás configurar el nombre, el archivo principal o el entorno de ejecución y otros ajustes de tu proyecto.
Si estás subiendo un proyecto web, asegúrate de seleccionar “Publicación Web” y de definir un subdominio para tu proyecto.
Si estás subiendo un proyecto web, asegúrate de seleccionar “Publicación Web” y de definir un subdominio para tu proyecto.
3
Despliega tu proyecto
Por último, haz clic en el botón “Deploy” para alojar tu proyecto en Square Cloud.
Tras el despliegue, puedes monitorear el estado y los logs de tu proyecto desde el panel.
Tras el despliegue, puedes monitorear el estado y los logs de tu proyecto desde el panel.

4
Confirma que tu aplicación esté en vivo
Tu primer despliegue suele tardar menos de un minuto. En el dashboard, espera a que el estado de tu aplicación muestre “running” y revisa los logs por si hay errores de inicio.
Si desplegaste un sitio web o una API, abre
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
Aprende a crear el archivo de configuración
squarecloud.app que define el entorno de tu aplicación.1
Instala la CLI
Instala la CLI de Square Cloud. Si ya la tienes, ejecuta el mismo comando para actualizarla:
2
Inicia sesión
Ejecuta el comando de abajo. Abre tu navegador: aprueba el inicio de sesión allí y la CLI queda lista. No hay ninguna clave de API que copiar. Para scripts y CI, consulta autenticación de la CLI.
3
Sube tu proyecto
Desde la carpeta de tu proyecto, ejecuta el comando de abajo. La CLI comprime la carpeta actual en un zip, dejando fuera lo que lista Para subir un zip que creaste tú mismo, pásalo con
squarecloud.ignore, y lo sube:--file:4
Confirma que tu aplicación esté en vivo
Tu primer despliegue suele tardar menos de un minuto. Revisa el estado y los logs de tu aplicación directamente desde la terminal: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.
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.
Próximos pasos
La app no inicia
Soluciona módulos que faltan, errores de memoria y otros fallos de inicio.
Variables de entorno
Gestiona el token de tu bot y otros secretos.
python-telegram-bot con aiohttp
¿Usas python-telegram-bot? Soluciona las excepciones NetworkError frecuentes.

