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
- Node.js
- Python
- 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.
- Démarrez un nouveau projet Node.js avec la commande suivante :
Terminal
- Installez les bibliothèques nécessaires :
Terminal
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 ».
- Node.js
- Python
Nous allons utiliser l’exemple fourni par la documentation de top.gg ici, avec quelques modifications.
index.js
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.
- Envoi via le Dashboard
- Envoi via la CLI
Accédez au Dashboard Square
Cloud et envoyez les fichiers de
votre projet.

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 viamysite.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 ».

console.log ou print devrait apparaître dans le terminal.

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.
