📌 Note: This README is written in Portuguese because this project was created as part of a YouTube tutorial series in Portuguese.
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.
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.
Cadastre-se na página de cadastro da Square Cloud com o seu e-mail.
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/deployficam na conta dona daSQUARE_KEYe usam a RAM do seu plano.
- Crie um banco MongoDB no dashboard da Square Cloud (veja como criar um banco de dados gerenciado).
- 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.
- No Discord Developer Portal, clique em New Application e dê um nome ao bot.
- Na aba Bot, clique em Reset Token e copie o token. Guarde-o em segredo: ele controla o seu bot.
- Convide o bot para o seu servidor: em OAuth2 > URL Generator, marque
boteapplications.commandse abra o link gerado. Este bot usa só comandos de barra, então não precisa de intents privilegiadas.
- Square Cloud: crie uma chave de API nas configurações de segurança da sua conta. Ela aparece uma única vez: copie na hora.
- Mercado Pago: no painel de desenvolvedores, crie uma aplicação e copie o Access Token das credenciais de produção.
- No topo desta página, clique em Code > Download ZIP e extraia o arquivo.
- Coloque o
certificate.pem(passo 3) dentro da pasta extraída. - Selecione todos os arquivos dentro da pasta e compacte-os em um novo
.zip. Compacte os arquivos, não a pasta: osquarecloud.appprecisa ficar na raiz do zip.
- Acesse a página de upload da Square Cloud.
- Selecione a opção de zip e envie o arquivo que você criou.
- 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)
- Clique em Deploy.
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.
- Instale as dependências:
pip install -r requirements.txt - Crie um arquivo
.envcom as variáveis do passo 7 e coloque ocertificate.pemao lado domain.py. - Rode o bot:
python main.py - Para conferir a regra de pagamento (só pagamentos aprovados ativam o bot), rode
python test_pagamentos.py.
Requer Python 3.11 ou mais recente.

