Introdução

  • Este guia supõe que você tenha um bot aprovado no top.gg e esteja usando Node.js ou Python em seu projeto.
  • Em seguida, crie uma conta na Square Cloud através da página de cadastro. Você pode usar seu email para se registrar.
  • Por fim, é necessário ter um plano pago ativo na sua conta. Você pode ver e adquirir nossos planos aqui.

Configurando o Ambiente

  1. Antes de começar, verifique se você tem o Node.js e o npm instalados em seu sistema. Caso contrário, faça o download no site oficial do Node.js.
  2. Inicie um novo projeto Node.js com o comando:
npm init -y
Esse comando cria um arquivo package.json no diretório atual.
  1. Instale as bibliotecas necessárias:
npm install @top-gg/sdk express

Configurando o Projeto

1. Obter o token de autenticação do webhook:
  • Acesse seu perfil no Top.gg aqui.
  • Clique em “editar” no bot para o qual deseja receber notificações de votos.
  • Em “GERAL”, selecione a opção “webhook”.
  • Defina o token em “Authorization”. Neste exemplo, usamos “myappsquare”.
2. Implemente o listener do webhook: Use os exemplos abaixo para Node.js ou Python:
// Importe as bibliotecas
const Topgg = require("@top-gg/sdk");
const express = require("express");

// Crie a aplicação Express e a instância do webhook Top.gg
const app = express();
const webhook = new Topgg.Webhook("YOUR_AUTHORIZATION_TOKEN");

// Defina a rota para endpoint '/topgg' (requisições POST)
app.post("/topgg", webhook.listener((vote) => {
  console.log(`Voto recebido com sucesso! ID do usuário: ${vote.user}`);
}));

// Inicie o servidor na porta 80
app.listen(80);

Criando o arquivo de configuração da Square Cloud

Aprenda como: criar o arquivo de configuração para a Square Cloud.

O arquivo squarecloud.app é usado para definir nome, descrição, versão, arquivo principal e outras configurações da sua aplicação.

Enviando sua aplicação para a Square Cloud

Após seguir todos os passos, compacte os arquivos do seu projeto em um .zip, incluindo o arquivo de configuração.
Acesse o Dashboard da Square Cloud e faça o upload dos arquivos do seu projeto.

Iniciando os testes

Acesse seu site pelo subdomínio definido (ex: https://meusite.squareweb.app). Se aparecer apenas “Cannot GET /” ou “Method Not Allowed”, está tudo certo. Em seguida, volte à página de webhook no Top.gg e defina a URL de teste:
  • Para Node.js, use https://meusite.squareweb.app/topgg.
  • Para Python, use https://meusite.squareweb.app/topgg.
Clique em “Send Test” e verifique o terminal; a mensagem de console deve aparecer.

Solução de Problemas

Domínio Personalizado

Para usar domínio personalizado (ex: meusite.com) ao invés da URL padrão https://meusite.squareweb.app/, você precisa do plano Standard ou superior. O subdomínio é definido pelo campo SUBDOMAIN no arquivo de configuração. Veja: Como configurar seu domínio personalizado.

Requisitos Mínimos de RAM

Mínimo: 512MB de RAM para websites/APIs simples. Para sites com frameworks (Next.JS, React, Vue, Angular, etc.), sugerimos sempre pelo menos 1GB de RAM. Para aplicações maiores, use mais RAM para evitar erro LACK_OF_RAM e garantir performance.

Não foi possível encontrar esse site.

Verifique se o subdomínio/domínio corresponde ao configurado no campo SUBDOMAIN ou nas configurações de domínio personalizado. Se você acabou de enviar o site, aguarde até 60 segundos para a Square liberar o primeiro acesso.

Site demorou demais para responder...

Verifique se configurou corretamente a porta 80 e host 0.0.0.0 na aplicação. Recomendamos usar as variáveis de ambiente forçadas da Square: PORT e HOST do arquivo .env.
Se você continuar enfrentando dificuldades técnicas, nossa equipe de suporte especializada está disponível para auxiliá-lo. Entre em contato conosco e teremos prazer em ajudá-lo a resolver qualquer questão.