Skip to main content

Introducción

Para desarrollar y alojar un bot de Slack 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

Para crear un bot de Slack, necesitarás una cuenta y permisos para crear apps en Slack. Crea o accede a tu cuenta en Slack antes de seguir los siguientes pasos.

Aplicación de bot en Slack

  1. Ve a Slack API - Your Apps y haz clic en “Create New App”.
  2. Elige “From scratch”, dale un nombre a la app y selecciona el workspace donde la instalarás.
  3. En la sección “Socket Mode”, activa Socket Mode y genera un app-level token con el scope connections:write. Cópialo (empieza con xapp-): este es tu SLACK_APP_TOKEN.
  4. En la sección “OAuth & Permissions”, añade los scopes que necesita tu bot (por ejemplo, chat:write, app_mentions:read, commands), instala la app en tu workspace y copia el Bot User OAuth Token (empieza con xoxb-): este es tu SLACK_BOT_TOKEN.
  5. En “Event Subscriptions”, activa los eventos y suscríbete al evento de bot app_mention. En “Slash Commands”, crea el comando /hello. Con Socket Mode activado, ninguno de los dos pide una Request URL.
Seguridad: Nunca expongas el app-level token ni el Bot Token públicamente. Trátalos como credenciales sensibles: los ejemplos de abajo los leen de variables de entorno, nunca de tu código.
Con Socket Mode, el propio bot abre la conexión con Slack, así que se ejecuta como cualquier otro bot: no se necesita ninguna URL pública ni puerto. Si prefieres que Slack envíe los eventos por HTTP, consulta “Usar el modo HTTP en lugar de Socket Mode” al final de esta página.

Desarrollar el proyecto

Usa las secciones a continuación según el lenguaje que elijas. Ambos ejemplos demuestran un bot que responde a menciones o comandos simples.
Configuración del entorno Node.js
  1. Asegúrate de que Node.js esté instalado.
  2. Inicializa un proyecto e instala las dependencias:
Terminal
  1. Crea un archivo index.js con el siguiente contenido:
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: en Socket Mode, el bot no necesita una URL pública.
Consulta la referencia del archivo de configuración para cada campo.

Definir los tokens

Tu código lee los dos tokens de las variables de entorno SLACK_BOT_TOKEN y SLACK_APP_TOKEN, así que nunca van en tus archivos. Defínelos de una de estas formas:
  • Dashboard: en la página de subida, abre Configuración avanzada y añade las dos variables. Para un bot que ya está en línea, añádelas en la página Variables de entorno de la aplicación y reinicia el bot.
  • CLI: justo después de subir el bot (consulta Deploy), defínelas 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.

Deploy

Después de preparar los archivos de tu proyecto, ya puedes subirlos a Square Cloud y alojar tu proyecto. Para ello, crea un archivo ZIP que contenga todos los archivos de tu proyecto.

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

  1. En el panel de la Slack App, en “OAuth & Permissions”, instala la app en el workspace (si aún no lo hiciste).
  2. Revisa los logs de la aplicación en el dashboard de Square Cloud para detectar errores de inicio. Con Socket Mode no hay ninguna Request URL que configurar: el bot se conecta a Slack en cuanto se inicia.
  3. Invita al bot a un canal y luego menciónalo o ejecuta el comando /hello para validar las respuestas.
Ejemplo de enlace de instalación (reemplaza el client_id):

Usar el modo HTTP en lugar de Socket Mode

Las apps que usan Socket Mode no pueden publicarse en el Slack Marketplace público. Si necesitas que Slack envíe los eventos por HTTP, ejecuta el bot como una aplicación web:
  1. En la configuración de la app de Slack, desactiva Socket Mode y copia el Signing Secret (en “Basic Information”) en una variable de entorno SLACK_SIGNING_SECRET, definida igual que los tokens.
  2. Crea la app con el signing secret en lugar del app-level token y escucha en el puerto de la variable de entorno PORT:
Los dos servidores escuchan en todas las interfaces de red (0.0.0.0), como exige Square Cloud.
  1. Agrega un SUBDOMAIN a tu archivo de configuración (o selecciona “Publicación Web” y define un subdominio al subir desde el dashboard) para que el bot tenga una URL pública. Las aplicaciones web necesitan al menos MEMORY=512:
squarecloud.app
Una aplicación subida sin subdominio no puede recibir uno después. Si tu bot ya funciona en Socket Mode, sube la versión HTTP como una aplicación nueva.
  1. En “Event Subscriptions” y en el slash command /hello, define la Request URL como https://<subdomain>.squareweb.app/slack/events.

Recursos adicionales

Para más información, consulta la documentación oficial de Slack:

Próximos pasos

La app no inicia

Soluciona módulos que faltan, errores de memoria y otros fallos de inicio.

Variables de entorno

Gestiona los tokens de tu bot y otros secretos.

Bot de Discord

Aloja un bot de Discord junto a tu bot de Slack.

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.