Criando um Bot
Passo 1. Crie um aplicativo (siga o link).
Passo 2. Adicione um bot (clique no botão "Adicionar Bot").

Passo 2.1. Na seção Instalação, selecione Link de Instalação → Nenhum.

Passo 2.2. Na seção Bot, desabilite Bot Público, em seguida, ative as seguintes Intenções:
- Intenção de Conteúdo de Mensagem
- Intenção de Membros do Servidor
Você também pode ativar a Intenção de Presença para uso futuro.


Passo 3. Obtenha o token (Redefinir Token).
Passo 4. Adicione o bot ao servidor:
- Vá para OAuth2 → Gerador de URL.
- Em Escopos, selecione bot.
- Em Permissões do Bot, escolha Enviar Mensagens, Ler Histórico de Mensagens e quaisquer outras permissões necessárias.
Em seguida, abra o link gerado, selecione o servidor onde deseja adicionar o bot e confirme a autorização.


Para obter o webhook completo do Discord, basta atribuir qualquer valor à variável save_webhook.
Se a variável estiver definida, o webhook será salvo em discord_webhook.
Conectando o Bot do Discord no MaviBot
Agora vá para a seção "Mensageiros" no seu projeto no MaviBot:

Em seguida, cole o token copiado do Discord.

Clique no botão Concluído.
Funções da Calculadora
Responder a uma Mensagem
discord_reply_to_message(message_id, text) - Esta função é usada para responder a uma mensagem.
| Parâmetros | Descrição |
|---|---|
| ! message_id | O ID da mensagem à qual você deseja responder. |
| ! text | O texto da mensagem de resposta. |
Excluir uma Mensagem
discord_delete_message(message_id) - Esta função é usada para excluir uma mensagem.
| Parâmetros | Descrição |
|---|---|
| ! message_id | O ID da mensagem a ser excluída. |
Editar uma Mensagem
discord_edit_message(message_id, text) - Esta função é usada para editar uma mensagem.
| Parâmetros | Descrição |
|---|---|
| ! message_id | O ID da mensagem a ser editada. |
| ! text | O novo texto da mensagem. |
Fixar uma Mensagem
discord_pin_message(message_id) - Esta função é usada para fixar uma mensagem.
| Parâmetros | Descrição |
|---|---|
| ! message_id | O ID da mensagem a ser fixada. |
Desafixar uma Mensagem
discord_unpin_message(message_id) - Esta função é usada para desafixar uma mensagem.
| Parâmetros | Descrição |
|---|---|
| ! message_id | O ID da mensagem a ser desafixada. |
Enviar uma Reação a uma Mensagem
discord_send_reaction(message_id, reaction) - Esta função é usada para enviar uma reação a uma mensagem.
| Parâmetros | Descrição |
|---|---|
| ! message_id | O ID da mensagem para a qual enviar uma reação. |
| ! reaction | A reação a ser enviada. Você pode fornecer um único emoji (por exemplo, ❤️) ou o ID de um emoji personalizado no servidor. Informações sobre como obter o ID de um emoji personalizado são fornecidas abaixo. |
Remover uma Reação de uma Mensagem em um Canal
discord_delete_reaction(message_id, reaction, user_id) - Esta função é usada para remover uma reação de uma mensagem em um canal.
| Parâmetros | Descrição |
|---|---|
| ! message_id | O ID da mensagem da qual remover a reação. |
| ! reaction | A reação a ser removida. Você pode fornecer um único emoji (por exemplo, ❤️) ou o ID de um emoji personalizado no servidor. Informações sobre como obter o ID de um emoji personalizado são fornecidas abaixo. |
| user_id | O ID do usuário cuja reação você deseja remover. Este parâmetro é opcional se você deseja remover a reação do bot atual. |
Funções do Discord
As funções a seguir permitem gerenciar servidores, membros, canais, cargos, mensagens e convites do Discord.
Moderação de Membros
Banir um Membro
discord_ban_member(user_id, delete_message_seconds) - Esta função é usada para banir um membro do servidor do Discord.
| Parâmetros | Descrição |
|---|---|
| ! user_id | O ID de usuário do Discord do membro a ser banido. |
| delete_message_seconds | (Opcional) Exclui as mensagens anteriores do membro a partir do número especificado de segundos antes do banimento. Defina 0 para manter todas as mensagens. |
Desbanir um Membro
discord_unban_member(user_id) - Esta função é usada para remover o banimento de um membro.
| Parâmetros | Descrição |
|---|---|
| ! user_id | O ID de usuário do Discord do membro a ser desbanido. |
Expulsar um Membro
discord_kick_member(user_id) - Esta função é usada para remover um membro do servidor sem bani-lo.
| Parâmetros | Descrição |
|---|---|
| ! user_id | O ID de usuário do Discord do membro a ser removido. |
Um membro expulso pode entrar novamente no servidor usando um link de convite válido.
Silenciar um Membro
discord_timeout_member(user_id, seconds) - Esta função é usada para colocar um membro em silêncio (mudo).
| Parâmetros | Descrição |
|---|---|
| ! user_id | O ID de usuário do Discord do membro. |
| ! seconds | Duração do silêncio em segundos. |
Remover Silêncio
discord_remove_timeout(user_id) - Esta função é usada para remover o silêncio de um membro antes que ele expire.
| Parâmetros | Descrição |
|---|---|
| ! user_id | O ID de usuário do Discord do membro. |
Excluir Mensagens em Massa
discord_bulk_delete_messages(channel_id, message_ids) - Esta função é usada para excluir várias mensagens de um canal.
| Parâmetros | Descrição |
|---|---|
| ! channel_id | O ID do canal do Discord. |
| ! message_ids | Uma lista de IDs de mensagens a serem excluídas. |
Mensagens
Enviar uma Mensagem
discord_send_message(channel_id, text) - Esta função é usada para enviar uma mensagem para um canal do Discord.
| Parâmetros | Descrição |
|---|---|
| ! channel_id | O ID do canal do Discord. |
| ! text | O texto da mensagem. |
Obter uma Mensagem
discord_get_message(channel_id, message_id) - Esta função é usada para recuperar informações sobre uma mensagem.
| Parâmetros | Descrição |
|---|---|
| ! channel_id | O ID do canal do Discord. |
| ! message_id | O ID da mensagem. |
A função retorna:
- Conteúdo da mensagem
- Informações do autor
- Anexos
Enviar uma Mensagem Direta
discord_send_dm(user_id, text) - Esta função é usada para enviar uma mensagem direta para um membro do servidor.
| Parâmetros | Descrição |
|---|---|
| ! user_id | O ID de usuário do Discord. |
| ! text | O texto da mensagem. |
Cargos
Adicionar um Cargo
discord_add_role(user_id, role_id) - Esta função é usada para atribuir um cargo a um membro.
| Parâmetros | Descrição |
|---|---|
| ! user_id | O ID de usuário do Discord. |
| ! role_id | O ID do cargo do Discord. |
Remover um Cargo
discord_remove_role(user_id, role_id) - Esta função é usada para remover um cargo de um membro.
| Parâmetros | Descrição |
|---|---|
| ! user_id | O ID de usuário do Discord. |
| ! role_id | O ID do cargo do Discord. |
Alterar Apelido do Membro
discord_set_nickname(user_id, nickname) - Esta função é usada para alterar o apelido de um membro no servidor.
| Parâmetros | Descrição |
|---|---|
| ! user_id | O ID de usuário do Discord. |
| ! nickname | O novo apelido. |
Obter Cargos do Servidor
discord_get_roles() - Esta função é usada para recuperar a lista de cargos do servidor.
A função retorna:
- ID do cargo
- Nome do cargo
Membros
Obter Informações do Membro
discord_get_member(user_id) - Esta função é usada para recuperar informações sobre um membro do servidor.
| Parâmetros | Descrição |
|---|---|
| ! user_id | O ID de usuário do Discord. |
A função retorna:
- Cargos do membro
- Apelido no servidor
- Data de entrada
- Permissões
Canais
Criar um Canal
discord_create_channel(name, type, parent_id, permission_overwrites) - Esta função é usada para criar um novo canal do Discord.
| Parâmetros | Descrição |
|---|---|
| ! name | O nome do canal. |
| ! type | O tipo de canal (por exemplo, texto ou voz). |
| parent_id | O ID da categoria onde o canal será criado. |
| permission_overwrites | Configurações de permissão do canal que definem quais usuários ou cargos podem acessar o canal. |
Excluir um Canal
discord_delete_channel(channel_id) - Esta função é usada para excluir um canal do Discord.
| Parâmetros | Descrição |
|---|---|
| ! channel_id | O ID do canal do Discord. |
Definir Permissões do Canal
discord_set_channel_permission(channel_id, target_id, allow, deny) - Esta função é usada para configurar permissões de canal para um usuário ou cargo.
| Parâmetros | Descrição |
|---|---|
| ! channel_id | O ID do canal do Discord. |
| ! target_id | O ID do usuário ou ID do cargo cujas permissões serão alteradas. |
| ! allow | Permissões a conceder. |
| ! deny | Permissões a negar. |
Convites
Criar um Convite
discord_create_invite(channel_id, max_age, max_uses) - Esta função é usada para criar um link de convite.
| Parâmetros | Descrição |
|---|---|
| ! channel_id | O ID do canal do Discord. |
| max_age | Tempo de vida do convite em segundos. Use 0 para sem expiração. |
| max_uses | Número máximo de usos. Use 0 para usos ilimitados. |
Obter Convites do Servidor
discord_get_invites() - Esta função é usada para recuperar todos os links de convite do servidor.
A função retorna:
- URL do convite
- Número de usos
- Tempo de vida restante (se aplicável)
Eventos de Webhook
Os seguintes eventos do Discord podem ser encaminhados para o fluxo de chat:
- Membro entrou no servidor
- Membro saiu do servidor
- Membro foi expulso
- Membro foi banido
- Membro foi desbanido
- Cargos do membro alterados
- Mensagem editada
- Mensagem deletada
- Reação adicionada
- Reação removida
- Comando de barra executado
- Botão clicado
Payload do Webhook
Os dados do webhook estão disponíveis em:
discord_webhook["data"]
| Campo | Descrição |
|---|---|
| author_id | ID do usuário do Discord do autor da mensagem. |
| username | Nome de usuário do Discord. |
| nickname | Apelido no servidor. |
| channel_id | ID do canal do Discord. |
| guild_id | ID do servidor do Discord. |
| message_id | ID da mensagem do Discord. |
| content | Texto da mensagem. |
| roles | Lista dos IDs dos cargos do membro. |
| is_admin | Indica se o membro tem privilégios de administrador. |
Callbacks
Quando um usuário envia uma reação, um callback é recebido no chat no seguinte formato:
new_like ❤️ uid413984787162726410

Onde uid413984787162726410 é o ID do usuário que enviou a reação.
Como obter o ID de um emoji personalizado
Se você enviar uma reação personalizada para uma mensagem em um canal do Discord, um callback será recebido no seguinte formato:
new_like beer:1479419477396291696 uid413984787162726410

Onde beer:1479419477396291696 é o ID da reação. Você pode copiá-lo para usar em funções relacionadas a reações.
Como obter o ID da Mensagem
Você pode obter o ID da mensagem do cliente a partir do webhook se save_webhook estiver ativado. Exemplo:
data = discord_webhook["data"]
msg_id = data["id"]
result = discord_reply_to_message(msg_id, "Esta é uma resposta a uma mensagem")
Callbacks Adicionais
Além de new_like, os seguintes callbacks estão disponíveis:
| Callback | Descrição |
|---|---|
new_like {emoji} uid{user_id} |
Um usuário adicionou uma reação a uma mensagem. |
reaction_remove {emoji} uid{user_id} |
Um usuário removeu uma reação de uma mensagem. |
message_delete mid{message_id} |
Uma mensagem foi deletada. |
message_edit mid{message_id} |
Uma mensagem foi editada. O texto atualizado da mensagem está disponível nos dados do webhook. |
member_join uid{user_id} |
Um membro entrou no servidor. |
member_leave uid{user_id} |
Um membro saiu do servidor. |
member_update uid{user_id} |
As informações de um membro (como cargos ou apelido) foram atualizadas. |
member_ban uid{user_id} |
Um membro foi banido do servidor. |
member_unban uid{user_id} |
Um membro foi desbanido do servidor. |
Variáveis de Callback
Para consistência com o formato de evento existente do Discord, os identificadores de usuário e mensagem usam prefixos históricos:
- IDs de usuário são retornados como
uid{user_id}. - IDs de mensagem são retornados como
mid{message_id}.
As seguintes variáveis também usam esses identificadores prefixados:
message_frominternal_iddiscord_webhook["data"]