Passer au contenu principal

Introduction

  • Ce guide suppose que vous avez un bot approuvé sur top.gg et que vous utilisez Node.js ou Python pour votre projet.
  • Ensuite, vous devrez créer un compte sur Square Cloud, ce que vous pouvez faire depuis la page d’inscription. Vous pouvez utiliser votre e-mail pour créer un compte.
  • Enfin, vous devez disposer d’un plan payant actif sur votre compte. Vous pouvez consulter nos plans et en acheter un selon vos besoins ici.

Configuration de l’environnement

  1. Avant de commencer, assurez-vous d’avoir Node.js et npm installés sur votre système. Si ce n’est pas encore le cas, vous pouvez les télécharger depuis le site officiel de Node.js.
  2. Démarrez un nouveau projet Node.js avec la commande suivante :
Terminal
npm init -y
Cette commande crée un fichier package.json dans le répertoire courant.
  1. Installez les bibliothèques nécessaires :
Terminal
npm install @top-gg/sdk express

Configuration du projet

1. Récupérez votre authentification de webhook :
  • Rendez-vous sur votre profil Top.gg ici.
  • Cliquez sur « edit » sur le bot pour lequel vous voulez recevoir les notifications de votes.
  • Sous « GENERAL », choisissez l’option « webhook ».
  • Définissez l’authentification du webhook dans « Authorization ». Dans cet exemple, nous avons utilisé « myappsquare ».
2. Implémentez l’écouteur de webhook : Les sections suivantes fournissent des exemples de code pour Javascript et Python :
Nous allons utiliser l’exemple fourni par la documentation de top.gg ici, avec quelques modifications.
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);

Créer le fichier de configuration squarecloud

À découvrir : comment créer le fichier de configuration pour Square Cloud.

Le fichier squarecloud.app est un fichier de configuration qui servira à configurer votre application ; il sera utilisé pour définir le nom, la description, la version, le fichier principal, entre autres choses.

Envoyer votre application sur Square Cloud

Après avoir suivi toutes les étapes, placez les fichiers de votre application dans un fichier .zip, y compris le fichier de configuration. Si votre application est un projet Node.js, consultez notre article sur Node.js. Si votre application est un projet Python, consultez notre article sur Python.
Accédez au Dashboard Square Cloud et envoyez les fichiers de votre projet.
Téléversement d'une application vers Square Cloud

Lancer les tests

Si vous avez tout fait correctement, essayez d’accéder à votre site en utilisant le sous-domaine défini dans le fichier de configuration. Si vous l’avez défini comme « mysite », l’accès se fera via mysite.squareweb.app. Après y avoir accédé, si seul « Cannot GET / » ou « Method Not Allowed » s’affiche, tout est correct. Vous devez maintenant revenir à la page précédente où l’autorisation a été définie. Dans le champ Webhook URL, vous devez mettre l’URL de votre site avec la route qui recevra les votes.
  • Pour le code JavaScript que nous avons créé avec app.post("/topgg", webhook.listener((vote) => {...}), la route qui recevra les votes est « /topgg ». Donc, si votre site est « mysite.squareweb.app », vous devez mettre « mysite.squareweb.app/topgg » comme Webhook URL.
  • Pour le code Python que nous avons créé avec @app.route("/topgg", methods=["POST"]), la route qui recevra les votes est également « /topgg ». Ainsi, l’URL du webhook serait la même « mysite.squareweb.app/topgg ».
Exemple de configuration de l'URL du webhook Top.gg
Enfin, cliquez sur le bouton « Send Test ». Ensuite, vérifiez le terminal. Si tout s’est bien passé, le message que vous avez défini dans console.log ou print devrait apparaître dans le terminal.
Exemple d'envoi de test du webhook Top.gg
Et avec cela, si tout a été configuré correctement, votre webhook sera prêt à envoyer des notifications lorsque votre bot reçoit un vote sur top.gg.

Dépannage

Domaine personnalisé

Pour utiliser un domaine personnalisé (par exemple mysite.com) au lieu de l’URL par défaut mysite.squareweb.app, vous avez besoin du plan Standard ou supérieur. Le sous-domaine est défini par le champ SUBDOMAIN dans le fichier de configuration.

Prérequis minimum en RAM

Minimum : 512 Mo de RAM pour les sites web/API simples. Pour les sites utilisant des frameworks (Next.JS, React, Vue, Angular, etc.), nous recommandons toujours au moins 1 Go de RAM. Pour les applications plus volumineuses, allouez davantage de RAM afin d’éviter que l’application ne manque de mémoire et ne plante.

Impossible de trouver ce site.

Vérifiez que le sous-domaine/domaine correspond à ce qui est configuré dans le champ SUBDOMAIN ou dans les paramètres du domaine personnalisé. Si vous venez tout juste de mettre en ligne le site, patientez jusqu’à 60 secondes pour que Square active le premier accès.

Le site a mis trop de temps à répondre…

Vérifiez que vous avez correctement configuré le port 80 et l’hôte 0.0.0.0 dans l’application. Nous recommandons d’utiliser les variables d’environnement forcées par Square : PORT et HOST du fichier .env.

Contactez-nous

Si vous rencontrez toujours des difficultés techniques, notre équipe de support spécialisée est disponible pour vous aider. Contactez-nous et nous serons ravis de vous aider à résoudre tout problème.