Como criar um bot do Discord em Python
Seu próprio servidor Discord pode dar muito trabalho, e é por isso que os bots que cuidam das funções administrativas são populares. Você pode criar facilmente seu próprio bot usando a biblioteca Python discord.py e aplicando conhecimentos básicos de Python.
Passo a passo para criar seu próprio bot Python Discord
Antes de começar a programar seu bot, você deve criar um bot do Discord. Você pode criar seu próprio aplicativo com o Discord e, depois de fazer isso, nada impedirá seu bot do Discord. O código necessário para o seu bot do Discord depende das tarefas que você deseja automatizar. O bot apresentado neste tutorial tem o objetivo de adicionar funções em um servidor Discord.
Etapa 1: instalar o discord.py
Para criar seu bot, a biblioteca Python discord.py é uma ferramenta essencial. Antes de começar, você deve instalá-la em seu sistema usando o pip, como é de costume com o Python. No Windows, o comando de terminal apropriado para a instalação é:
Etapa 2: criar documento Python
Crie um novo documento Python para codificar seu bot. Você pode usar vários editores de código para seu arquivo Python ou um ambiente de desenvolvimento integrado (IDE) como o Pycharm.
Etapa 3: conectar-se ao Discord
Primeiro, importe a biblioteca do Discord para seu documento Python. Defina o token do bot que você recebeu ao registrar seu bot do Discord no site do desenvolvedor do Discord. Para fazer isso, substitua o espaço reservado pelo seu token de bot personalizado:
Você precisa da biblioteca para interagir com a API do Discord. Para se conectar ao Discord, você precisará de uma instância do chamado objeto cliente. Use o código a seguir para criá-lo:
Etapa 4: verificar se a conexão foi estabelecida com sucesso
Para garantir que seu bot esteja conectado corretamente ao servidor Discord, inclua um método assíncrono em seu arquivo Python. Isso é feito respondendo ao evento on_ready
, que é definido na API discord.py. Para permitir que sua função funcione como um manipulador de eventos, use o @client.event
decorador em Python.
As funções assíncronas são frequentemente empregadas na programação de bots do Discord. Isso garante que a função seja executada em um thread dedicado separado do thread principal, permitindo a execução paralela de tarefas de bot sem bloquear o thread principal.
Etapa 5: adicionar funcionalidades ao seu bot
Para implementar a funcionalidade do bot no discord.py, o on_message
evento é utilizado. Esse evento é acionado sempre que o bot do Discord recebe uma mensagem. Para lidar com esse evento, seu método deve primeiro determinar o remetente da mensagem e, em seguida, executar a funcionalidade desejada, como adicionar funções.
Inicialmente, a função verifica se a mensagem recebida foi enviada pelo próprio bot do Discord. Se isso for verdade, a função é encerrada usando a instrução return
.
A próxima etapa envolve um exame mais detalhado do conteúdo da mensagem. Se a mensagem começar com a string !add_role
, o bot a reconhecerá como um comando. Isso indica que os usuários do servidor devem iniciar as solicitações ao bot do Discord com a string !add_role
. Embora qualquer string possa ser utilizada como um comando, é preferível usar strings que não sejam comumente usadas em linguagem natural.
O bot determina o nome da função desejada a partir de um comando interpretado corretamente usando a função Python split()
. Em seguida, ele localiza a função relevante em seu servidor. Você pode fazer isso aproveitando o objeto message
, que contém várias informações sobre o servidor no campo message.guild
.
Se a função não existir e, consequentemente, tiver o valor “None” (Nenhum), será gerada uma mensagem de erro e a função será encerrada usando a instrução return
. Se a função existir, ela será atribuída conforme necessário. Para isso, utilizamos a função add_roles
da biblioteca discord.py, que também é definida no objeto message
.
Seu bot do Discord tem a capacidade de executar qualquer tarefa que você definir para ele. Você pode criar bots que executem funções semelhantes às do conhecido bot de bate-papo e moderação, MEE6, ou até mesmo codificar seus próprios Discord Music Bots. Ilustramos isso usando um exemplo básico que os iniciantes podem seguir facilmente.