Skip to main content

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.

Creando 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

Accediendo al Portal de Desarrolladores

  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

Creación del 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

Configuración de la aplicación

  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

Generación de 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

Configuración de permisos

  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

Generación de 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

Verificación de 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

Desarrollando el proyecto

  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.
Tu ZIP contiene index.js, package.json y squarecloud.app. Deja fuera node_modules y tu archivo .env: añade una línea con .env a tu archivo squarecloud.ignore para que la CLI lo omita. 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 Desplegando), 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.

Desplegando

Tras 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.

Probando el bot

Después del despliegue, 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.

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

Rate Limiting

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

Manejo de errores

Recursos adicionales

Para profundizar tus conocimientos sobre el desarrollo de bots de X usando twitter-api-v2, consulta la documentación oficial de la biblioteca twitter-api-v2. La documentación proporciona guías detalladas, tutoriales avanzados y referencias completas de la API para maximizar tu implementación. Consulta también:

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.

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.