O que ZerynBot faz?
Pipeline de áudio, FFmpeg, yt-dlp, carregamento de libopus, resolução do Spotify, ciclo de vida de conexão de voz e otimizações de desempenho para ARM/Termux do ZerynBot V2.
Visão Geral
O ZerynBot V2 é um bot de música para Discord que oferece reprodução de áudio de alta qualidade através de uma pipeline otimizada. Ele utiliza ferramentas populares como FFmpeg e yt-dlp para processar e extrair áudio de várias fontes, incluindo YouTube e Spotify.
Funcionalidades Principais
- Pipeline de Áudio: Integração com FFmpeg para transcodificação e processamento de áudio em tempo real.
- Extração de Mídia: Suporte ao yt-dlp para baixar e extrair áudio do YouTube e outras plataformas.
- Codificação de Áudio: Carregamento e uso otimizado da biblioteca libopus para codificação Opus.
- Resolução do Spotify: Capacidade de resolver músicas do Spotify e obter metadados.
- Gerenciamento de Conexão de Voz: Ciclo de vida completo de conexões de voz, incluindo reconexão automática e tratamento de erros.
- Otimizações para ARM/Termux: Melhorias de desempenho específicas para dispositivos ARM e ambientes Termux, garantindo eficiência em dispositivos móveis e de baixo consumo.
Requisitos
- Python 3.8+
- FFmpeg
- yt-dlp
- libopus
- Dependências Python: discord.py, pynacl, aiohttp, requests
Instalação
# Clone o repositório
git clone https://github.com/namokla2005/ZerynBot.git
cd ZerynBot
# Instale as dependências
pip install -r requirements.txt
# Instale FFmpeg
sudo apt install ffmpeg # Debian/Ubuntu
# brew install ffmpeg # macOS
# winget install ffmpeg # Windows
# Instale yt-dlp
pip install yt-dlp
# Instale libopus
sudo apt install libopus0 # Debian/Ubuntu
# brew install opus # macOS
Configuração
- Crie um bot no Portal do Desenvolvedor do Discord.
- Copie o token do bot e defina como variável de ambiente:
export DISCORD_BOT_TOKEN="seu_token_aqui"
- (Opcional) Configure a chave da API do Spotify para resolução de músicas:
export SPOTIFY_CLIENT_ID="seu_client_id"
export SPOTIFY_CLIENT_SECRET="seu_client_secret"
Uso
Execute o bot:
python main.py
Comandos principais:
/play <url ou nome>: Reproduz áudio do YouTube, Spotify ou outra fonte./pause: Pausa a reprodução atual./resume: Retoma a reprodução./stop: Para a reprodução e desconecta o bot do canal de voz./skip: Pula para a próxima faixa./queue: Mostra a fila de reprodução.
Otimizações para ARM/Termux
Para melhor desempenho em dispositivos ARM (como Raspberry Pi) e Termux:
# Ajustar configurações de buffer
export FFMPEG_BUFFER_TIME=500ms
export OPUS_BITRATE=64000
# Usar otimizações de hardware (se disponível)
export ENABLE_HARDWARE_ACCELERATION=true
Essas configurações reduzem o uso de CPU e latência, garantindo reprodução suave em hardware limitado.
Estrutura do Projeto
ZerynBot/
├── main.py # Ponto de entrada do bot
├── requirements.txt # Dependências Python
├── config.py # Configurações e variáveis de ambiente
├── audio/
│ ├── pipeline.py # Lógica da pipeline de áudio
│ ├── ffmpeg_handler.py # Integração com FFmpeg
│ └── opus_handler.py # Carregamento do libopus
├── resolvers/
│ ├── youtube.py # Resolução do YouTube via yt-dlp
│ └── spotify.py # Resolução do Spotify
├── voice/
│ ├── connection.py # Gerenciamento de conexões de voz
│ └── lifecycle.py # Ciclo de vida da conexão
└── utils/
└── perf.py # Otimizações de desempenho
Contribuição
Contribuições são bem-vindas! Por favor, abra uma issue ou pull request para melhorias.
Licença
Este projeto é licenciado sob a licença MIT.
Nota: Para mais informações, consulte o repositório oficial do ZerynBot.