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.
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.
Aplicación del bot en X
Abrir el Developer Portal
- Ve al Portal de Desarrolladores de X.
- Inicia sesión con tu cuenta de X (Twitter).
- Si es tu primera vez, completa el proceso de solicitud de acceso de desarrollador.
Crear un proyecto
- En el panel, haz clic en “Create Project”.
- Elige un nombre para tu proyecto (por ejemplo, “Square Cloud Bot”).
- Selecciona el caso de uso más apropiado (por ejemplo, “Making a bot”).
- Proporciona una descripción detallada de tu bot.
- Confirma la creación del proyecto.
Crear una app
- Dentro del proyecto creado, haz clic en “Create App”.
- Define un nombre único para tu aplicación.
- Confirma la creación de la aplicación.
- Anota el App ID generado para futuras referencias.
Generar las claves de API
- Navega a la sección “Keys and tokens” de tu aplicación.
- En la sección “Consumer Keys”, haz clic en “Regenerate” para generar:
- API Key (Consumer Key)
- API Secret Key (Consumer Secret)
- Importante: Copia y guarda estas claves de inmediato, ya que no podrás volver a verlas.
Definir los permisos de la app
- Ve a la sección “App permissions”.
- Haz clic en “Edit” para modificar los permisos.
- Selecciona “Read and write” para permitir que tu bot publique tweets.
- Si es necesario, selecciona “Read and write and Direct message” para la funcionalidad de DM.
- Guarda los cambios.
Generar los tokens de acceso
- Regresa a la sección “Keys and tokens”.
- En la sección “Access Token and Secret”, haz clic en “Generate”.
- Confirma la generación del token.
- Copia y guarda:
- Access Token
- Access Token Secret
- Advertencia: Estos tokens no podrán volver a verse después de cerrar la página.
Comprobar tus credenciales
- Confirma que tienes las 4 credenciales requeridas:
- API Key (Consumer Key)
- API Secret Key (Consumer Secret)
- Access Token
- Access Token Secret
- Almacena estas credenciales en un lugar seguro
- Importante: Nunca compartas ni expongas estas credenciales públicamente
Desarrollar el bot
- 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.
- Inicialización del proyecto: Crea un nuevo proyecto de Node.js ejecutando:
- Instalar dependencias: Instala las bibliotecas necesarias para el bot:
- 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
.enve inicia el bot connode --env-file=.env index.js:
- Crear el archivo principal: Desarrolla el archivo
index.jscon la estructura base del bot:
Configurar Square Cloud
Crea un archivosquarecloud.app en la raíz de tu proyecto, junto a index.js. Le indica a Square Cloud cómo ejecutar tu bot:
MEMORYes 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: el bot llama a la API de X y no sirve páginas web.
Definir las credenciales
API_KEY: Tu clave de API de XAPI_SECRET_KEY: Tu clave secreta de API de XACCESS_TOKEN: Tu token de accesoACCESS_TOKEN_SECRET: Tu secreto del token de acceso
- 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
.envlocal consquarecloud app env sety reinicia el bot:
Qué va en el ZIP
index.jsy tus demás archivos de código.package.json.squarecloud.app.
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
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, revisa los logs de la aplicación en el dashboard de Square Cloud en busca del mensajeBot 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 muestranError 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, actualizaACCESS_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íanindex.js: añádelos al archivo y llámalos donde tu bot los necesite.

