Saltar al contenido principal

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.
Esta guía usa el runtime de Node.js o el runtime de Python.

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.
Encontrando BotFather en Telegram

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.
Generando el token del bot de Telegram con BotFather
Mantén tu token en secreto: este token otorga control total sobre el bot. Nunca lo escribas en tu código ni lo pongas en tu ZIP: los ejemplos de abajo lo leen de la variable de entorno TELEGRAM_BOT_TOKEN.

Desarrollar el bot

Escribe el bot con grammY (Node.js) o pyTelegramBotAPI (Python). Los dos ejemplos repiten cada mensaje de texto:
  1. Verifica que Node.js esté instalado en tu sistema. De lo contrario, descárgalo desde el sitio web oficial de Node.js.
  2. Inicializa un nuevo proyecto de Node.js:
Terminal
  1. Instala la biblioteca grammY:
Terminal
  1. Crea el archivo principal (index.js) con la siguiente estructura:
index.js

Configurar Square Cloud

Crea un archivo squarecloud.app en la raíz de tu proyecto, junto a tu archivo principal. Le indica a Square Cloud cómo ejecutar tu bot:
  • MAIN es el archivo que ejecuta Square Cloud, y MEMORY es la RAM del bot en MB. Los bots necesitan al menos 256 MB; 512 MB deja margen para crecer.
  • AUTORESTART=true vuelve 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.
Consulta la referencia del archivo de configuración para cada campo.

Definir el token del bot

Tu código lee el token de la variable de entorno TELEGRAM_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_TOKEN con 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 set y reinicia el bot:
El bot lee sus variables de entorno al iniciar, así que reinícialo después de cada cambio. Consulta Variables de entorno para ver las demás formas de gestionarlas.
Para ejecutar primero el bot en tu computadora, define la variable en tu terminal: export TELEGRAM_BOT_TOKEN=your_token_here en macOS y Linux, o $env:TELEGRAM_BOT_TOKEN="your_token_here" en PowerShell.

Qué va en el ZIP

  • Tu archivo principal (index.js o main.py) y tus demás archivos de código.
  • package.json o requirements.txt.
  • squarecloud.app.
Deja fuera 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.
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.
Subiendo aplicación a Square Cloud
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 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.
¿La aplicación no inicia? Consulta la guía de solución de problemas para ver las causas y soluciones más comunes.

A través de la CLI

Para usar este método, tu proyecto necesita un archivo de configuración llamado squarecloud.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 squarecloud.ignore, y lo sube:
Para subir un zip que creaste tú mismo, pásalo con --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.
¿La aplicación no inicia? Consulta la guía de solución de problemas para ver las causas y soluciones más comunes.

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.
Probando el bot de Telegram tras el despliegue

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.
Para más información sobre estas librerías, consulta la documentación oficial de grammY y la página de pyTelegramBotAPI en PyPI.

Contáctanos

Si continúas enfrentando dificultades técnicas, nuestro equipo de soporte especializado está disponible para ayudarte. Contáctanos y estaremos encantados de ayudarte a resolver cualquier problema: la calidad del soporte es una gran parte de por qué los desarrolladores califican a Square Cloud con 4.9/5 en 402 reseñas en Google y Trustpilot.