Vai al contenuto principale

Introduzione

  • Questa guida presuppone che tu abbia un bot approvato su top.gg e che stia utilizzando Node.js o Python per il tuo progetto.
  • Successivamente, dovrai creare un account su Square Cloud, cosa che puoi fare tramite la pagina di registrazione. Puoi usare la tua email per creare un account.
  • Infine, devi avere un piano a pagamento attivo sul tuo account. Puoi visualizzare i nostri piani e acquistarne uno in base alle tue esigenze qui.

Configurare l’ambiente

  1. Prima di iniziare, assicurati di avere Node.js e npm installati sul tuo sistema. Se non li hai ancora, puoi scaricarli dal sito ufficiale di Node.js.
  2. Avvia un nuovo progetto Node.js con il seguente comando:
Terminal
npm init -y
Questo comando crea un file package.json nella directory corrente.
  1. Installa le librerie necessarie:
Terminal
npm install @top-gg/sdk express

Configurare il progetto

1. Ottieni l’autenticazione del tuo webhook:
  • Vai al tuo profilo Top.gg qui.
  • Clicca su “edit” sul bot per cui vuoi ricevere notifiche dei voti.
  • Sotto “GENERAL”, scegli l’opzione “webhook”.
  • Imposta l’autenticazione del webhook in “Authorization”. In questo esempio, abbiamo usato “myappsquare”.
2. Implementa il listener del webhook: Le sezioni seguenti forniscono esempi di codice sia per Javascript che per Python:
Useremo l’esempio fornito dalla documentazione di top.gg qui, con alcune modifiche.
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);

Creare il file di configurazione squarecloud

Scopri di più su: come creare il file di configurazione per Square Cloud.

Il file squarecloud.app è un file di configurazione che verrà utilizzato per configurare la tua applicazione; sarà usato per definire il nome, la descrizione, la versione, il file principale, tra le altre cose.

Caricare l’applicazione su Square Cloud

Dopo aver seguito tutti i passaggi, inserisci i file della tua applicazione in un file .zip, incluso il file di configurazione. Se la tua applicazione è un progetto Node.js, dai un’occhiata al nostro articolo su Node.js. Se la tua applicazione è un progetto Python, dai un’occhiata al nostro articolo su Python.
Accedi alla Dashboard di Square Cloud e carica i file del tuo progetto.
Caricamento dell'applicazione su Square Cloud

Avviare i test

Se hai fatto tutto correttamente, prova ad accedere al tuo sito usando il subdomain definito nel file di configurazione. Se lo hai definito come “mysite”, per accedervi sarà mysite.squareweb.app. Dopo aver effettuato l’accesso, se compare solo “Cannot GET /” o “Method Not Allowed”, è tutto a posto. Ora, devi tornare alla pagina precedente dove è stata definita l’autorizzazione. Nel campo Webhook URL, dovresti inserire l’URL del tuo sito con la route che riceverà i voti.
  • Per il codice JavaScript che abbiamo creato con app.post("/topgg", webhook.listener((vote) => {...}), la route che riceverà i voti è “/topgg”. Quindi, se il tuo sito web è “mysite.squareweb.app”, dovresti inserire “mysite.squareweb.app/topgg” come Webhook URL.
  • Per il codice Python che abbiamo creato con @app.route("/topgg", methods=["POST"]), la route che riceverà i voti è anch’essa “/topgg”. Quindi, il Webhook URL sarebbe lo stesso “mysite.squareweb.app/topgg”.
Esempio di configurazione dell'URL del webhook di Top.gg
Infine, clicca sul pulsante “Send Test”. Dopodiché, controlla il terminale. Se tutto è andato bene, il messaggio che hai definito in console.log o print dovrebbe apparire nel terminale.
Esempio di test di invio del webhook di Top.gg
E con questo, se tutto è stato configurato correttamente, il tuo webhook sarà pronto a inviare notifiche quando il tuo bot riceve un voto su top.gg.

Risoluzione dei problemi

Dominio personalizzato

Per utilizzare un dominio personalizzato (ad esempio, mysite.com) invece dell’URL predefinito mysite.squareweb.app, hai bisogno del piano Standard o superiore. Il sottodominio è definito dal campo SUBDOMAIN nel file di configurazione.

Requisiti minimi di RAM

Minimo: 512MB di RAM per siti web/API semplici. Per siti con framework (Next.JS, React, Vue, Angular, ecc.), consigliamo sempre almeno 1GB di RAM. Per applicazioni più grandi, alloca più RAM per evitare che l’applicazione esaurisca la memoria e si arresti in modo anomalo.

Impossibile trovare questo sito.

Verifica che il sottodominio/dominio corrisponda a quanto configurato nel campo SUBDOMAIN o nelle impostazioni del dominio personalizzato. Se hai appena caricato il sito, attendi fino a 60 secondi affinché Square abiliti il primo accesso.

Il sito ha impiegato troppo tempo per rispondere…

Verifica di aver configurato correttamente la porta 80 e l’host 0.0.0.0 nell’applicazione. Consigliamo di utilizzare le variabili d’ambiente forzate di Square: PORT e HOST dal file .env.

Contattaci

Se continui a riscontrare difficoltà tecniche, il nostro team di supporto specializzato è disponibile ad assisterti. Contattaci e saremo felici di aiutarti a risolvere qualsiasi problema.