Pular para o conteúdo
Decoding Chat API

Logs de auditoria da guilda

Uma entrada de log de auditoria registra uma alteração feita em uma guilda e a conta que a fez. Apenas Listar logs de auditoria da guilda e sua contraparte na API de Admin os leem.

Uma rota marcada com Motivo de auditoria aceita o cabeçalho de requisição X-Audit-Log-Reason, listado junto com os outros cabeçalhos de requisição padrão. O Decoding Chat lê o valor literalmente e nunca o decodifica de porcentagem (percent-decode), portanto, um chamador que codifica o motivo com porcentagem o armazena e o lê de volta na forma codificada.

O Decoding Chat apara (trims) o valor. Um valor que está em branco antes de ser aparado, vazio após isso, ou maior que 512 caracteres após isso, não conta como nenhum motivo. Nenhum desses valores falha a requisição, então um motivo que ultrapassa o limite é descartado e a operação ainda é bem-sucedida.

As rotas de canal e de mensagem que gravam entradas registram o cabeçalho também: Modificar canal, Deletar ou sair do canal, Definir substituição de permissão do canal, Deletar substituição de permissão do canal, Deletar mensagem, Deletar mensagens em massa, Fixar mensagem, e Desafixar mensagem.

Duas operações usam um motivo do corpo da requisição quando o cabeçalho não fornece nenhum:

O Decoding Chat também nunca decodifica de porcentagem um motivo de corpo. A operação grava o motivo aceito em sua entrada, o retorna como o campo reason da entrada e o envia no Dispatch de Criação de Entrada no Log de Auditoria da Guilda.

O Decoding Chat resolve o motivo novamente quando lê uma entrada. Uma entrada MEMBER_BAN_ADD com um motivo armazenado em branco retorna o reason do banimento de sua lista de alterações, e uma entrada MEMBER_UPDATE com um motivo armazenado em branco retorna o motivo de tempo limite (timeout) armazenado com ele, quando houver. O resultado é aparado, e um resultado em branco é omitido.

Uma página do histórico de auditoria junto com as contas e webhooks que ele referencia. Apenas audit_log_entries é paginado.

CampoTipoDescrição
audit_log_entries1array[objeto de entrada de log de auditoria da guilda]A página de entradas que esta requisição retornou
users2array[objeto de usuário parcial]As contas que as entradas retornadas nomeiam
webhooks3array[objeto de webhook de log de auditoria]Os webhooks que uma ação de webhook retornada tem como alvo

1 A ordenação da página é definida pelos parâmetros de consulta da requisição que a produziu

2 Desduplicado pelo ID de usuário, e um valor referenciado que não é um snowflake não nomeia nenhuma conta

3 Um objeto para cada webhook distinto que uma ação de webhook retornada tem como alvo e que ainda existe, de modo que um webhook deletado não é resolvido em nenhum objeto

users tem o ator de cada entrada retornada e cada conta que a entrada referencia:

Uma conta que não pode mais ser resolvida ainda é retornada, como a representação de conta deletada com o nome de usuário DeletedUser, o discriminador 0000, o nome global Deleted User, um avatar nulo, uma cor de avatar nula e flags de 0.

Uma alteração registrada na guilda. Uma entrada é imutável uma vez gravada, exceto para uma execução de entradas de exclusão de mensagens, que Listar logs de auditoria da guilda pode substituir por uma única entrada consolidada.

CampoTipoDescrição
idsnowflakeO ID da entrada, cujo timestamp em snowflake é a hora em que foi gravada
action_typeintegerValor de ação de auditoria que identifica a operação registrada
user_id1snowflakeO ID do usuário que realizou a ação
target_id2?stringO ID da entidade afetada
reason?3stringO motivo de auditoria registrado com a operação
options?4objeto de opções de log de auditoriaOs campos de contexto que esta ação de auditoria registra
changes?5array[objeto de alteração de log de auditoria]Os campos que a mutação alterou

1 Toda entrada tem o ID do usuário atuante, e uma entrada produzida por consolidação tem o ator da execução consolidada

2 Uma string de snowflake decimal para cada ação exceto INVITE_CREATE e INVITE_DELETE, onde é o código de convite, e nulo para MESSAGE_BULK_DELETE

3 O campo é omitido quando nenhum motivo não em branco é resolvido conforme descrito em motivo de auditoria, de modo que uma entrada gravada por consolidação nunca tem um

4 O campo é omitido quando a ação não registrou nenhuma chave de opção que este registro publica

5 O campo é omitido quando a ação não registra alteração de campo, portanto nunca é retornado como um array vazio

{
"id": "1501314428688998184",
"action_type": 24,
"user_id": "1489002177550843905",
"target_id": "1489002177550843906",
"reason": "O apelido violou as regras",
"changes": [{"key": "nick", "old_value": "spam bot", "new_value": null}]
}

A coluna Valor é o action_type numérico, que também é o valor que o filtro de consulta action_type aceita. Cada descrição nomeia o que target_id identifica e quais opções de log de auditoria a ação registra. As opções de substituição são id, type, channel_id e role_name10. As opções de convite são max_age, max_uses, temporary, channel_id7 e inviter_id7.

ValorNomeDescrição
1GUILD_UPDATE1As configurações ou propriedade da guilda foram alteradas. target_id é a guilda, e a ação não registra opções
10CHANNEL_CREATEUm canal da guilda foi criado. target_id é o canal, e a ação registra type
11CHANNEL_UPDATEUm canal da guilda foi alterado. target_id é o canal, e a ação registra type
12CHANNEL_DELETEUm canal da guilda foi deletado. target_id é o canal, e a ação registra type
13CHANNEL_OVERWRITE_CREATEUma substituição de permissão de canal foi criada. target_id é o cargo ou membro, e a ação registra as opções de substituição
14CHANNEL_OVERWRITE_UPDATEUma substituição de permissão de canal foi alterada. target_id é o cargo ou membro, e a ação registra as opções de substituição
15CHANNEL_OVERWRITE_DELETEUma substituição de permissão de canal foi deletada. target_id é o cargo ou membro, e a ação registra as opções de substituição
20MEMBER_KICK2Um membro foi removido por um moderador. target_id é o usuário, e a ação não registra opções
21MEMBER_PRUNE3Membros inativos foram podados. target_id é nada, e a ação não registra opções
22MEMBER_BAN_ADDUm banimento da guilda foi criado ou substituído. target_id é o usuário, e a ação registra delete_message_seconds4
23MEMBER_BAN_REMOVEUm banimento da guilda foi removido. target_id é o usuário, e a ação não registra opções
24MEMBER_UPDATEO estado de um membro da guilda foi alterado. target_id é o usuário, e a ação não registra opções
25MEMBER_ROLE_UPDATEUm cargo foi adicionado ou removido de um membro. target_id é o usuário, e a ação registra role_name5
26MEMBER_MOVE6A sessão de voz de um membro foi movida para outro canal. target_id é o usuário, e a ação registra channel_id e count
27MEMBER_DISCONNECT6A sessão de voz de um membro foi desconectada. target_id é o usuário, e a ação registra channel_id e count
28BOT_ADDUm bot foi adicionado à guilda. target_id é o usuário, e a ação registra temporary
30ROLE_CREATEUm cargo foi criado. target_id é o cargo, e a ação não registra opções
31ROLE_UPDATEUm cargo foi alterado. target_id é o cargo, e a ação registra role_name
32ROLE_DELETEUm cargo foi deletado. target_id é o cargo, e a ação não registra opções
40INVITE_CREATEUm convite foi criado. target_id é o código de convite, e a ação registra as opções de convite
41INVITE_UPDATE8Um convite foi alterado. target_id é o código de convite, e a ação não registra opções
42INVITE_DELETEUm convite foi deletado. target_id é o código de convite, e a ação registra as opções de convite
50WEBHOOK_CREATEUm webhook foi criado. target_id é o webhook, e a ação registra channel_id7
51WEBHOOK_UPDATEUm webhook foi alterado. target_id é o webhook, e a ação registra channel_id7
52WEBHOOK_DELETEUm webhook foi deletado. target_id é o webhook, e a ação registra channel_id7
60EMOJI_CREATEUm emoji foi criado. target_id é o emoji, e a ação não registra opções
61EMOJI_UPDATEUm emoji foi alterado. target_id é o emoji, e a ação não registra opções
62EMOJI_DELETEUm emoji foi deletado. target_id é o emoji, e a ação não registra opções
72MESSAGE_DELETEUma única mensagem foi deletada. target_id é a mensagem, e a ação registra channel_id
73MESSAGE_BULK_DELETE9Várias mensagens foram deletadas em uma operação. target_id é nada, e a ação registra channel_id e count
74MESSAGE_PINUma mensagem foi fixada. target_id é a mensagem, e a ação registra channel_id e message_id
75MESSAGE_UNPINUma mensagem foi desafixada. target_id é a mensagem, e a ação registra channel_id e message_id
90STICKER_CREATEUma figurinha (sticker) foi criada. target_id é a figurinha, e a ação não registra opções
91STICKER_UPDATEUma figurinha foi alterada. target_id é a figurinha, e a ação não registra opções
92STICKER_DELETEUma figurinha foi deletada. target_id é a figurinha, e a ação não registra opções

1 Registrado por Modificar guilda, por Modificar URL de convite personalizado da guilda, e por Transferir propriedade da guilda, e target_id é a guilda em cada caso

2 Uma entrada de expulsão é sempre registrada sem lista de alterações, de forma que o estado de associação removido não é publicado através da entrada

3 O valor é definido pelo contrato de rede (wire contract) e é aceito pelo filtro action_type, e nenhuma operação de guilda atual o registra

4 A opção é registrada quando a janela resolvida de exclusão de mensagem do banimento é positiva. Uma entrada de banimento mais antiga pode ter a opção obsoleta delete_member_days

5 Registrado quando o cargo existe no momento da gravação. O ID do cargo é a diferença entre os valores da alteração roles nos campos de alteração de membro da guilda

6 count é sempre 1, e channel_id é o canal de destino para um movimento e o canal desocupado para uma desconexão. Um movimento para o canal que a sessão já ocupa não registra nenhuma entrada

7 A opção é registrada apenas quando a entidade registrada tem aquele valor, de modo que um convite sem canal ou sem quem o convidou não registra nenhum dos dois, e um webhook sem canal não registra nenhuma opção

8 O filtro aceita este valor, e nenhuma operação de guilda atual registra esta ação

9 Uma entrada de exclusão em massa é registrada ou por uma operação de exclusão em massa de mensagens ou pela consolidação descrita em Listar logs de auditoria da guilda

10 Registrado para uma substituição cujo alvo é um cargo diferente de @everyone, quando esse cargo existe no momento da gravação

Cada campo está presente apenas para as ações listadas contra ele no registro de ações de auditoria. Apenas as chaves neste registro são publicadas, e a resposta omite options inteiramente quando uma entrada não registrou nenhuma delas.

CampoTipoDescrição
channel_idstringO ID decimal do canal ao qual a ação se refere
count1numberO número de entidades afetadas pela ação
delete_member_days2stringOs dias inteiros de mensagens do membro banido que o banimento deletou
delete_message_seconds3numberOs segundos de mensagens do membro banido que o banimento deletou
idstringO ID decimal do cargo ou membro ao qual a substituição se aplica
integration_type4numberO tipo de integração que a entrada nomeia
message_idstringO ID decimal da mensagem única à qual a ação se refere
members_removed4numberO número de associações que a ação removeu
role_name5stringO nome do cargo ao qual a ação se refere, como estava quando a entrada foi gravada
type6numberO tipo de canal, ou o tipo de substituição de permissão
inviter_idstringO ID decimal do usuário que criou o convite
max_agenumberO tempo de vida do convite configurado em segundos
max_usesnumberA contagem máxima de uso configurada
temporarybooleanSe a entidade registrada é temporária
uses4numberA contagem de uso do convite registrada com a ação

1 O valor é o comprimento da execução consolidada para MESSAGE_BULK_DELETE e é sempre 1 para as ações de voz

2 Obsoleto, e presente apenas em uma entrada de banimento registrada antes de delete_message_seconds. Seu valor é o campo de corpo legado delete_message_days de Criar ou substituir banimento de guilda, portanto um banimento que enviou apenas delete_message_seconds tem "0"

3 Presente quando a janela de exclusão resolvida de Criar ou substituir banimento de guilda é positiva, seja qual for o campo de corpo que a definiu

4 O campo é definido pelo contrato de rede (wire contract) e nenhuma operação de guilda atual o registra

5 Registrado por MEMBER_ROLE_UPDATE, ROLE_UPDATE, e uma ação de substituição cujo alvo é um cargo diferente de @everyone

6 O valor é um tipo de canal para as ações de canal e um tipo de substituição de permissão para as ações de substituição

Um campo que uma mutação alterou, com o valor em cada lado da alteração.

CampoTipoDescrição
key1stringO nome do campo que mudou, retirado dos campos de alteração da entidade que a ação tem como alvo
old_value?2valor de alteração do log de auditoriaO valor que o campo mantinha antes da mutação
new_value?2valor de alteração do log de auditoriaO valor que o campo mantém após a mutação

1 Uma alteração cuja chave é ip nunca é publicada por meio deste recurso, e changes é omitido inteiramente quando não resta nenhuma outra alteração

2 Uma criação tem apenas new_value, uma exclusão tem apenas old_value, e uma modificação tem ambos, portanto um objeto de alteração sempre tem pelo menos um dos dois

Um valor de alteração é uma string, um número JSON, um booleano, null, um array de strings, um array de números, ou um objeto com os arrays de string added e removed. O último formato vem apenas da chave permissions_diff de uma modificação de cargo.

Cada tabela abaixo nomeia os campos que uma ação daquela família pode registrar.

Registrado por GUILD_UPDATE.

CampoTipoDescrição
guild_id1stringO ID decimal da própria guilda
namestringO nome que foi dado à guilda por esta alteração (1-100 caracteres)
owner_idstringO ID decimal do proprietário da guilda
vanity_url_code?stringO código de convite personalizado configurado, ou nulo quando a guilda não tem nenhum
icon_hash?stringO hash do ícone da guilda, ou nulo quando a guilda não tem ícone
banner_hash?stringO hash do banner da guilda, ou nulo quando a guilda não tem banner
banner_width?numberA largura do banner da guilda em pixels, ou nulo quando a guilda não tem banner
banner_height?numberA altura do banner da guilda em pixels, ou nulo quando a guilda não tem banner
splash_hash?stringO hash do splash da guilda, ou nulo quando a guilda não tem splash
splash_width?numberA largura do splash da guilda em pixels, ou nulo quando a guilda não tem splash
splash_height?numberA altura do splash da guilda em pixels, ou nulo quando a guilda não tem splash
splash_card_alignmentnumberO alinhamento do cartão splash registrado com a alteração
embed_splash_hash?stringO hash do splash embutido (embed splash) da guilda, ou nulo quando a guilda não tem splash embutido
embed_splash_width?numberA largura do splash embutido da guilda em pixels, ou nulo quando a guilda não tem splash embutido
embed_splash_height?numberA altura do splash embutido da guilda em pixels, ou nulo quando a guilda não tem splash embutido
features2array[string]Os recursos da guilda mantidos neste lado da alteração, em ordem ascendente
verification_levelnumberO nível de verificação registrado com a alteração
mfa_levelnumberO nível de MFA registrado com a alteração
nsfw_levelnumberO nível NSFW registrado com a alteração
nsfwbooleanSe a guilda está marcada como restrita por idade
content_warning_levelnumberO nível de aviso de conteúdo da guilda registrado com a alteração
content_warning_text?stringO texto de aviso de conteúdo configurado, ou nulo quando a guilda não define nenhum
explicit_content_filternumberO nível de filtro de conteúdo explícito da guilda registrado com a alteração
default_message_notificationsnumberO nível padrão de notificações de mensagem registrado com a alteração
system_channel_id?stringO ID decimal do canal de sistema configurado, ou nulo quando a guilda não define nenhum
system_channel_flagsnumberA máscara de sinalizadores de canal de sistema registrada com a alteração
rules_channel_id3?stringO ID decimal do canal de regras configurado, ou nulo quando a guilda não define nenhum
afk_channel_id?stringO ID decimal do canal de voz AFK configurado, ou nulo quando a guilda não define nenhum
afk_timeoutnumberO tempo limite de AFK em segundos
disabled_operations3numberA máscara de operações de guilda desabilitadas registrada com a alteração
member_count3numberA contagem de membros registrada com a mutação
message_history_cutoff?ISO8601 timestampO limite histórico de mensagens configurado, ou nulo quando a guilda não define nenhum

1 O campo mantém o mesmo valor em ambos os lados de cada ação de guilda, então ele nunca produz um objeto de alteração

2 Um objeto de alteração aparece apenas quando um recurso foi adicionado ou removido

3 Nenhuma operação de guilda atual registra o campo

Modificar guilda registra cada campo nesta tabela exceto guild_id, owner_id, vanity_url_code, rules_channel_id, disabled_operations e member_count. Transferir propriedade da guilda registra apenas owner_id, e Modificar URL de convite personalizado da guilda registra apenas vanity_url_code.

Registrado por CHANNEL_CREATE, CHANNEL_UPDATE, e CHANNEL_DELETE.

CampoTipoDescrição
channel_idstringO ID decimal do próprio canal
typenumberO tipo de canal registrado com a alteração
name?stringO nome que o canal recebeu por esta alteração
topic?stringO tópico que o canal recebeu por esta alteração, ou nulo quando não tiver nenhum
url1?stringO URL de destino do canal, ou nulo quando não tiver nenhum
parent_id?stringO ID decimal da categoria pai, ou nulo quando o canal estiver no nível superior
positionnumberA posição do canal entre seus irmãos
nsfw?booleanSe o canal está marcado como restrito por idade, ou nulo quando não tiver sobreposição (override)
content_warning_levelnumberO nível de aviso de conteúdo registrado com a alteração
content_warning_text?stringO texto de aviso de conteúdo configurado, ou nulo quando o canal não define nenhum
rate_limit_per_usernumberO intervalo do modo lento em segundos
user_limit?numberO limite de ocupação de voz configurado
voice_connection_limit?numberO limite configurado de conexões de voz por usuário
bitrate?numberA taxa de bits (bitrate) de voz em bits por segundo
rtc_region?stringA região de voz fixada, ou nulo quando o canal é roteado automaticamente
permission_overwrite_count2numberO número de substituições de permissão que o canal possui

1 Registrado apenas para um tipo de canal GUILD_LINK

2 Nenhuma operação de canal atual registra o campo. Uma mutação individual de substituição registra sua própria entrada de substituição de permissão

Alterar permission_overwrites através de Modificar canal registra entradas de substituição e não adiciona nenhuma alteração à entrada CHANNEL_UPDATE.

Campos de alteração de substituição de permissão

Seção intitulada “Campos de alteração de substituição de permissão”

Registrado pelas ações de substituição de canal. Todo valor nesta família é uma string.

CampoTipoDescrição
idstringO ID decimal do cargo ou membro ao qual a substituição se aplica
typestringO tipo de substituição de permissão decimal
allowstringA máscara decimal de permissões que a substituição concede
denystringA máscara decimal de permissões que a substituição nega

Registrado por MEMBER_UPDATE e MEMBER_ROLE_UPDATE.

CampoTipoDescrição
user_idstringO ID decimal do próprio membro
nick?stringO apelido que o membro mantém nesta guilda, ou nulo quando nenhum estiver definido
rolesarray[string]Os IDs dos cargos atribuídos como strings decimais, em ordem de string ascendente
avatar_hash?stringO hash do avatar da guilda, ou nulo quando o membro não tiver um avatar da guilda
banner_hash?stringO hash do banner da guilda, ou nulo quando o membro não tiver um banner da guilda
bio?stringA biografia do perfil da guilda, ou nulo quando nenhuma estiver definida
pronouns?stringOs pronomes do perfil da guilda, ou nulo quando nenhum estiver definido
accent_color?numberA cor de destaque (accent) do perfil da guilda, ou nulo quando nenhuma estiver definida
deafbooleanSe um moderador ensurdeceu o membro
mutebooleanSe um moderador silenciou o membro
communication_disabled_until?ISO8601 timestampO horário em que a restrição de comunicação expira, ou nulo quando o membro não estiver restrito
temporarybooleanSe a associação é temporária

Registrado por MEMBER_MOVE e MEMBER_DISCONNECT.

CampoTipoDescrição
channel_id1stringO ID decimal do canal de voz que a sessão ocupou

1 Um movimento registra o canal anterior como old_value e o destino como new_value, enquanto uma desconexão registra apenas old_value

Registrado por MEMBER_BAN_ADD e MEMBER_BAN_REMOVE.

CampoTipoDescrição
user_idstringO ID decimal do usuário banido
moderator_idstringO ID decimal do usuário que emitiu o banimento
banned_atISO8601 timestampO momento em que o ban foi emitido
expires_at?ISO8601 timestampA expiração de um banimento temporário, ou nulo para um banimento permanente
reason1?stringO motivo armazenado do banimento

1 O reason do corpo quando a requisição enviou um, e o valor X-Audit-Log-Reason em caso contrário. O reason da entrada é o cabeçalho quando um foi enviado, portanto os dois diferem quando uma requisição envia ambos com valores diferentes

Registrado por ROLE_CREATE, ROLE_UPDATE, e ROLE_DELETE.

CampoTipoDescrição
role_idstringO ID decimal do próprio cargo
namestringO nome que o cargo recebeu por esta alteração (1-100 caracteres)
permissionsstringA máscara decimal de permissão que o cargo concede
positionnumberA posição do cargo na hierarquia da guilda
hoist_position?numberA posição separada de destaque (hoist), ou nulo quando o cargo não tiver uma
colornumberA cor registrada para o cargo
icon_hash?stringO hash do ícone do cargo, ou nulo quando o cargo não tiver ícone
unicode_emoji?stringO emoji Unicode do cargo, ou nulo quando o cargo não tiver nenhum
hoistbooleanSe o cargo é exibido separadamente
mentionablebooleanSe o cargo pode ser mencionado
permissions_diff1objectOs nomes de permissão que esta alteração adicionou e removeu

1 Registrado apenas por Modificar cargo de guilda, e apenas quando a máscara foi alterada. O valor é um objeto com os arrays de string added e removed de nomes de permissão

permissions_diff chega como new_value sem old_value, e a mesma lista de alterações ainda possui a alteração permissions.

Modificar posições de cargo da guilda registra uma entrada ROLE_UPDATE para cada cargo que se moveu, apenas com a alteração position. O Decoding Chat ordena os cargos além de @everyone por position descendente, depois por ID ascendente, antes e depois da escrita. O maior conjunto de cargos que mantêm sua ordem relativa conta como não movido, e onde vários conjuntos se qualificam, o conjunto cujos cargos aparecem primeiro na nova ordem é usado. Uma requisição que apenas renumera posições não registra nenhuma entrada.

Modificar posições de destaque de cargo e Redefinir posições de destaque de cargo aplicam a mesma regra à ordem da lista de membros, apenas com a alteração hoist_position em cada entrada. Essa ordem são os cargos destacados (hoisted) diferentes de @everyone, por hoist_position descendente com position sendo usada quando um cargo não tem posição de destaque, depois por ID ascendente. Um cargo que não está destacado tem uma entrada sempre que sua hoist_position mudou.

Registrado por INVITE_CREATE e INVITE_DELETE.

CampoTipoDescrição
codestringO código que identifica o convite
channel_id?stringO ID decimal do canal para o qual o convite aponta
guild_id?stringO ID decimal da guilda à qual o convite pertence
inviter_id?stringO ID decimal do usuário que criou o convite
usesnumberA contagem de uso registrada com a alteração
max_usesnumberA contagem máxima de uso configurada
max_agenumberO tempo de vida do convite configurado em segundos
temporarybooleanSe aceitar o convite concede uma associação temporária
created_atISO8601 timestampO momento em que o convite foi criado

Registrado por WEBHOOK_CREATE, WEBHOOK_UPDATE, e WEBHOOK_DELETE.

CampoTipoDescrição
idstringO ID decimal do próprio webhook
guild_id?stringO ID decimal da guilda à qual o webhook pertence
channel_id?stringO ID decimal do canal para o qual o webhook posta
namestringO nome sob o qual o webhook posta (1-80 caracteres)
creator_id?stringO ID decimal do usuário que criou o webhook
avatar_hash?stringO hash do avatar do webhook, ou nulo quando nenhum avatar for definido
type1numberO tipo de webhook que a alteração registrou

1 O valor é 1 para um webhook de entrada e 2 para um webhook de seguidor de canal

Registrado por EMOJI_CREATE, EMOJI_UPDATE, e EMOJI_DELETE.

CampoTipoDescrição
emoji_idstringO ID decimal do próprio emoji
namestringO nome que o emoji recebeu por esta alteração (2-32 caracteres)
animatedbooleanSe o emoji é animado
creator_idstringO ID decimal do usuário que criou o emoji

Registrado por STICKER_CREATE, STICKER_UPDATE, e STICKER_DELETE.

CampoTipoDescrição
sticker_idstringO ID decimal da própria figurinha
namestringO nome que a figurinha recebeu por esta alteração (2-30 caracteres)
description?stringA descrição da figurinha, ou nulo quando não tiver nenhuma
animatedbooleanSe a figurinha é animada
creator_idstringO ID decimal do usuário que criou a figurinha

Um objeto de webhook reduzido. Ele omite o token de execução, ID da aplicação, e o usuário criador, e nomeia o hash do avatar avatar_hash onde o objeto completo o nomeia avatar.

CampoTipoDescrição
idsnowflakeO ID do webhook
type1integerO tipo de webhook que este registro descreve
guild_id?snowflakeO ID da guilda contendo o webhook
channel_id?snowflakeO ID do canal para o qual o webhook envia mensagens
namestringO nome sob o qual o webhook posta
avatar_hash?stringO hash de avatar do webhook, ou nulo quando nenhum avatar estiver configurado

1 O valor é 1 para um webhook de entrada e 2 para um webhook de seguidor de canal

GET/v1/guilds/{guild_id}/audit-logsBot

Retorna uma página do histórico de auditoria da guilda como um objeto de resposta de log de auditoria da guilda. Requer VIEW_AUDIT_LOG na guilda alvo, e nenhuma elevação MFA se aplica.

Um ID de guilda que não nomeia nenhuma guilda retorna 404 UNKNOWN_GUILD. Um não-membro de uma guilda existente retorna 403 MISSING_PERMISSIONS, então a existência da guilda é visível para qualquer chamador autenticado.

CampoTipoDescrição
guild_idsnowflakeO ID da guilda cujo log de auditoria é lido
CampoTipoDescrição
limit?1integerO número máximo de entradas a retornar (0-100, padrão 50)
before?2snowflakeO cursor selecionando entradas mais antigas que este ID de entrada de auditoria
after?2snowflakeO cursor selecionando entradas mais novas que este ID de entrada de auditoria
user_id?3snowflakeO ID do usuário atuante pelo qual a página é filtrada
action_type?3integerO valor de ação de auditoria pelo qual a página é filtrada

1 Um valor negativo e um valor acima de 100 são ambos rejeitados, e o valor aceito 0 é processado como 1

2 Os cursores são mutuamente exclusivos, e fornecer ambos retorna 400 INVALID_FORM_BODY com CANNOT_SPECIFY_BOTH_BEFORE_AND_AFTER contra before

3 Fornecer qualquer um dos filtros desabilita a consolidação de exclusão de mensagens para a requisição, de forma que uma página filtrada por ator ou ação retorna as entradas não consolidadas

A leitura é ordenada do mais novo para o mais antigo por ID de entrada. before seleciona entradas abaixo do cursor e after seleciona entradas acima dele, ambos lidos na mesma ordem decrescente. Uma página after portanto começa com a entrada mais nova acima do cursor.

Entradas consolidadas possuem novos IDs mas retêm a posição da execução que substituem. Ordene a página por ID se um array estritamente decrescente for necessário.

Uma entrada de atualização armazenada que falha a regra de não-alteração é pulada e não conta em direção a limit. Uma página possui menos entradas que limit apenas quando a guilda não tem mais entradas correspondentes naquela direção.

StatusCorpoCondição
200objeto de resposta de log de auditoria da guildaA página foi retornada
400resposta de erroAmbos os cursores foram fornecidos, ou um valor de filtro é inválido
4031resposta de erroA guilda está indisponível, ou VIEW_AUDIT_LOG está ausente
404resposta de erroA guilda não existe e a requisição retorna UNKNOWN_GUILD

1 O código de erro é MISSING_ACCESS para uma guilda com UNAVAILABLE_FOR_EVERYONE, ou UNAVAILABLE_FOR_EVERYONE_BUT_STAFF sem a flag de equipe da instância, e MISSING_PERMISSIONS de outra forma

Uma entrada consolidada possui um novo ID, options.count igual ao número de entradas substituídas e nenhum motivo. Ela emite Guild Audit Log Entry Create para sessões de guilda que possuem VIEW_AUDIT_LOG.

20 requisições por 10 segundos para cada usuário autenticado e ID de guilda, no bucket guild:audit_logs::guild_id.