Saltar al contenido principal

Introducción

  • Esta guía asume que tienes un bot aprobado en top.gg y que estás usando Node.js o Python para tu proyecto.
  • A continuación, necesitarás crear una cuenta en Square Cloud, lo cual puede hacerse a través de la página de registro. Puedes usar tu correo electrónico para crear una cuenta.
  • Finalmente, necesitas tener un plan de pago activo en tu cuenta. Puedes ver nuestros planes y comprar uno según tus necesidades aquí.

Configurando el entorno

  1. Antes de empezar, asegúrate de tener Node.js y npm instalados en tu sistema. Si aún no los tienes, puedes descargarlos desde el sitio web oficial de Node.js.
  2. Inicia un nuevo proyecto de Node.js con el siguiente comando:
Terminal
npm init -y
Este comando crea un archivo package.json en el directorio actual.
  1. Instala las bibliotecas necesarias:
Terminal
npm install @top-gg/sdk express

Configurando el proyecto

1. Obtén la autenticación de tu webhook:
  • Ve a tu perfil de Top.gg aquí.
  • Haz clic en “edit” en el bot para el que quieres recibir notificaciones de votos.
  • En “GENERAL”, elige la opción “webhook”.
  • Establece la autenticación del webhook en “Authorization”. En este ejemplo, usamos “myappsquare”.
2. Implementa el listener del webhook: Las siguientes secciones proporcionan ejemplos de código tanto para Javascript como para Python:
Usaremos el ejemplo proporcionado por la documentación de top.gg aquí, con algunas modificaciones.
index.js
// Import libraries
const Topgg = require("@top-gg/sdk");
const express = require("express");

// Create Express app and Top.gg webhook instances
const app = express();
const webhook = new Topgg.Webhook("YOUR_AUTHORIZATION_TOKEN");

// Define route for '/topgg' endpoint (POST requests)
app.post("/topgg", webhook.listener((vote) => {
  // Log vote received message with user ID
  console.log(`Vote received successfully! User ID: ${vote.user}`);
}));

// Start server on port 80 (default HTTP)
app.listen(80);

Creando el archivo de configuración de squarecloud

Aprende sobre: cómo crear el archivo de configuración para Square Cloud.

El archivo squarecloud.app es un archivo de configuración que se usará para configurar tu aplicación; se usará para definir el nombre, la descripción, la versión, el archivo principal, entre otras cosas.

Subiendo tu aplicación a Square Cloud

Después de seguir todos los pasos, coloca los archivos de tu aplicación en un archivo .zip, incluyendo el archivo de configuración. Si tu aplicación es un proyecto de Node.js, echa un vistazo a nuestro artículo sobre Node.js. Si tu aplicación es un proyecto de Python, echa un vistazo a nuestro artículo sobre Python.
Accede al Dashboard de Square Cloud y sube los archivos de tu proyecto.
Subiendo aplicación a Square Cloud

Iniciando las pruebas

Si has hecho todo correctamente, intenta acceder a tu sitio usando el subdominio definido en el archivo de configuración. Si lo definiste como “mysite”, para acceder será mysite.squareweb.app. Después de acceder y de que solo aparezca “Cannot GET /” o “Method Not Allowed”, todo está bien. Ahora, necesitas volver a la página anterior donde se definió la autorización. En el campo Webhook URL, debes poner la URL de tu sitio con la ruta que recibirá los votos.
  • Para el código JavaScript que creamos con app.post("/topgg", webhook.listener((vote) => {...}), la ruta que recibirá los votos es “/topgg”. Entonces, si tu sitio web es “mysite.squareweb.app”, debes poner “mysite.squareweb.app/topgg” como la Webhook URL.
  • Para el código Python que creamos con @app.route("/topgg", methods=["POST"]), la ruta que recibirá los votos también es “/topgg”. Entonces, la Webhook URL sería la misma “mysite.squareweb.app/topgg”.
Ejemplo de configuración de la URL del webhook de Top.gg
Finalmente, haz clic en el botón “Send Test”. Después de eso, revisa la terminal. Si todo salió bien, el mensaje que definiste en console.log o print debería aparecer en la terminal.
Ejemplo de prueba de envío del webhook de Top.gg
Y con eso, si todo se ha configurado correctamente, tu webhook estará listo para enviar notificaciones cuando tu bot reciba un voto en top.gg.

Solución de problemas

Dominio personalizado

Para usar un dominio personalizado (por ejemplo, mysite.com) en lugar de la URL predeterminada mysite.squareweb.app, necesitas el plan Standard o superior. El subdominio se define mediante el campo SUBDOMAIN en el archivo de configuración.

Requisitos mínimos de RAM

Mínimo: 512MB de RAM para sitios web/APIs sencillos. Para sitios con frameworks (Next.JS, React, Vue, Angular, etc.), siempre recomendamos al menos 1GB de RAM. Para aplicaciones más grandes, asigna más RAM para evitar que la aplicación se quede sin memoria y falle.

No se pudo encontrar este sitio.

Verifica que el subdominio/dominio coincida con lo configurado en el campo SUBDOMAIN o en la configuración del dominio personalizado. Si acabas de subir el sitio, espera hasta 60 segundos para que Square habilite el primer acceso.

El sitio tardó demasiado en responder…

Verifica que hayas configurado correctamente el puerto 80 y el host 0.0.0.0 en la aplicación. Recomendamos usar las variables de entorno forzadas de Square: PORT y HOST del archivo .env.

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.