Skip to content

Repository files navigation

Square Cloud Banner

📌 Note: This README is written in Portuguese because this project was created as part of a YouTube tutorial series in Portuguese.

bot-manager

Um bot gerenciador de aplicações criado durante uma série de aulas, usando a API da Square Cloud.


Este projeto é um bot gerenciador desenvolvido durante uma série de aulas sobre a API da Square Cloud. Ele mostra como usar a API para hospedar e controlar aplicações direto pelo Discord: os usuários ativam o bot com um pagamento pelo Mercado Pago, enviam projetos .zip com /deploy e iniciam, param, reiniciam ou deletam as suas aplicações com /apps.

A playlist que originou este projeto está disponível no YouTube: https://www.youtube.com/playlist?list=PLHWgkdFp1yhgViA0CjVsYEqkVPbFSigW7

ℹ️ O código foi atualizado para o SDK Python da Square Cloud v5 (squarecloud-api~=5.0), então ele é um pouco diferente do mostrado nos vídeos, que usavam a v4.


☁️ Como hospedar na Square Cloud

Nunca usou a Square Cloud? Siga os passos abaixo, na ordem: você vai criar uma conta, escolher um plano, criar o banco de dados e o bot no Discord, juntar as chaves e enviar o projeto.

1️⃣ Crie sua conta na Square Cloud

Cadastre-se na página de cadastro da Square Cloud com o seu e-mail.

2️⃣ Escolha um plano

A hospedagem na Square Cloud precisa de um plano ativo, e o banco de dados e o envio pedem um, então escolha agora.

O bot usa só 256 MB de RAM, mas guarda os dados em um MongoDB, e bancos de dados na Square Cloud exigem o plano Standard ou superior. Escolha o Standard: ele também tem RAM para as aplicações que os seus usuários vão enviar. Compare todos os planos e preços na página de planos.

⚠️ As aplicações enviadas com /deploy ficam na conta dona da SQUARE_KEY e usam a RAM do seu plano.

3️⃣ Crie o banco MongoDB

  1. Crie um banco MongoDB no dashboard da Square Cloud (veja como criar um banco de dados gerenciado).
  2. Na página do banco, copie a URL de conexão e baixe o certificado. Salve o certificado com o nome certificate.pem: ele vai junto do projeto no passo 6.

4️⃣ Crie o bot no Discord

  1. No Discord Developer Portal, clique em New Application e dê um nome ao bot.
  2. Na aba Bot, clique em Reset Token e copie o token. Guarde-o em segredo: ele controla o seu bot.
  3. Convide o bot para o seu servidor: em OAuth2 > URL Generator, marque bot e applications.commands e abra o link gerado. Este bot usa só comandos de barra, então não precisa de intents privilegiadas.

5️⃣ Pegue as chaves da Square Cloud e do Mercado Pago

6️⃣ Prepare o projeto

  1. No topo desta página, clique em Code > Download ZIP e extraia o arquivo.
  2. Coloque o certificate.pem (passo 3) dentro da pasta extraída.
  3. Selecione todos os arquivos dentro da pasta e compacte-os em um novo .zip. Compacte os arquivos, não a pasta: o squarecloud.app precisa ficar na raiz do zip.

7️⃣ Envie para a Square Cloud

  1. Acesse a página de upload da Square Cloud.
  2. Selecione a opção de zip e envie o arquivo que você criou.
  3. Abra Configuração avançada e adicione as variáveis de ambiente:
    • BOT_TOKEN: o token do bot (passo 4)
    • SQUARE_KEY: a chave de API da Square Cloud (passo 5)
    • DATABASE_URL: a URL de conexão do MongoDB (passo 3)
    • MP_TOKEN: o Access Token do Mercado Pago (passo 5)
  4. Clique em Deploy.

Enviando um projeto para a Square Cloud

8️⃣ Teste o bot

Use /gerenciar_ativacao para ativar a sua conta, depois /deploy para enviar um projeto e /apps para gerenciá-lo. Se o bot não responder, abra a aplicação no dashboard da Square Cloud e confira os logs.

📖 Mais detalhes no guia de bots do Discord da documentação da Square Cloud.


💻 Rodando no seu computador

  1. Instale as dependências: pip install -r requirements.txt
  2. Crie um arquivo .env com as variáveis do passo 7 e coloque o certificate.pem ao lado do main.py.
  3. Rode o bot: python main.py
  4. Para conferir a regra de pagamento (só pagamentos aprovados ativam o bot), rode python test_pagamentos.py.

Requer Python 3.11 ou mais recente.

About

A bot created during our series of classes on creating a Bot Manager using the Square Cloud API.

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages