Saltar al contenido principal

Introducción

Para desarrollar y alojar un bot de X (Twitter) 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.

Crear el proyecto

Se requiere una cuenta activa de X (Twitter) para la autenticación y el funcionamiento del bot. Si no tienes una cuenta, regístrate en el sitio web oficial de X.
También se requiere una cuenta de X Developer para acceder a las APIs. Solicita acceso a través del Portal de Desarrolladores de X.
La API de X se paga por uso: leer menciones y publicar respuestas se cobra a tu cuenta de desarrollador de X, incluidas las revisiones periódicas de menciones del bot. Consulta las tarifas actuales en la página de precios de la API de X antes de hacer el deploy.

Aplicación del bot en X

1

Abrir el Developer Portal

  1. Ve al Portal de Desarrolladores de X.
  2. Inicia sesión con tu cuenta de X (Twitter).
  3. Si es tu primera vez, completa el proceso de solicitud de acceso de desarrollador.
2

Crear un proyecto

  1. En el panel, haz clic en “Create Project”.
  2. Elige un nombre para tu proyecto (por ejemplo, “Square Cloud Bot”).
  3. Selecciona el caso de uso más apropiado (por ejemplo, “Making a bot”).
  4. Proporciona una descripción detallada de tu bot.
  5. Confirma la creación del proyecto.
3

Crear una app

  1. Dentro del proyecto creado, haz clic en “Create App”.
  2. Define un nombre único para tu aplicación.
  3. Confirma la creación de la aplicación.
  4. Anota el App ID generado para futuras referencias.
4

Generar las claves de API

  1. Navega a la sección “Keys and tokens” de tu aplicación.
  2. En la sección “Consumer Keys”, haz clic en “Regenerate” para generar:
    • API Key (Consumer Key)
    • API Secret Key (Consumer Secret)
  3. Importante: Copia y guarda estas claves de inmediato, ya que no podrás volver a verlas.
5

Definir los permisos de la app

  1. Ve a la sección “App permissions”.
  2. Haz clic en “Edit” para modificar los permisos.
  3. Selecciona “Read and write” para permitir que tu bot publique tweets.
  4. Si es necesario, selecciona “Read and write and Direct message” para la funcionalidad de DM.
  5. Guarda los cambios.
6

Generar los tokens de acceso

  1. Regresa a la sección “Keys and tokens”.
  2. En la sección “Access Token and Secret”, haz clic en “Generate”.
  3. Confirma la generación del token.
  4. Copia y guarda:
    • Access Token
    • Access Token Secret
  5. Advertencia: Estos tokens no podrán volver a verse después de cerrar la página.
7

Comprobar tus credenciales

  1. Confirma que tienes las 4 credenciales requeridas:
    • API Key (Consumer Key)
    • API Secret Key (Consumer Secret)
    • Access Token
    • Access Token Secret
  2. Almacena estas credenciales en un lugar seguro
  3. Importante: Nunca compartas ni expongas estas credenciales públicamente

Desarrollar el bot

  1. Verificación de Node.js: Verifica que Node.js esté instalado en tu sistema. Si no, descárgalo desde el sitio web oficial de Node.js.
  2. Inicialización del proyecto: Crea un nuevo proyecto de Node.js ejecutando:
Terminal
  1. Instalar dependencias: Instala las bibliotecas necesarias para el bot:
Terminal
  1. Credenciales: el código lee las cuatro credenciales de variables de entorno, así que nunca van en tu código. Para probar el bot en tu computadora, ponlas en un archivo .env e inicia el bot con node --env-file=.env index.js:
.env
Square Cloud no lee este archivo cuando el bot se ejecuta: defines las mismas variables en la plataforma en Definir las credenciales.
  1. Crear el archivo principal: Desarrolla el archivo index.js con la estructura base del bot:
index.js

Configurar Square Cloud

Crea un archivo squarecloud.app en la raíz de tu proyecto, junto a index.js. Le indica a Square Cloud cómo ejecutar tu bot:
squarecloud.app
  • 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: el bot llama a la API de X y no sirve páginas web.
Consulta la referencia del archivo de configuración para cada campo.

Definir las credenciales

Seguridad: Nunca incluyas tus credenciales de la API directamente en el código. Usa siempre variables de entorno en Square Cloud.
El bot necesita cuatro variables de entorno:
  • API_KEY: Tu clave de API de X
  • API_SECRET_KEY: Tu clave secreta de API de X
  • ACCESS_TOKEN: Tu token de acceso
  • ACCESS_TOKEN_SECRET: Tu secreto del token de acceso
Defínelas de una de estas formas:
  • Dashboard: en la página de subida, abre Configuración avanzada y añade las cuatro 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 Hacer deploy y verificar), cárgalas desde tu archivo .env local 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.

Qué va en el ZIP

  • index.js y tus demás archivos de código.
  • package.json.
  • squarecloud.app.
Deja fuera node_modules: Square Cloud instala tus dependencias cuando el bot inicia. Deja fuera también tu archivo .env: si subes con la CLI, añade una línea con .env a tu archivo squarecloud.ignore para que la CLI lo omita.

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, revisa los logs de la aplicación en el dashboard de Square Cloud en busca del mensaje Bot successfully initialized! para confirmar que el bot se autenticó correctamente. Luego, desde otra cuenta, publica un tweet que mencione al bot con !ping (por ejemplo, @your_bot !ping) y confirma que responde con Pong! 🤖 X Bot working correctly! en X en unos minutos. Las menciones publicadas antes de que el bot se iniciara se ignoran.

Errores comunes

Request failed with code 401

Los logs muestran Error verifying bot: seguido de este error. Una de las cuatro credenciales es incorrecta o falta. Cópialas de nuevo de la sección “Keys and tokens”, define las cuatro variables y reinicia el bot.

Request failed with code 403 al responder

El bot se autentica pero no puede publicar. Los tokens de acceso se generaron cuando la app tenía permiso de solo lectura. Elige “Read and write” en los permisos de la app, regenera el Access Token y el Access Token Secret, actualiza ACCESS_TOKEN y ACCESS_TOKEN_SECRET y reinicia el bot.

Request failed with code 429

El bot alcanzó un límite de tasa de la API de X. Espera antes de la siguiente solicitud y espacia tus llamadas como en Límites de tasa.

Ir más allá

Los fragmentos de abajo amplían index.js: añádelos al archivo y llámalos donde tu bot los necesite.

Monitoreo de hashtags

Publicaciones programadas

Límites de tasa

X (Twitter) tiene límites de tasa estrictos. Implementa controles para evitar exceder estos límites:

Manejo de errores

Próximos pasos

La app no inicia

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

Variables de entorno

Gestiona las credenciales de tu bot y otros secretos.

Runtime de Node.js

Cómo ejecuta Square Cloud las aplicaciones Node.js.
Para más información sobre twitter-api-v2 y la API de X, consulta la documentación oficial de twitter-api-v2, la documentación oficial de la API de X, las políticas de uso de la API de X y la introducción a la API de X.

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.