O que é suportado
- Python 3.12, com as bibliotecas que o pip instala: discord.py, Pycord, nextcord…
- ffmpeg e libopus já instalados, para bots de música e voz (
discord.py[voice]). - Um site ao lado do teu bot (Flask, FastAPI…): recebe a variável
PORTe um endereço HTTPS. - Bases de dados: SQLite nos teus ficheiros (mantidos), ou PostgreSQL, MySQL e Redis criados num clique.
Estrutura do projeto
o-meu-bot/
├── requirements.txt ← os teus módulos
├── main.py ← ficheiro de arranque
├── .env ← TOKEN=...
├── cogs/
└── data/ ← SQLite, JSON…venv nem __pycache__: são ignorados e os módulos são instalados para o servidor.requirements.txt: os teus módulos
Os módulos são instalados a partir do requirements.txt no arranque, sempre que ele muda. Sem este ficheiro nada é instalado: o painel avisa-te.
discord.py>=2.4
python-dotenv>=1.0import os
import discord
from dotenv import load_dotenv
load_dotenv()
client = discord.Client(intents=discord.Intents.default())
@client.event
async def on_ready():
print(f"Ligado como {client.user}")
client.run(os.environ["TOKEN"])O ficheiro de arranque
A Invokara executa o primeiro que encontrar entre main.py, bot.py e app.py. O separador Ficheiros mostra o comando escolhido, e podes escolher lá outro ficheiro.
Token e variáveis
O teu .env é carregado automaticamente: os.environ["TOKEN"] funciona, com ou sem python-dotenv. Também podes guardar o token no separador Variáveis, onde fica cifrado e tem prioridade sobre o .env.
Os erros mais comuns
ModuleNotFoundError | Adiciona o módulo ao requirements.txt e reinicia. |
PrivilegedIntentsRequired | Ativa os intents pedidos (Message Content, Server Members, Presence) no separador Bot do portal de programadores. |
LoginFailure: Improper token | Gera um novo token (Bot → Reset Token) e substitui-o em Variáveis. |
O painel deteta os erros comuns e explica-os na consola. Vê também a página de resolução de problemas.
Perguntas frequentes
Que versão do Python está disponível?
Python 3.12.
Os bots de música funcionam?
Sim: o ffmpeg e o libopus estão instalados. A música gasta mais RAM: deixa margem (plano Standard ou Pro).
Tenho de enviar o meu ambiente virtual?
Não: venv e __pycache__ são ignorados, e os módulos do requirements.txt são instalados para o servidor.
O meu bot pode ter um dashboard em Flask ou FastAPI?
Sim, exceto com o plano Descoberta: ativa o painel web nas Definições e escuta na porta da variável PORT, em 0.0.0.0. O teu site abre em HTTPS em omeubot.invokara.cloud ou no teu próprio domínio.
Entra com o Discord e depois envia o teu projeto tal como está.