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_from
  • internal_id
  • discord_webhook["data"]