Neste guia, você aprenderá a criar um bot de música no Discord utilizando Python e discord.py. O bot permitirá que você toque músicas do YouTube diretamente em um canal de voz no Discord, além de oferecer comandos úteis como play, stop, join e leave.
Antes de começar, certifique-se de ter instalado os seguintes itens:
- Python 3.8 ou superior: Baixe aqui
- FFmpeg: Baixe aqui (vamos ensinar mais pra fente como instalar se você não tiver).
- Bibliotecas Python:
discord.pyyoutube_dlasyncioyt-dlpyoutube_dlPyNaCl
Instale as bibliotecas necessárias executando este comando no terminal:
python -m pip install discord.py yt-dlp youtube_dl asyncio pynacl- Acesse o Discord Developer Portal e faça login.
- Crie uma nova aplicação e dê um nome para o seu bot.
- Na aba Bot, clique em Add Bot para criar o bot.
- Copie o Token do bot (você vai precisar dele mais tarde).
- Na aba Bot, role um pouco a página para baixo e ative Presence Intent, Server Members Intent, e Message Content Intent.
- Adicione o bot ao seu servidor. Na aba OAuth2, selecione a opção bot nas permissões e gere um link. Use esse link para convidar o bot para o seu servidor.
O FFmpeg é um software necessário para processar o áudio no bot de música do Discord. Ele será utilizado para converter e transmitir o áudio obtido de fontes como o YouTube, que nós estamos utilizando.
-
Windows:
- Baixe a versão full do FFmpeg a partir do site oficial: FFmpeg Download.
- Extraia o conteúdo do arquivo baixado.
- Copie o caminho da pasta
bin(onde está o executávelffmpeg.exe). - Adicione esse caminho às variáveis de ambiente do Windows:
- Vá em Painel de Controle > Sistema > Configurações Avançadas do Sistema.
- Clique em Variáveis de Ambiente.
- No campo Path, clique em Editar e adicione o caminho copiado para a pasta
bin.
- Reinicie o terminal ou o sistema para aplicar as mudanças.
-
Linux (Debian/Ubuntu):
- Execute o seguinte comando no terminal para instalar o FFmpeg:
sudo apt update sudo apt install ffmpeg
- Verifique a instalação digitando:
ffmpeg -version
- Execute o seguinte comando no terminal para instalar o FFmpeg:
-
macOS:
- Se você tem o Homebrew instalado, pode facilmente instalar o FFmpeg com:
brew install ffmpeg
- Verifique a instalação com:
ffmpeg -version
- Se você tem o Homebrew instalado, pode facilmente instalar o FFmpeg com:
- No mesmo diretório onde você está, o código do bot estará disponível no arquivo chamado bot.py.
- Para executar o bot, abra o terminal na pasta onde o arquivo bot.py está localizado e execute o seguinte comando:
python bot.py
- Quando o bot estiver online, ele ficará disponível no seu servidor do Discord, pronto para tocar músicas!
$$join: O bot entra no canal de voz em que você está.$$leave: O bot sai do canal de voz.$$play <nome da música ou URL>: O bot busca e toca a música desejada.$$stop: O bot para a música atual.$$ping: O bot retorna o ping dele e da API.
1. Meu bot não está conectando no canal de voz, o que posso fazer?
Verifique se você deu as permissões corretas ao bot ao adicioná-lo ao servidor. O bot precisa de permissões para conectar-se e falar no canal de voz.
2. O bot não está tocando música, o que pode estar acontecendo?
Isso pode acontecer se a busca no YouTube não retornar nenhum resultado. Verifique o nome da música ou a URL e tente novamente.
3. O que fazer se o bot estiver online mas não responder aos comandos?
Certifique-se de que você está usando o prefixo correto nos comandos (o padrão com o código, é $$). Além disso, verifique se o token do bot está corretamente inserido no código.
Aqui está a continuação do README com mais informações úteis, sem remover nada:
Agora que você configurou o bot e ele já está rodando, você pode querer adicionar mais funcionalidades para torná-lo ainda mais útil e interessante. Aqui estão algumas ideias:
-
Comando de Loop: Adicione a capacidade de repetir a música que está tocando até que o usuário pare. Você pode criar um comando
$$looppara ativar ou desativar essa função. -
Comando de Volume: Permita que os usuários ajustem o volume da música. Você pode adicionar um comando
$$volume <valor>para definir o volume entre 0 e 100. -
Fila de Músicas: Se você deseja melhorar o bot, considere adicionar uma fila para tocar várias músicas em sequência. Assim, os usuários podem enfileirar músicas com um comando como
$$queue <nome ou URL>e usar$$skippara pular para a próxima música.
Caso você enfrente alguns erros durante o uso do bot, aqui estão algumas soluções comuns:
Erro de Permissões no Canal de Voz:
O bot precisa de permissões específicas para funcionar corretamente. Se ele não conseguir se conectar ou falar em um canal de voz, verifique as seguintes permissões no Discord:
- Conectar: O bot precisa de permissão para se conectar ao canal de voz.
- Falar: O bot precisa de permissão para transmitir áudio no canal.
Erro de FFmpeg Não Encontrado:
Se o bot não conseguir reproduzir áudio, pode ser que o FFmpeg não esteja corretamente instalado ou configurado no caminho do sistema. Verifique a instalação do FFmpeg e se ele está configurado nas variáveis de ambiente corretamente.
Com o tempo, você pode perceber que algumas APIs externas (como o YouTube) mudam, causando problemas no bot. Para garantir que tudo continue funcionando corretamente, é uma boa prática atualizar periodicamente suas bibliotecas. Para isso, execute o comando:
python -m pip install --upgrade discord.py yt-dlp youtube_dl-
Nunca compartilhe seu Token: O token do bot é como uma chave secreta. Qualquer pessoa que tenha acesso a ele pode controlar seu bot. Certifique-se de mantê-lo seguro e não incluí-lo em repositórios públicos.
-
Crie um arquivo
.envpara armazenar o token: Para melhorar a segurança, você pode usar variáveis de ambiente para armazenar o token do bot. Dessa forma, você não precisará incluí-lo diretamente no código. Aqui está um exemplo de como configurar isso:- Crie um arquivo
.envno mesmo diretório que seubot.py:DISCORD_TOKEN=seu_token_aqui - No seu código Python, use a biblioteca
ospara carregar o token:import os from dotenv import load_dotenv load_dotenv() TOKEN = os.getenv('DISCORD_TOKEN')
- Crie um arquivo
Se você deseja aprender mais ou expandir as funcionalidades do bot, aqui estão alguns links úteis:
Agora você tem seu próprio bot de música rodando no Discord, pronto para animar seu servidor! Para mais funcionalidades, sinta-se à vontade para modificar o código e adaptá-lo conforme suas necessidades. Boa sorte e divirta-se programando!
Note: This guide, including all its content, code samples, and methodologies, is protected under the Creative Commons Attribution-NonCommercial License (CC BY-NC). By using or redistributing any part of this guide, you agree to comply with the terms specified in the license. For full license details, please refer to the LICENSE.md file included in this repository.
Unauthorized commercial use or failure to give appropriate credit may result in termination of granted rights. For any questions or commercial inquiries, please contact the author, SoloDev (Hansolox80).