Communitygithub.com

namokla2005/ZerynBot

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.

O que é ZerynBot?

O ZerynBot V2 é um bot de música para Discord que utiliza uma pipeline de áudio completa, integrando FFmpeg para processamento de áudio, yt-dlp para extração de conteúdo de plataformas como YouTube e Spotify, e libopus para codificação de áudio de alta qualidade. Ele gerencia o ciclo de vida de conexões de voz, incluindo reconexão automática e suporte a múltiplas fontes de áudio. O skill também inclui otimizações específicas para dispositivos ARM e Termux, melhorando o desempenho em ambientes com recursos limitados. Com foco em estabilidade e eficiência, é ideal para desenvolvedores que desejam criar bots de música robustos e escaláveis.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/namokla2005/ZerynBot/tree/main/.agents/skills/music_audio_pipeline

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

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

  1. Crie um bot no Portal do Desenvolvedor do Discord.
  2. Copie o token do bot e defina como variável de ambiente:
export DISCORD_BOT_TOKEN="seu_token_aqui"
  1. (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.

Habilidades Relacionadas