Doggo é um bot de Discord robusto e escalável, desenvolvido como projeto pessoal para demonstrar habilidades em desenvolvimento backend com Python. O bot atende um servidor ativo com centenas de usuários e inclui sistemas completos de economia virtual, integração com IA, automações e muito mais.
- Arquitetura modular com sistema de Cogs para organização escalável
- Banco de dados PostgreSQL com operações assíncronas para alta performance
- Integração com APIs externas (Twitch, Google Gemini AI, Tracker.gg)
- Sistema de economia completo com múltiplos jogos e transações
- Chatbot com IA usando Google Gemini com contexto de conversa
- Notificações de livestream com polling da API da Twitch
| Comando | Descrição |
|---|---|
/daily, /work, /crime |
Formas de ganhar moedas |
/bet, /blackjack, /roulette, /slots |
Jogos de cassino |
/pay, /deposit, /withdraw |
Transações e banco |
/leaderboard, /money |
Rankings e saldo |
/rob, /fish, /hunt |
Atividades interativas |
- Chat contextual com Google Gemini
- Personalidade customizável via configuração
- Histórico de conversas por canal
- Múltiplas API keys com rotação automática
- Monitoramento automático de streams
- Notificações no Discord quando canais ficam online
- Configuração flexível de canais e menções
- Vinculação de contas Riot Games
- Stats de Valorant e League of Legends
- Integração com API Henrik/Tracker.gg
- Sistema de casamento entre usuários
- Comandos interativos e memes
- Sistema de snipe para mensagens deletadas
- Sistema de multas e moderação
- Controle de cooldowns por comando
- Logs detalhados de ações
- Painel de configuração
doggo/
├── bot.py # Entry point
├── config.py # Configurações via environment
├── cogs/ # Módulos do bot (comandos)
│ ├── admin/ # Comandos administrativos
│ ├── economia/ # Sistema econômico completo
│ ├── eventos/ # Event handlers e automações
│ ├── tracker/ # Integração com APIs de games
│ └── utilidades/ # Comandos utilitários
├── database/ # Camada de persistência
│ ├── economy_async.py # Operações de economia (PostgreSQL)
│ ├── casino_async.py # Dados de jogos
│ └── config_manager.py # Configurações dinâmicas
└── utils/ # Utilitários compartilhados
├── logger.py # Sistema de logging
└── checks.py # Decorators de validação
| Categoria | Tecnologias |
|---|---|
| Linguagem | Python 3.11+ |
| Framework | discord.py 2.6+ (async/await) |
| Banco de Dados | PostgreSQL com asyncpg |
| IA | Google Gemini API |
| APIs Externas | Twitch API, Henrik API |
| Qualidade | Ruff, Black, Pre-commit |
| Segurança | SSL/TLS, Environment Variables |
- Python 3.11+
- PostgreSQL (ou use a URL de conexão)
- Token de bot Discord
# Clonar repositório
git clone https://github.com/nimdiido/doggo.git
cd doggo
# Criar ambiente virtual
python -m venv .venv
# Ativar (Windows PowerShell)
.\.venv\Scripts\Activate.ps1
# Instalar dependências
pip install -r requirements.txt
# Configurar variáveis de ambiente
cp .env.example .env
# Edite .env com suas credenciais
# Executar
python bot.pyDISCORD_TOKEN=seu_token_aqui
DATABASE_URL=postgresql://user:pass@host:port/db
TWITCH_CLIENT_ID=opcional
TWITCH_CLIENT_SECRET=opcional
AI_API_KEY=opcional_para_chat_ia- 50+ comandos implementados
- 15+ módulos (cogs) organizados
- 100% operações assíncronas
- Código seguindo PEP 8 com Ruff/Black
- Credenciais gerenciadas via variáveis de ambiente
- Conexões SSL com banco de dados
- Validação de permissões por comando
- Rate limiting e cooldowns
Projeto desenvolvido para fins de aprendizado e demonstração de habilidades em desenvolvimento backend.