Por que hooks de atribuição de cargo no Discord geram entradas diferentes no registro de auditoria
🔍 WiseChecker

Por que hooks de atribuição de cargo no Discord geram entradas diferentes no registro de auditoria

Ao usar um bot ou webhook personalizado para atribuir cargos no Discord, o registro de auditoria geralmente mostra uma fonte diferente da esperada. Em vez de listar o bot que realmente atribuiu o cargo, o registro pode exibir o desenvolvedor do bot ou uma entrada genérica do sistema. Essa inconsistência ocorre porque o registro de auditoria do Discord grava a entidade que acionou a alteração do cargo, não necessariamente o executor direto. Entender por que essas diferenças ocorrem ajuda administradores de servidor a auditar permissões corretamente e solucionar entradas inesperadas no registro.

Principais conclusões: por que os registros de auditoria de atribuição de cargo variam conforme o tipo de hook

  • Tipo de integração da API do Discord: A fonte do registro de auditoria depende se o cargo foi atribuído via token de bot, webhook ou integração de assinatura do servidor.
  • Dono da integração vs. aplicativo do bot: Quando um webhook ou integração atribui um cargo, o registro mostra o ID de usuário do dono da integração, não o ID do aplicativo do bot.
  • Sincronização de cargos de assinatura do servidor: O sistema integrado de assinatura do servidor do Discord registra atribuições de cargo sob a própria integração do servidor, não sob nenhum bot externo.

ADVERTISEMENT

Como o registro de auditoria do Discord grava atribuições de cargo

O registro de auditoria do Discord é um registro cronológico de ações administrativas, incluindo alterações de cargo. Cada entrada contém um alvo — o usuário que recebeu o cargo, um cargo — o cargo adicionado ou removido, e um usuário — a entidade que executou a ação. O campo usuário é onde as inconsistências aparecem.

Quando um bot atribui um cargo usando seu próprio token de bot por meio do endpoint da API Guild.add_member_role, o registro de auditoria lista o aplicativo do bot como o usuário. O nome e o avatar do bot aparecem no registro. No entanto, quando o mesmo bot usa um webhook para atribuir um cargo, o dono do webhook se torna o usuário no registro de auditoria. Isso acontece porque o webhook age sob a autorização de seu criador, não do aplicativo do bot.

Autorização de token de bot vs. token de webhook

A API do Discord autentica cada requisição usando um token de bot ou um token de webhook. Um token de bot está vinculado a um aplicativo específico e representa o próprio bot. Um token de webhook está vinculado a uma URL de webhook específica e representa o dono do webhook. Quando o webhook executa uma atribuição de cargo, o Discord registra o dono do webhook como o usuário responsável. Isso é proposital para evitar que bots se escondam atrás de webhooks e manter a responsabilidade.

Assinaturas do servidor e cargos de integração

O recurso de assinatura do servidor do Discord atribui automaticamente cargos a membros pagantes. Essas alterações de cargo são registradas sob o sistema de integração do servidor, não sob nenhum bot. O registro de auditoria mostra o nome da integração, como “Assinaturas do Servidor”, como o usuário. Isso é separado das atribuições de cargo feitas por bots ou webhooks externos.

Passos para identificar por que um registro de auditoria de atribuição de cargo mostra um usuário diferente

Para determinar por que uma entrada específica do registro de auditoria mostra um determinado usuário, siga estes passos. Você precisará do menu Configurações do Servidor e da página Registro de Auditoria.

  1. Abra Configurações do Servidor
    Clique no nome do servidor no canto superior esquerdo da janela do Discord. Selecione Configurações do Servidor no menu suspenso.
  2. Navegue até o Registro de Auditoria
    Na barra lateral esquerda, clique em Registro de Auditoria. Isso mostra uma lista de ações administrativas recentes.
  3. Filtre por alterações de cargo
    Clique no botão Filtrar no canto superior direito. No menu suspenso, selecione Atualização de Cargo de Membro. Isso restringe a lista apenas a atribuições de cargo.
  4. Inspecione uma entrada específica
    Encontre a atribuição de cargo que deseja verificar. Observe a coluna Usuário. Ela mostrará um dos seguintes:
    • Nome do bot — O cargo foi atribuído por um bot usando seu próprio token de bot.
    • Nome do dono do webhook — O cargo foi atribuído via um webhook. O usuário mostrado é a pessoa que criou o webhook.
    • Nome da integração — O cargo foi atribuído por uma assinatura do servidor ou outra integração.
    • Nome do membro do servidor — O cargo foi atribuído manualmente por um moderador ou administrador do servidor.
  5. Identifique o tipo de integração
    Se o usuário não for um bot ou um membro, clique na entrada para expandi-la. Procure pelo campo Integração. Isso informa qual integração executou a ação. Por exemplo, Assinaturas do Servidor ou integração Twitch.

ADVERTISEMENT

Se o Discord ainda mostrar usuários inesperados no registro de auditoria após a verificação

Mesmo após seguir os passos acima, você pode ver entradas que parecem incorretas. Aqui estão cenários comuns e suas causas.

Bot atribuiu um cargo, mas o registro de auditoria mostra o desenvolvedor do bot

Se o bot usa um webhook para atribuir cargos, o registro de auditoria mostra o dono do webhook. O dono do webhook é tipicamente o desenvolvedor do bot que criou a URL do webhook. Para evitar isso, o bot deve usar seu token de bot diretamente em vez de um webhook. Verifique o código ou a configuração do bot para ver se ele usa WebhookClient.send ou métodos similares de webhook para alterações de cargo.

Atribuição de cargo registrada sob um nome de integração desconhecido

Alguns bots de terceiros criam suas próprias integrações no seu servidor. Quando essas integrações atribuem cargos, o registro de auditoria mostra o nome da integração, não o bot. Para ver qual bot criou a integração, vá em Configurações do Servidor > Integrações. Encontre a integração na lista e clique em Gerenciar. Os detalhes da integração mostram o aplicativo do bot associado.

Alterações de cargo de assinatura do servidor não aparecem no registro de auditoria

As atribuições de cargo da assinatura do servidor do Discord sempre aparecem sob a integração Assinaturas do Servidor. Se você não vir essas entradas, certifique-se de ter o filtro correto. Limpe todos os filtros e procure por entradas com o campo de usuário definido como Assinaturas do Servidor. Se estiverem ausentes, seu registro de auditoria pode estar filtrado por tempo ou tipo de ação.

Fontes do registro de auditoria de atribuição de cargo no Discord: token de bot vs. webhook vs. integração

Item Token de Bot Webhook Integração de Assinatura do Servidor
Tipo de autorização Token de bot do aplicativo Token da URL do webhook Token de integração do servidor
Usuário mostrado no registro de auditoria Nome do aplicativo do bot Nome do dono do webhook Nome da integração, ex.: Assinaturas do Servidor
Pode atribuir cargos Sim, se o bot tiver permissão Gerenciar Cargos Sim, se o webhook tiver permissão Gerenciar Cargos Sim, automaticamente pelo Discord
Entidade responsável Desenvolvedor do bot via aplicativo Criador do webhook Dono do servidor via configurações de assinatura
Caso de uso comum Bots de moderação personalizados Mensagens de boas-vindas automatizadas com atribuição de cargo Cargos de membros pagantes

Agora você entende por que hooks de atribuição de cargo no Discord geram entradas diferentes no registro de auditoria. O fator principal é o método de autenticação usado pelo hook. Para garantir que o registro de auditoria mostre o bot correto, use tokens de bot para atribuições de cargo em vez de webhooks. Para assinaturas do servidor, lembre-se de que o Discord as registra sob o sistema de integração. Se você precisar rastrear todas as alterações de cargo com precisão, revise as chamadas de API do seu bot e verifique a página de Integrações nas Configurações do Servidor. Considere usar um bot de auditoria dedicado que registre alterações de cargo em um canal privado para um rastreamento mais detalhado.

ADVERTISEMENT