Membros da guilda
Um membro da guilda é uma conta que entrou em uma guilda. A associação possui um apelido, avatar, conjunto de cargos e estado de moderação que se aplicam apenas àquela guilda. Consultas indexadas de membros vivem em Pesquisa de membros da guilda, e banimentos em Moderação da guilda.
Uma guilda desconhecida retorna 404 UNKNOWN_GUILD, um não-membro recebe 403 MISSING_PERMISSIONS, e uma guilda marcada como indisponível retorna 403 MISSING_ACCESS. Transferir propriedade da guilda também retorna 403 ACCESS_DENIED quando a guilda existe no armazenamento mas o Gateway relata como não encontrada.
As operações de modificação retornam a associação resultante, Transferir propriedade da guilda retorna a guilda atualizada, e todas as outras mutações retornam 204 com um corpo vazio.
Objeto de membro da guilda
Seção intitulada “Objeto de membro da guilda”Todo campo exceto user descreve o estado que pertence à associação.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| user | objeto usuário parcial | A conta à qual a associação pertence |
| nick | ?string | O apelido que a conta usa nesta guilda, ou null quando nenhum está definido |
| avatar1 | ?string | O hash da imagem do avatar específico da guilda, ou null quando nenhum está definido |
| banner1 | ?string | O hash da imagem do banner específico da guilda, ou null quando nenhum está definido |
| accent_color | ?integer | A cor de destaque do perfil da guilda como RGB de 24 bits empacotado, ou null quando nenhuma está definida |
| roles2 | array[snowflake] | Os IDs dos cargos atribuídos à associação (máx 250) |
| joined_at | timestamp ISO8601 | O momento em que a conta se tornou membro desta guilda |
| mute3 | boolean | Se um moderador mutou o membro na voz |
| deaf4 | boolean | Se um moderador ensurdeceu o membro na voz |
| communication_disabled_until5 | ?timestamp ISO8601 | O momento em que o timeout de comunicação expira, ou null quando o membro não está em timeout |
| profile_flags?6 | integer | As flags de perfil de membro da guilda definidas na associação |
| mention_flags?6 | integer | A preferência de menção de resposta que se aplica apenas dentro desta guilda |
1 Um hash animado tem o prefixo a_. Ambos são relatados como null enquanto a associação estiver marcada como higienizada de premium
2 O cargo everyone nunca está presente
3 Verdadeiro enquanto um mute de moderador estiver armazenado na associação e também enquanto um timeout de comunicação estiver ativo
4 Verdadeiro enquanto um ensurdecimento de moderador estiver armazenado na associação. Um timeout de comunicação não afeta isso
5 Um timestamp no passado é retido até que uma atualização posterior forneça communication_disabled_until
6 Omitido enquanto o valor armazenado for 0, então a ausência significa que nenhuma flag está definida e, para mention_flags, que a preferência em nível de conta se aplica
O Decoding Chat marca uma associação como higienizada de premium depois que sua conta perde o premium, quando a associação tem um avatar de guilda, banner, biografia ou cor de destaque. Uma associação higienizada de premium relata avatar e banner como null.
Um cliente compara communication_disabled_until com a hora atual, porque um valor não-null pode nomear um momento que já passou. Um timeout de comunicação não reduz a máscara de permissão computada do membro.
Exemplo
Seção intitulada “Exemplo”{ "user": {"id": "1489002177550843906", "username": "ada", "discriminator": "0042"}, "nick": "Ada L.", "avatar": null, "banner": null, "accent_color": 3447003, "roles": ["1489002177550843910"], "joined_at": "2026-08-14T09:12:44.000Z", "mute": false, "deaf": false, "communication_disabled_until": null}Flags de perfil de membro da guilda
Seção intitulada “Flags de perfil de membro da guilda”Um recurso de perfil de guilda tem estes estados. Uma associação sem flag e sem hash armazenado herda o recurso em nível de conta. Um hash armazenado define um recurso específico da guilda. Cada flag abaixo bloqueia a herança, para que o cliente mostre o recurso padrão.
| Valor | Nome | Descrição |
|---|---|---|
| 1 << 0 | AVATAR_UNSET | O avatar da guilda está explicitamente não definido, então o avatar da conta não é herdado |
| 1 << 1 | BANNER_UNSET | O banner da guilda está explicitamente não definido, então o banner da conta não é herdado |
O campo é validado como um inteiro entre 0 e 2147483647, então um bit não definido abaixo do bit 31 é armazenado e retornado sem alterações. O bit 31, e qualquer valor acima de 2147483647, são rejeitados.
Objeto de atualização de membro da guilda
Seção intitulada “Objeto de atualização de membro da guilda”O corpo da requisição compartilhado por Modificar membro atual da guilda e Modificar membro da guilda. Um campo omitido preserva seu valor atual.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| nick?1 | ?string | O apelido a ser definido nesta guilda (1-32 caracteres) |
| roles?2 | array[snowflake] | O conjunto completo de cargos de substituição (máx 250) |
| avatar?3 | ?string base64 | Os dados da imagem do avatar da guilda, ou null para limpá-lo |
| banner?3 | ?string base64 | Os dados da imagem do banner da guilda, ou null para limpá-lo |
| bio? | ?string | A biografia do perfil da guilda (1-320 caracteres) |
| pronouns? | ?string | Os pronomes do perfil da guilda (1-40 caracteres) |
| accent_color? | ?integer | A cor de destaque do perfil da guilda como RGB de 24 bits empacotado (0-16777215) |
| profile_flags? | ?integer | As flags de perfil de membro da guilda para armazenar |
| mention_flags?4 | ?integer | A preferência de menção de resposta para aplicar nesta guilda |
| mute?5 | boolean | Se o membro é mutado por um moderador na voz |
| deaf?5 | boolean | Se o membro é ensurdecido por um moderador na voz |
| communication_disabled_until?6 | ?timestamp ISO8601 | O tempo em que o timeout de comunicação expira |
| timeout_reason?7 | ?string | O motivo registrado junto ao timeout (1-512 caracteres) |
| channel_id?8 | ?snowflake | O canal de voz para o qual mover o membro, ou null para desconectá-lo |
| connection_id?8 | ?string | A conexão de voz única a ser movida, assumindo como padrão todas as conexões (1-32 caracteres) |
1 Uma string em branco é normalizada para null antes da verificação de comprimento, portanto um valor vazio limpa o apelido
2 Um ID de cargo ausente do array fornecido é removido do membro
3 Dados de imagem Base64 com um prefixo opcional de data URL, que não é contado
4 Um dos valores de enum de preferência de menção de resposta, onde 0 restaura a preferência em nível de conta
5 Armazenado na associação, portanto se aplica independentemente de o membro manter ou não uma conexão de voz
6 Uma data e hora ISO 8601. Uma string em branco é normalizada para null
7 Cortado (trimmed) e usado como o motivo de log de auditoria da entrada de atualização do membro quando a solicitação não envia nenhum cabeçalho X-Audit-Log-Reason
8 channel_id move ou desconecta, e connection_id seleciona uma das conexões de voz do membro
Uma entrada roles que não resolve para um cargo existente da guilda é descartada da substituição, então uma solicitação nomeando apenas cargos desconhecidos limpa o conjunto de cargos do membro.
Uma carga útil base64 de avatar ou banner mais longa que 13981016 caracteres retorna BASE64_LENGTH_INVALID, e uma malformada retorna INVALID_BASE64_FORMAT. O Decoding Chat então verifica os bytes decodificados em relação ao limite avatar_max_size configurado na instância, cujo valor de estoque é 10485760. O mesmo limite se aplica a ambos os campos. A imagem decodificada também deve estar em um formato que o campo aceita, e um AVIF animado é rejeitado. As dimensões dos pixels não são impostas. Um valor muito grande retorna IMAGE_SIZE_EXCEEDS_LIMIT, e um cujo formato ou animação não é permitido retorna INVALID_IMAGE_FORMAT.
Null e qualquer communication_disabled_until que não esteja no futuro limpam o timeout. Um tempo mais de 365,25 dias à frente retorna TIMEOUT_CANNOT_EXCEED_365_DAYS, e um valor que passa no esquema mas não é um instante real retorna INVALID_TIMEOUT_VALUE. timeout_reason não tem efeito a menos que communication_disabled_until também seja fornecido.
Omitir connection_id aplica a movimentação ou a desconexão a todas as conexões de voz que o membro mantém na guilda. Um connection_id que não é uma das conexões do próprio membro retorna 400 USER_NOT_IN_VOICE.
Listar membros da guilda
Seção intitulada “Listar membros da guilda”GET/v1/guilds/{guild_id}/membersRetorna uma página de objetos de membro da guilda em ordem crescente de ID de usuário. Requer ser membro da guilda e nenhuma permissão.
Esta rota não verifica nenhum bit de permissão, incluindo VIEW_CHANNEL_MEMBERS.
Parâmetros de rota
Seção intitulada “Parâmetros de rota”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID da guilda |
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Campo | Tipo | Descrição |
|---|---|---|
| limit?1 | integer | O número máximo de membros a retornar (1-1000, padrão 1) |
| after?2 | snowflake | O limite inferior no ID do usuário, retornando apenas membros estritamente maiores que este valor |
1 Um chamador que deseja um lote declara limit explicitamente, pois o padrão retorna um membro
2 O cursor é exclusivo, e não há forma decrescente ou before
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | array[objeto membro da guilda] | Os membros foram retornados |
| 403 | resposta de erro | A guilda está indisponível, ou o chamador não é um membro |
| 404 | resposta de erro | A guilda não existe e a solicitação retorna UNKNOWN_GUILD |
Limite de taxa
Seção intitulada “Limite de taxa”40 solicitações por 10 segundos para cada usuário autenticado e ID de guilda, no bucket guild:members::guild_id.
Obter membro atual da guilda
Seção intitulada “Obter membro atual da guilda”GET/v1/guilds/{guild_id}/members/@meRetorna o objeto de membro da guilda da própria conta autenticada. Requer ser membro da guilda e nenhuma permissão.
Parâmetros de rota
Seção intitulada “Parâmetros de rota”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID da guilda |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto membro da guilda | A associação foi retornada |
| 403 | resposta de erro | A guilda está indisponível, ou o chamador não é um membro |
| 4041 | resposta de erro | A guilda não existe, ou o registro de associação está ausente |
1 Uma guilda ausente retorna UNKNOWN_GUILD e um registro de associação ausente retorna UNKNOWN_MEMBER
Limite de taxa
Seção intitulada “Limite de taxa”40 solicitações por 10 segundos para cada usuário autenticado e ID de guilda, no bucket compartilhado guild:members::guild_id.
Obter membro da guilda
Seção intitulada “Obter membro da guilda”GET/v1/guilds/{guild_id}/members/{user_id}Retorna o objeto de membro da guilda de um membro. Requer ser membro da guilda e nenhuma permissão.
Parâmetros de rota
Seção intitulada “Parâmetros de rota”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID da guilda |
| user_id | snowflake | O ID do membro alvo |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto membro da guilda | A associação foi retornada |
| 403 | resposta de erro | A guilda está indisponível, ou o chamador não é um membro |
| 404 | resposta de erro | A guilda não existe, retornando UNKNOWN_GUILD, ou o alvo não é um membro, retornando UNKNOWN_MEMBER |
Limite de taxa
Seção intitulada “Limite de taxa”40 solicitações por 10 segundos para cada usuário autenticado e ID de guilda, no bucket compartilhado guild:members::guild_id.
Modificar membro atual da guilda
Seção intitulada “Modificar membro atual da guilda”PATCH/v1/guilds/{guild_id}/members/@meModifica a associação da própria conta autenticada e retorna o objeto de membro da guilda resultante. Requer associação à guilda. Emite um evento de Gateway Guild Member Update.
Limitações
Seção intitulada “Limitações”- Alterar o apelido requer CHANGE_NICKNAME.
- Fornecer
channel_idrequer MOVE_MEMBERS, mesmo para a associação do próprio chamador. - Fornecer
muterequer MUTE_MEMBERS, edeafrequer DEAFEN_MEMBERS. - Fornecer
nick,avatar,banner,bio,pronouns,accent_colorouprofile_flagsrequer um endereço de e-mail verificado, e uma conta bot está isenta. Uma conta não verificada é rejeitada com 403PROFILE_EMAIL_VERIFICATION_REQUIRED.
Um chamador sem CHANGE_NICKNAME não falha na solicitação. O Decoding Chat descarta a alteração de apelido e aplica todos os outros campos fornecidos. Um membro que possui a permissão, mas está em timeout, é rejeitado com 403 COMMUNICATION_DISABLED.
Um nick, bio ou pronouns bloqueado retorna 403 CONTENT_BLOCKED.
Avatar da guilda, banner, biografia e cor de destaque também exigem o limite feature_per_guild_profiles configurado na instância para a conta que faz a chamada. O Decoding Chat descarta qualquer um desses campos fornecidos sem essa capacidade e aplica todos os outros campos. Pronomes, profile_flags e mention_flags não exigem isso.
Um destino channel_id deve ser um canal de voz da guilda, e o chamador deve possuir tanto VIEW_CHANNEL quanto CONNECT lá. Fornecer channel_id para um membro sem conexão de voz ao vivo retorna 400 USER_NOT_IN_VOICE. Fornecer mute ou deaf para esse membro é bem-sucedido, armazena as flags e não emite nenhum Despacho de voz.
O Decoding Chat rejeita um communication_disabled_until fornecido com 403 MISSING_PERMISSIONS antes de qualquer outra verificação de timeout. Modificar membro da guilda endereçado ao próprio ID de usuário do chamador é rejeitado da mesma forma.
Avatar e banner consomem seu limite sempre que o campo está presente. Biografia, pronomes e cor de destaque consomem o deles apenas quando o valor fornecido difere do armazenado. O código do campo é AVATAR_CHANGED_TOO_MANY_TIMES, BANNER_CHANGED_TOO_MANY_TIMES, BIO_CHANGED_TOO_MANY_TIMES, PRONOUNS_CHANGED_TOO_MANY_TIMES ou ACCENT_COLOR_CHANGED_TOO_MANY_TIMES.
Parâmetros de rota
Seção intitulada “Parâmetros de rota”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID da guilda |
Corpo JSON
Seção intitulada “Corpo JSON”O corpo é um objeto de atualização de membro da guilda sem roles. Um campo roles fornecido é descartado sem erro, então a atribuição de cargos ocorre através de Modificar membro da guilda.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto membro da guilda | A associação foi processada |
| 400 | resposta de erro | Dados de imagem ou um limite de alteração de perfil rejeita a solicitação |
| 400 | resposta de erro | channel_id foi fornecido para um membro sem conexão de voz ao vivo |
| 400 | resposta de erro | O canal de destino não existe ou não é um canal de voz |
| 403 | resposta de erro | A guilda está indisponível, o chamador não é um membro ou o endereço de e-mail não foi verificado |
| 403 | resposta de erro | Conteúdo bloqueado foi fornecido, o chamador está em timeout ou uma permissão de voz necessária está ausente |
| 403 | resposta de erro | communication_disabled_until foi fornecido |
| 404 | resposta de erro | A guilda não existe, ou o registro da associação ou conta está ausente |
Efeitos colaterais
Seção intitulada “Efeitos colaterais”A operação atualiza a associação, registra uma entrada de auditoria MEMBER_UPDATE e emite Guild Member Update.
As próprias sessões do alvo sempre recebem o Despacho. Outras sessões da guilda o recebem sujeito à filtragem de eventos. O Despacho é produzido mesmo quando a associação resultante não se altera, e uma atualização que não muda nada não registra nenhuma entrada de auditoria.
Fornecer channel_id move ou desconecta toda conexão de voz que o membro possui, ou apenas aquela nomeada por connection_id. Ele registra uma entrada de auditoria MEMBER_MOVE ou MEMBER_DISCONNECT para toda a solicitação, independentemente de quantas conexões ele tocou. Um movimento para o canal que o membro já ocupa não registra nenhuma entrada. Ele emite Voice State Update para sessões que podem visualizar o canal afetado. Fornecer mute ou deaf atualiza a associação, não registra entrada de auditoria separada e emite o mesmo Despacho de voz uma vez para cada conexão ao vivo.
O Decoding Chat emite Guild Audit Log Entry Create para cada entrada de auditoria. Uma solicitação que falha após enviar um novo avatar ou banner deixa o recurso anterior no lugar.
Limite de taxa
Seção intitulada “Limite de taxa”20 solicitações por 10 segundos para cada usuário autenticado e ID de guilda, no bucket guild:member:update::guild_id.
Modificar membro da guilda
Seção intitulada “Modificar membro da guilda”PATCH/v1/guilds/{guild_id}/members/{user_id}Modifica o estado da guilda de outro membro e retorna o objeto de membro da guilda resultante. Requer associação à guilda. Emite um evento de Gateway Guild Member Update.
Limitações
Seção intitulada “Limitações”- Alterar o apelido de outro membro requer MANAGE_NICKNAMES e autoridade de hierarquia de cargos sobre o alvo.
- Substituir
rolesrequer MANAGE_ROLES e autoridade de hierarquia sobre todo cargo que a substituição adiciona ou remove, e o dono da guilda ignora ambas as verificações. - Aplicar
communication_disabled_untilrequer MODERATE_MEMBERS e autoridade de hierarquia, e o alvo não deve possuir ADMINISTRATOR. - Aplicar
muterequer MUTE_MEMBERS, aplicardeafrequer DEAFEN_MEMBERS, e ambos exigem autoridade de hierarquia sobre o alvo. - Mover o alvo requer MOVE_MEMBERS e autoridade de hierarquia, além de VIEW_CHANNEL e CONNECT para o chamador no destino.
Um nick bloqueado retorna 403 CONTENT_BLOCKED.
A autoridade de hierarquia sobre o alvo não é verificada para roles, então um chamador que possui nível superior a todos os cargos afetados pode substituir o conjunto de cargos de um membro que possui nível superior a ele. O cargo everyone no array é rejeitado com o código de campo INVALID_ROLE_ID.
O Decoding Chat nunca verifica as próprias permissões do alvo no destino, de modo que um membro pode ser movido para um canal em que não poderia entrar por conta própria. Desconectar define channel_id como null e requer a mesma permissão.
Fornecer channel_id para um alvo sem conexão de voz ao vivo, ou um connection_id que não seja um dos do próprio alvo, retorna 400 USER_NOT_IN_VOICE. Fornecer mute ou deaf para esse alvo é bem-sucedido e armazena as flags. Um destino que não existe retorna o código de campo CHANNEL_DOES_NOT_EXIST, e um que não é um canal de voz retorna CHANNEL_MUST_BE_VOICE.
MANAGE_ROLES e MODERATE_MEMBERS são permissões elevadas. Quando o nível MFA da guilda é elevado, um chamador que não é o dono da guilda também precisa de um autenticador multifator cadastrado para substituir roles ou aplicar communication_disabled_until.
Um chamador que direciona seu próprio ID de usuário aqui segue as regras direcionadas a si mesmo de Modificar membro atual da guilda para os campos de perfil da guilda. O corpo continua sendo o objeto de atualização completo, então roles é aceito. Substituir seu próprio conjunto de cargos ainda requer MANAGE_ROLES e autoridade de hierarquia, e communication_disabled_until ainda é rejeitado com 403 MISSING_PERMISSIONS.
Parâmetros de rota
Seção intitulada “Parâmetros de rota”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID da guilda |
| user_id | snowflake | O ID do membro alvo |
Corpo JSON
Seção intitulada “Corpo JSON”O corpo é um objeto de atualização de membro da guilda.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto membro da guilda | A associação foi processada |
| 400 | resposta de erro | Conjunto de cargos ou valor de timeout rejeita a solicitação |
| 4001 | resposta de erro | O chamador possui MANAGE_ROLES ou MODERATE_MEMBERS sem um autenticador cadastrado em uma guilda com MFA elevado |
| 400 | resposta de erro | channel_id foi fornecido para um alvo sem conexão de voz ao vivo |
| 400 | resposta de erro | O canal de destino não existe ou não é um canal de voz |
| 403 | resposta de erro | A guilda está indisponível, o chamador não é um membro ou uma permissão exigida está ausente |
| 403 | resposta de erro | Conteúdo bloqueado foi fornecido, autoridade de hierarquia está ausente ou o alvo possui ADMINISTRATOR |
| 403 | resposta de erro | O alvo é o chamador e communication_disabled_until foi fornecido |
| 404 | resposta de erro | A guilda não existe, retornando UNKNOWN_GUILD, ou a associação ou conta do alvo está ausente, retornando UNKNOWN_MEMBER |
1 O código de erro de autenticador ausente é TWO_FACTOR_REQUIRED, retornado apenas após a própria permissão ter sido confirmada, de modo que um chamador sem a permissão a recebe inteiramente 403 ao invés
Efeitos colaterais
Seção intitulada “Efeitos colaterais”A operação tem os mesmos efeitos de Modificar membro atual da guilda. Aplicar um conjunto de cargos não vazio também torna uma associação temporária permanente. Uma associação é temporária quando o membro entrou através de um convite cujo campo temporary é verdadeiro.
Limite de taxa
Seção intitulada “Limite de taxa”20 solicitações por 10 segundos para cada usuário autenticado e ID de guilda, no bucket guild:member:update::guild_id.
Remover membro da guilda
Seção intitulada “Remover membro da guilda”DELETE/v1/guilds/{guild_id}/members/{user_id}Remove um membro da guilda e retorna 204 com um corpo vazio. Requer associação, KICK_MEMBERS e autoridade de hierarquia de cargos sobre o alvo. Emite um evento de Gateway Guild Member Remove.
KICK_MEMBERS é uma permissão elevada, portanto um chamador que não é o dono da guilda precisa de um autenticador multifator cadastrado enquanto o nível MFA da guilda é elevado.
O chamador e o dono da guilda não podem ser removidos através desta operação, e ambos são relatados como 404 UNKNOWN_MEMBER.
Parâmetros de rota
Seção intitulada “Parâmetros de rota”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID da guilda |
| user_id | snowflake | O ID do membro alvo |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 204 | vazio | O membro foi removido |
| 4001 | resposta de erro | O chamador possui KICK_MEMBERS sem um autenticador cadastrado em uma guilda com MFA elevado |
| 403 | resposta de erro | A guilda está indisponível, o chamador não é um membro ou KICK_MEMBERS está ausente |
| 403 | resposta de erro | Autoridade de hierarquia sobre o alvo está ausente |
| 404 | resposta de erro | A guilda não existe, retornando UNKNOWN_GUILD |
| 404 | resposta de erro | O alvo não é um membro, é o chamador ou é o dono da guilda, cada um retornando UNKNOWN_MEMBER |
1 O código de erro é TWO_FACTOR_REQUIRED, retornado apenas após a própria permissão ter sido confirmada
Efeitos colaterais
Seção intitulada “Efeitos colaterais”Voltar à guilda dentro de um ano retoma qualquer timeout de comunicação que não tenha expirado.
O membro perde seu perfil na guilda e os cargos. Estados de leitura, configurações da guilda e pastas de guilda permanecem inalterados.
O Decoding Chat registra uma entrada de auditoria MEMBER_KICK sem lista de alterações e emite Guild Audit Log Entry Create. As sessões da guilda restantes recebem Guild Member Remove, sujeito à filtragem de eventos. As sessões da conta removida recebem Guild Delete.
Limite de taxa
Seção intitulada “Limite de taxa”20 solicitações por 10 segundos para cada usuário autenticado e ID de guilda, no bucket guild:member:remove::guild_id.
Transferir propriedade da guilda
Seção intitulada “Transferir propriedade da guilda”POST/v1/guilds/{guild_id}/transfer-ownershipTransfere a propriedade da guilda para outro membro atual e retorna o objeto da guilda atualizado. Requer que o chamador seja o dono atual. Emite um evento de Gateway Guild Update.
Limitações
Seção intitulada “Limitações”- Nenhum bit de permissão substitui a propriedade.
- O alvo deve ser um membro atual.
- Um alvo bot retorna 400
CANNOT_TRANSFER_OWNERSHIP_TO_BOT.
A operação requer os campos de verificação sudo. Uma credencial de bot não precisa de prova. Uma conta sem uma prova válida recebe 403 SUDO_MODE_REQUIRED, cuja carga útil nomeia seus segundos fatores disponíveis.
Parâmetros de rota
Seção intitulada “Parâmetros de rota”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID da guilda |
Cabeçalhos de solicitação
Seção intitulada “Cabeçalhos de solicitação”| Campo | Tipo | Descrição |
|---|---|---|
| X-Fluxer-Sudo-Mode-JWT? | string | A prova de modo sudo existente |
Corpo JSON
Seção intitulada “Corpo JSON”| Campo | Tipo | Descrição |
|---|---|---|
| new_owner_id | snowflake | O ID do membro para se tornar o novo dono |
| password? | string | A senha do dono atual, conforme definido pelos campos de verificação sudo |
| mfa_method? | string | O segundo fator a ser verificado, seja totp ou webauthn |
| mfa_code? | string | O código do autenticador, obrigatório quando o método é totp (1-32 caracteres) |
| webauthn_response? | objeto declaração WebAuthn | A declaração produzida quando o método é webauthn |
| webauthn_challenge? | string | O desafio vinculado à declaração WebAuthn |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto guilda | A propriedade foi transferida |
| 400 | resposta de erro | A senha fornecida ou código do autenticador está incorreto, ou o alvo é uma conta de bot |
| 403 | resposta de erro | A guilda está indisponível, o modo sudo está ausente, ou o chamador não é o dono da guilda |
| 403 | resposta de erro | O registro da guilda existe enquanto nenhum processo do Gateway a serve, retornando ACCESS_DENIED |
| 404 | resposta de erro | A guilda não existe, retornando UNKNOWN_GUILD, ou o alvo não é um membro, retornando UNKNOWN_MEMBER |
Efeitos colaterais
Seção intitulada “Efeitos colaterais”A operação altera apenas o owner_id da guilda. O dono que está saindo mantém todos os cargos, sobreposições de permissão e associação que possuía.
Ele registra uma entrada de auditoria GUILD_UPDATE nomeando o dono anterior e o novo em sua lista de alterações, emite Guild Audit Log Entry Create e emite Guild Update para todas as sessões que podem ver a guilda. Uma solicitação nomeando o dono atual não muda nada e não registra nenhuma entrada de auditoria. A resposta do log de auditoria não possui o membro options para esta entrada.
Uma conta com um segundo fator cadastrado também recebe uma prova de sudo reemitida. Uma credencial de bot e uma conta cuja única prova era uma senha recebem X-Fluxer-Sudo-Mode-JWT apenas quando a própria solicitação tiver uma.
Limite de taxa
Seção intitulada “Limite de taxa”20 solicitações por 10 segundos para cada usuário autenticado e ID de guilda, no bucket compartilhado guild:update::guild_id.
Adicionar cargo a membro da guilda
Seção intitulada “Adicionar cargo a membro da guilda”PUT/v1/guilds/{guild_id}/members/{user_id}/roles/{role_id}Adiciona um cargo a um membro e retorna 204 com um corpo vazio. Requer associação, MANAGE_ROLES e autoridade de hierarquia sobre o cargo. Emite um evento de Gateway Guild Member Update.
Limitações
Seção intitulada “Limitações”- O dono da guilda ignora a permissão e a verificação de hierarquia.
- O cargo everyone não pode ser atribuído e é rejeitado com o código de campo
INVALID_ROLE_ID.
MANAGE_ROLES é uma permissão elevada, portanto um chamador que não seja o dono da guilda precisa de um autenticador multifator cadastrado enquanto o nível MFA da guilda for elevado.
O dono da guilda recebe 404 UNKNOWN_ROLE para um cargo que não existe na guilda. Qualquer outro chamador recebe 403 MISSING_PERMISSIONS.
Parâmetros de rota
Seção intitulada “Parâmetros de rota”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID da guilda |
| user_id | snowflake | O ID do membro alvo |
| role_id | snowflake | O ID do cargo a ser adicionado |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 204 | vazio | O cargo está presente no membro |
| 4001 | resposta de erro | O cargo é o cargo everyone, ou o chamador possui MANAGE_ROLES sem um autenticador cadastrado em uma guilda com MFA elevado |
| 403 | resposta de erro | A guilda está indisponível, o chamador não é um membro, MANAGE_ROLES está ausente, ou a autoridade de hierarquia sobre o cargo está ausente |
| 404 | resposta de erro | A guilda não existe, retornando UNKNOWN_GUILD |
| 404 | resposta de erro | O alvo não é um membro, retornando UNKNOWN_MEMBER |
| 404 | resposta de erro | O dono da guilda nomeou um cargo que não existe, retornando UNKNOWN_ROLE |
1 O código de erro de autenticador ausente é TWO_FACTOR_REQUIRED, retornado apenas após a própria permissão ter sido confirmada
Efeitos colaterais
Seção intitulada “Efeitos colaterais”Adicionar um novo cargo torna permanente uma associação temporária. A operação registra uma entrada de auditoria MEMBER_ROLE_UPDATE e emite Guild Audit Log Entry Create e Guild Member Update. Um conjunto de cargos inalterado ainda emite Guild Member Update e não registra nenhuma entrada de auditoria.
A resposta do log de auditoria nomeia o cargo com a opção role_name e através da lista de alterações.
Limite de taxa
Seção intitulada “Limite de taxa”20 solicitações por 10 segundos para cada usuário autenticado e ID de guilda, no bucket guild:member:role:add::guild_id.
Remover cargo de membro da guilda
Seção intitulada “Remover cargo de membro da guilda”DELETE/v1/guilds/{guild_id}/members/{user_id}/roles/{role_id}Remove um cargo de um membro e retorna 204 com um corpo vazio. Requer associação, MANAGE_ROLES e autoridade de hierarquia sobre o cargo. Emite um evento de Gateway Guild Member Update.
Limitações
Seção intitulada “Limitações”- O dono da guilda ignora a permissão e a verificação de hierarquia.
- O cargo everyone não pode ser removido e é rejeitado com o código de campo
INVALID_ROLE_ID.
MANAGE_ROLES é uma permissão elevada, portanto um chamador que não seja o dono da guilda precisa de um autenticador multifator cadastrado enquanto o nível MFA da guilda for elevado. Um cargo que não existe é relatado da mesma forma que para Adicionar cargo a membro da guilda.
Parâmetros de rota
Seção intitulada “Parâmetros de rota”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID da guilda |
| user_id | snowflake | O ID do membro alvo |
| role_id | snowflake | O ID do cargo a ser removido |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 204 | vazio | O cargo está ausente do membro |
| 4001 | resposta de erro | O cargo é o cargo everyone, ou o chamador possui MANAGE_ROLES sem um autenticador cadastrado em uma guilda com MFA elevado |
| 403 | resposta de erro | A guilda está indisponível, o chamador não é um membro, MANAGE_ROLES está ausente, ou a autoridade de hierarquia sobre o cargo está ausente |
| 404 | resposta de erro | A guilda não existe, retornando UNKNOWN_GUILD |
| 404 | resposta de erro | O alvo não é um membro, retornando UNKNOWN_MEMBER |
| 404 | resposta de erro | O dono da guilda nomeou um cargo que não existe, retornando UNKNOWN_ROLE |
1 O código de erro de autenticador ausente é TWO_FACTOR_REQUIRED, retornado apenas após a própria permissão ter sido confirmada
Efeitos colaterais
Seção intitulada “Efeitos colaterais”A operação registra uma entrada de auditoria MEMBER_ROLE_UPDATE e emite Guild Audit Log Entry Create e Guild Member Update. Um cargo que o membro não possuía ainda emite Guild Member Update e não registra nenhuma entrada de auditoria. A remoção de um cargo não altera se a associação é temporária.
Limite de taxa
Seção intitulada “Limite de taxa”20 solicitações por 10 segundos para cada usuário autenticado e ID de guilda, no bucket guild:member:role:remove::guild_id.

