Servidores (Guilds)
Um servidor (guild) é uma comunidade com seus próprios canais, cargos, membros e configuração. Transferência de associação e propriedade vivem em Membros do servidor, e canais em Canais do servidor.
Listar servidores do usuário atual e Obter servidor declaram o escopo OAuth2 guilds, e uma credencial de portador (bearer) sem esse escopo recebe 403 MISSING_OAUTH_SCOPE. Todas as outras rotas rejeitam uma credencial de portador com 403 ACCESS_DENIED.
Um servidor que não existe retorna 404 UNKNOWN_GUILD. Um não-membro recebe 403 MISSING_PERMISSIONS. Um servidor que existe no armazenamento mas que o Gateway relata como não encontrado retorna 403 ACCESS_DENIED.
Um servidor indisponível ainda pode aparecer em Listar servidores do usuário atual. Os membros ainda podem sair ou excluir suas próprias mensagens.
Nomes enviados e outros textos devem passar pela política de conteúdo da instância. Conteúdo bloqueado retorna 403 CONTENT_BLOCKED.
Objeto de servidor (Guild object)
Seção intitulada “Objeto de servidor (Guild object)”Um objeto de servidor contém a configuração do servidor. A operação que o retorna decide quais coleções incorporadas e campos específicos do chamador ele possui.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| id | snowflake | O ID do servidor |
| name | string | O nome do servidor (1-100 caracteres) |
| icon1 | ?string | Hash do ícone do servidor |
| banner2 | ?string | Hash do banner do servidor |
| banner_width3 | ?integer | Largura do banner em pixels |
| banner_height3 | ?integer | Altura do banner em pixels |
| splash4 | ?string | Hash da tela de convite (splash) |
| splash_width3 | ?integer | Largura da tela de convite em pixels |
| splash_height3 | ?integer | Altura da tela de convite em pixels |
| splash_card_alignment | integer | Alinhamento do cartão da tela de convite |
| embed_splash4 | ?string | Hash da tela de convite incorporada |
| embed_splash_width3 | ?integer | Largura da tela de convite incorporada em pixels |
| embed_splash_height3 | ?integer | Altura da tela de convite incorporada em pixels |
| vanity_url_code | ?string | Código de convite personalizado |
| owner_id | snowflake | O ID do proprietário do servidor |
| system_channel_id | ?snowflake | Canal de texto que recebe mensagens do sistema |
| system_channel_flags | integer | Sinalizadores do canal do sistema |
| rules_channel_id5 | ?snowflake | O ID do canal de regras |
| afk_channel_id | ?snowflake | Canal de voz para o qual membros inativos são movidos |
| afk_timeout | integer | Tempo limite de AFK em segundos (60-3600) |
| features6 | array[string] | Recursos do servidor |
| verification_level | integer | Nível de verificação |
| mfa_level | integer | Nível de MFA |
| nsfw_level7 | integer | Nível NSFW |
| nsfw | boolean | Se o servidor está marcado como conteúdo adulto |
| content_warning_level | integer | Nível de aviso de conteúdo do servidor |
| content_warning_text8 | ?string | Texto de aviso de conteúdo do servidor (máx. 200 caracteres) |
| explicit_content_filter | integer | Nível de filtro de conteúdo explícito do servidor |
| default_message_notifications | integer | Nível padrão de notificação de mensagens |
| disabled_operations9 | integer | Operações do servidor desativadas |
| message_history_cutoff10 | ?ISO8601 timestamp | Mensagem mais antiga visível para um membro sem READ_MESSAGE_HISTORY |
| permissions?11 | decimal string | Permissões do chamador no servidor |
| roles?12 | array[objeto de cargo de servidor] | Cargos do servidor |
| emojis?12 | array[objeto de emoji de servidor] | Emojis do servidor |
| stickers?12 | array[objeto de adesivo de servidor] | Adesivos (stickers) do servidor |
| channels?13 | array[objeto de canal] | Canais do servidor que o chamador pode ver |
| member_count?14 | integer | Contagem de membros mantida pelo Gateway principal |
| online_count?14 | integer | Contagem de presença online mantida pelo Gateway principal |
| approximate_member_count?15 | integer | Contagem aproximada de membros |
| approximate_presence_count?15 | integer | Contagem aproximada de presença online |
1 Um hash de ícone animado possui o prefixo a_, e esse prefixo é removido do valor retornado enquanto o servidor não possui ANIMATED_ICON
2 O campo é nulo sempre que o servidor não possui BANNER, e o prefixo a_ é removido do valor retornado enquanto o servidor não possui ANIMATED_BANNER
3 A dimensão é nula sempre que seu próprio campo de hash de ativo (asset) for nulo
4 O campo é nulo sempre que o servidor não possui INVITE_SPLASH
5 Nenhuma operação nesta página atribui o canal de regras
6 O conjunto possui cada recurso no máximo uma vez, e sua ordem não é estável
7 O valor é derivado de nsfw, então é 3 quando nsfw é verdadeiro e 0 caso contrário
8 Um valor nulo significa que o cliente renderiza o texto de aviso padrão localizado para o servidor
9 Escrito apenas através da API de Administração
10 O limite é avaliado apenas para um membro que não possui READ_MESSAGE_HISTORY. Um valor nulo nega a esse membro todas as mensagens no servidor, e um valor definido expõe mensagens criadas no ou após o registro de data e hora (timestamp)
11 Apenas Listar servidores do usuário atual preenche este campo, e apenas quando sua busca de permissão for bem-sucedida. O valor é a máscara completa que os cargos do chamador concedem
12 Apenas Obter servidor preenche este campo
13 Apenas Obter servidor preenche este campo, e o array é filtrado para os canais que o chamador pode ver no momento
14 Apenas Obter servidor preenche estes campos
15 Apenas Listar servidores do usuário atual preenche estes campos, e apenas quando with_counts é verdadeiro. Um servidor para o qual o Gateway não possui contagens em cache reporta 0 para ambos
Exemplo
Seção intitulada “Exemplo”{ "id": "1489002177550843904", "name": "Ada's Workshop", "icon": "a_9f2c1d4e", "banner": null, "splash": null, "vanity_url_code": "workshop", "owner_id": "1489002177550843905", "system_channel_id": "1489002177550843907", "system_channel_flags": 0, "afk_channel_id": null, "afk_timeout": 300, "features": ["ANIMATED_ICON", "BANNER", "VANITY_URL"], "verification_level": 1, "mfa_level": 0, "nsfw_level": 0, "nsfw": false, "content_warning_level": 0, "content_warning_text": null, "explicit_content_filter": 1, "default_message_notifications": 1, "disabled_operations": 0, "message_history_cutoff": null}Objeto parcial de servidor
Seção intitulada “Objeto parcial de servidor”Um objeto parcial de servidor é o formato menor que aparece dentro de payloads de convite. Ele possui apenas campos de identidade e exibição, e as regras de ativos restritos por recursos do objeto de servidor completo aplicam-se a ele inalteradas.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| id | snowflake | O ID do servidor |
| name | string | O nome do servidor |
| icon1 | ?string | Hash do ícone do servidor |
| banner2 | ?string | Hash do banner do servidor |
| banner_width3 | ?integer | Largura do banner em pixels |
| banner_height3 | ?integer | Altura do banner em pixels |
| splash4 | ?string | Hash da tela de convite |
| splash_width3 | ?integer | Largura da tela de convite em pixels |
| splash_height3 | ?integer | Altura da tela de convite em pixels |
| splash_card_alignment | integer | Alinhamento do cartão da tela de convite |
| embed_splash4 | ?string | Hash da tela de convite incorporada |
| embed_splash_width3 | ?integer | Largura da tela de convite incorporada em pixels |
| embed_splash_height3 | ?integer | Altura da tela de convite incorporada em pixels |
| features5 | array[string] | Recursos do servidor |
1 Um hash de ícone animado possui o prefixo a_, e esse prefixo é removido do valor retornado enquanto o servidor não possui ANIMATED_ICON
2 O campo é nulo sempre que o servidor não possui BANNER, e o prefixo a_ é removido do valor retornado enquanto o servidor não possui ANIMATED_BANNER
3 A dimensão é nula sempre que seu próprio campo de hash de ativo for nulo
4 O campo é nulo sempre que o servidor não possui INVITE_SPLASH
5 O conjunto possui cada recurso no máximo uma vez, e vanity_url_code nunca faz parte desta representação
Exemplo
Seção intitulada “Exemplo”{ "id": "1489002177550843904", "name": "Ada's Workshop", "icon": "a_9f2c1d4e", "banner": null, "splash": null, "splash_card_alignment": 0, "embed_splash": null, "features": ["ANIMATED_ICON", "BANNER"]}Objeto de modelo de criação de servidor
Seção intitulada “Objeto de modelo de criação de servidor”Um modelo de criação descreve os cargos e canais que Criar servidor cria. O Decoding Chat remapeia seus identificadores locais do modelo para novos snowflakes de servidor alocados durante a criação. Todo identificador local do modelo é comparado como sua forma de string decimal, de modo que o inteiro 1 e a string "1" nomeiam a mesma entidade.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| name1 | string | Nome do modelo |
| description?1 | ?string | Descrição do modelo |
| verification_level?2 | integer | Nível de verificação, padrão 0 |
| default_message_notifications?2 | integer | Nível padrão de notificação de mensagens, padrão 0 |
| explicit_content_filter?2 | integer | Nível de filtro de conteúdo explícito do servidor, padrão 0 |
| system_channel_id?3 | ?decimal string | integer | ID local do modelo do canal de texto que se torna o canal do sistema |
| afk_timeout?2 | integer | Tempo limite de AFK em segundos, fixado em 60-3600 e padrão de 300 |
| system_channel_flags?4 | integer | Sinalizadores do canal do sistema, padrão 0 |
| roles5 | array[objeto de cargo de modelo de servidor] | Cargos do modelo (máx. 250) |
| channels6 | array[objeto de canal de modelo de servidor] | Canais do modelo (máx. 500) |
1 O campo é lido e descartado. O novo servidor obtém seu nome do name do corpo de Criar servidor
2 O valor é truncado para um inteiro e fixado em seu intervalo de registro, e um valor ausente se torna o padrão declarado. Um valor não numérico falha na validação e retorna 400 INVALID_FORM_BODY
3 Um identificador que não resolve para nenhum canal de texto no mesmo modelo, e um valor ausente ou nulo, todos recaem sobre o primeiro canal de texto do modelo. Um modelo sem canal de texto recebe um canal de texto raiz chamado general, que se torna o canal do sistema
4 Todo bit fora do registro é descartado
5 Um modelo com mais de 250 cargos é rejeitado com 400 GUILD_TEMPLATE_INVALID. O limite conta o array enviado, e o cargo ‘everyone’ (todos) é criado em cima dele, de modo que 250 cargos de modelo que não nomeiam nenhum cargo ‘everyone’ produzem um servidor contendo 251
6 Um modelo com mais de 500 canais é rejeitado com 400 GUILD_TEMPLATE_INVALID
Objeto de cargo de modelo de servidor
Seção intitulada “Objeto de cargo de modelo de servidor”Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| id1 | decimal string | integer | ID do cargo local do modelo |
| name?2 | ?string | Nome do cargo, padronizado como uma string vazia |
| permissions?3 | decimal string | integer | Campo de bits de permissão de cargo legado |
| permissions_new?3 | decimal string | integer | Campo de bits de permissão de cargo preferencial |
| color? | integer | Cor do cargo, padrão 0 |
| hoist? | boolean | Se o cargo é exibido separadamente (padrão false) |
| mentionable? | boolean | Se alguém pode mencionar o cargo (padrão false) |
| unicode_emoji?4 | ?string | Emoji Unicode do cargo |
1 Um identificador duplicado rejeita a criação com 400 GUILD_TEMPLATE_INVALID
2 O cargo cujo nome é exatamente @everyone fornece as permissões do cargo ‘everyone’ do novo servidor, e quando nenhum cargo tem esse nome, o cargo cujo identificador é 0 as fornece. Todos os cargos restantes são criados na ordem do array nas posições de 1 para cima
3 permissions_new tem precedência sobre permissions, o valor é mascarado para os bits de permissão que o Decoding Chat define, e um valor que não é um inteiro válido rejeita a criação com 400 GUILD_TEMPLATE_INVALID. Um cargo ‘everyone’ cuja máscara resolvida é 0 recebe o conjunto de permissões padrão
4 O valor é armazenado no cargo criado. O cargo ‘everyone’ é sempre criado sem emoji Unicode
Objeto de canal de modelo de servidor
Seção intitulada “Objeto de canal de modelo de servidor”Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| id1 | decimal string | integer | ID de canal local do modelo |
| type2 | integer | Tipo de canal de origem |
| name? | ?string | Nome do canal, padronizado como string vazia |
| topic? | ?string | Tópico do canal |
| position | integer | A posição de ordenação do canal |
| parent_id?3 | ?decimal string | integer | ID da categoria pai local do modelo |
| bitrate?4 | ?integer | Taxa de bits de voz, padrão de 64000 para um canal de voz e limitado a 96000 |
| user_limit?4 | ?integer | Limite de ocupação de voz, padrão de 0 para um canal de voz |
| voice_connection_limit?4 | ?integer | Limite de conexão de voz por usuário, padrão de 5 para um canal de voz |
| nsfw? | boolean | Se o canal é restrito por idade (padrão false) |
| rate_limit_per_user? | integer | Intervalo de modo lento em segundos, padrão 0 |
| permission_overwrites?5 | array[objeto de substituição de permissão de cargo de modelo de servidor] | Substituições de permissão de cargo |
1 Um identificador duplicado no mesmo modelo rejeita a criação com 400 GUILD_TEMPLATE_INVALID
2 O valor 0 cria um canal de texto, 2 um canal de voz e 4 uma categoria. O valor 5, o tipo de canal de anúncio de outra plataforma, cria um canal de texto. O valor 13, o tipo de canal de palco de outra plataforma, cria um canal de voz. O Decoding Chat ignora qualquer outro valor, então o canal não é criado
3 O identificador é aplicado apenas quando resolve para uma categoria no mesmo modelo, e qualquer outro valor deixa o canal na raiz do servidor
4 Esses campos de voz são armazenados apenas em um canal de voz e são nulos em todos os outros tipos de canal
5 Uma entrada é aplicada apenas quando seu type resolvido for 0 e seu id resolver para um cargo no mesmo modelo, e o identificador 0 resolve para o cargo ‘everyone’. O Decoding Chat ignora todas as outras entradas, e um canal cujas entradas são todas ignoradas é criado sem substituições
Objeto de substituição de permissão de cargo de modelo de servidor
Seção intitulada “Objeto de substituição de permissão de cargo de modelo de servidor”Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| id | decimal string | integer | ID de cargo local do modelo |
| type1 | integer | string | Tipo de substituição |
| allow2 | decimal string | integer | Campo de bits de permissão concedida |
| deny2 | decimal string | integer | Campo de bits de permissão negada |
1 A string role (cargo) resolve para 0 e a string member (membro) resolve para 1, e qualquer outra string é lida como um número. Apenas um valor resolvido de 0 é aplicado
2 O valor é mascarado para os bits de permissão que o Decoding Chat define, e um valor que não é um inteiro válido rejeita a criação com 400 GUILD_TEMPLATE_INVALID
Níveis de verificação
Seção intitulada “Níveis de verificação”Um nível de verificação controla a participação de membros. O Decoding Chat o avalia quando um membro envia uma mensagem no servidor.
| Valor | Nome | Descrição |
|---|---|---|
| 0 | NONE | Sem requisito de verificação |
| 1 | LOW1 | A conta está reivindicada e seu endereço de e-mail verificado |
| 2 | MEDIUM | O requisito de LOW (BAIXO), e a conta tem pelo menos 5 minutos de criação |
| 3 | HIGH2 | O requisito de MEDIUM (MÉDIO), e a associação tem pelo menos 10 minutos |
| 4 | VERY_HIGH3 | A conta possui um número de telefone verificado |
1 Um servidor com DISCOVERABLE é avaliado em um mínimo efetivo de LOW, mesmo quando o valor armazenado é NONE, e Modificar servidor rejeita reduzir um servidor detectável abaixo de LOW com 400 INVALID_FORM_BODY e o código de campo DISCOVERABLE_GUILD_VERIFICATION_LEVEL_TOO_LOW
2 O requisito de tempo de associação é ignorado quando o registro de data e hora de entrada não puder ser lido, de modo que o nível se comporta como MEDIUM
3 Um número de telefone verificado é o único requisito neste nível
O proprietário do servidor, um bot, e qualquer membro possuindo pelo menos um cargo ignoram a verificação em todos os níveis.
Níveis de MFA
Seção intitulada “Níveis de MFA”| Valor | Nome | Descrição |
|---|---|---|
| 0 | NONE | MFA não é obrigatório para ações de moderação |
| 1 | ELEVATED1 | MFA é obrigatório para ações de moderação |
1 Apenas o proprietário do servidor pode alterar esse valor, a conta do proprietário precisa de um segundo fator já configurado, e a alteração requer o modo sudo
Enquanto o nível for ELEVATED, um chamador não-proprietário usa as permissões elevadas apenas com um autenticador registrado. Um bot herda o estado de registro de seu proprietário de aplicativo. Uma operação que afirma uma permissão elevada que o chamador possui mas não pode usar retorna 400 TWO_FACTOR_REQUIRED depois de confirmar a própria permissão.
Alinhamentos do cartão da tela de convite
Seção intitulada “Alinhamentos do cartão da tela de convite”| Valor | Nome | Descrição |
|---|---|---|
| 0 | CENTER | Centralizar o cartão da tela de convite |
| 1 | LEFT | Alinhar o cartão da tela de convite à esquerda |
| 2 | RIGHT | Alinhar o cartão da tela de convite à direita |
Níveis de filtro de conteúdo explícito do servidor
Seção intitulada “Níveis de filtro de conteúdo explícito do servidor”Um nível de filtro de conteúdo explícito do servidor é o filtro em todo o servidor que um moderador seleciona. A configuração de conta de mesmo nome no objeto de configurações do usuário é um registro diferente com valores diferentes.
| Valor | Nome | Descrição |
|---|---|---|
| 0 | DISABLED | Não aplicar o filtro de conteúdo explícito do servidor |
| 1 | MEMBERS_WITHOUT_ROLES | Aplicar o filtro aos membros sem cargos |
| 2 | ALL_MEMBERS | Aplicar o filtro a todos os membros |
Níveis padrão de notificação de mensagens
Seção intitulada “Níveis padrão de notificação de mensagens”| Valor | Nome | Descrição |
|---|---|---|
| 0 | ALL_MESSAGES | Notificar para todas as mensagens por padrão |
| 1 | ONLY_MENTIONS | Notificar apenas para menções por padrão |
Níveis NSFW
Seção intitulada “Níveis NSFW”| Valor | Nome | Descrição |
|---|---|---|
| 0 | SAFE | O servidor não possui restrição de idade |
| 3 | AGE_RESTRICTED | O servidor possui restrição de idade |
O registro não possui outro valor. O Decoding Chat deriva o nível do campo nsfw do servidor e nunca o escreve diretamente.
Níveis de aviso de conteúdo do servidor
Seção intitulada “Níveis de aviso de conteúdo do servidor”O servidor é a última posição na cadeia de resolução descrita por níveis de aviso de conteúdo do canal.
| Valor | Nome | Descrição |
|---|---|---|
| 0 | INHERIT | Nenhum nível é definido em nível de servidor, de modo que um canal que herda não exibe aviso de conteúdo |
| 1 | CONTENT_WARNING | Um canal que herda exibe o aviso de conteúdo do servidor |
Sinalizadores do canal do sistema
Seção intitulada “Sinalizadores do canal do sistema”| Valor | Nome | Descrição |
|---|---|---|
| 1 << 0 | SUPPRESS_JOIN_NOTIFICATIONS | Suprimir mensagens do sistema de entrada de membros |
Qualquer bit fora deste registro é descartado quando o campo é escrito.
Operações do servidor desativadas
Seção intitulada “Operações do servidor desativadas”Um bit definido desativa o comportamento nomeado em todo o servidor. Apenas a API de Administração escreve o campo de bits.
| Valor | Nome | Descrição |
|---|---|---|
| 1 << 0 | PUSH_NOTIFICATIONS | Desativar notificações por push |
| 1 << 1 | EVERYONE_MENTIONS | Desativar menções ao cargo ‘everyone’ |
| 1 << 2 | TYPING_EVENTS | Desativar eventos de digitação |
| 1 << 3 | INSTANT_INVITES | Desativar convites instantâneos |
| 1 << 4 | SEND_MESSAGE | Desativar envio de mensagens |
| 1 << 5 | REACTIONS | Desativar reações |
| 1 << 6 | MEMBER_LIST_UPDATES | Desativar atualizações na lista de membros |
Recursos do servidor
Seção intitulada “Recursos do servidor”Cada valor no array features do servidor é um sinalizador de capacidade ou disponibilidade.
| Valor | Descrição |
|---|---|
| ANIMATED_ICON | O servidor pode usar um ícone animado |
| ANIMATED_BANNER | O servidor pode usar um banner animado |
| AUDIO_BITRATE_128_KBPS6 | O teto da taxa de bits do canal de voz é elevado para 128000 |
| AUDIO_BITRATE_256_KBPS6 | O teto da taxa de bits do canal de voz é elevado para 256000 |
| AUDIO_BITRATE_384_KBPS6 | O teto da taxa de bits do canal de voz é elevado para 384000 |
| BANNER | O servidor pode usar um banner |
| CLONE_EMOJI_DISABLED7 | Descontinuado. Clonar emoji agora precisa de CLONE_EMOJI_ENABLED |
| CLONE_EMOJI_ENABLED1 | O servidor permite que outro servidor clone seus emojis |
| CLONE_STICKER_DISABLED7 | Descontinuado. Clonar adesivo agora precisa de CLONE_STICKER_ENABLED |
| CLONE_STICKER_ENABLED1 | O servidor permite que outro servidor clone seus adesivos |
| DETACHED_BANNER1 | O banner do servidor é independente da tela de convite |
| INVITE_SPLASH | O servidor pode usar ativos de tela de convite |
| INVITES_DISABLED1 | O uso de convites do servidor está desativado |
| RAID_DETECTED | A detecção de raide está ativa e os convites estão restritos |
| TEXT_CHANNEL_FLEXIBLE_NAMES1 | Os nomes de canais de texto mantêm letras maiúsculas, espaços e pontuação |
| HIDE_OWNER_CROWN1 | A coroa do proprietário do servidor está oculta |
| MORE_EMOJI2 | Limite aumentado legado de slots de emoji |
| MORE_STICKERS2 | Limite aumentado legado de slots de adesivos |
| UNLIMITED_EMOJI3 | Slots de emoji do servidor são efetivamente ilimitados |
| UNLIMITED_STICKERS3 | Slots de adesivos do servidor são efetivamente ilimitados |
| EXPRESSION_PURGE_ALLOWED | Ativos de expressão podem ser eliminados por meio de operações de exclusão |
| VANITY_URL | O servidor pode ter um código de convite personalizado |
| DISCOVERABLE | O servidor está presente na descoberta pública |
| PARTNERED | O servidor tem status de parceiro |
| VERIFIED | O servidor tem status verificado |
| VIP_VOICE | O servidor pode usar regiões de voz que são restritas a servidores VIP |
| VOICE_E2EE | Os canais de voz do servidor suportam criptografia de ponta a ponta |
| UNAVAILABLE_FOR_EVERYONE4 | O servidor está indisponível para todas as contas |
| UNAVAILABLE_FOR_EVERYONE_BUT_STAFF4 | O servidor está indisponível para todas as contas sem o sinalizador de equipe da instância |
| UNAVAILABLE_HIDDEN | Enquanto o servidor estiver indisponível, o Gateway envia a entrada de servidor indisponível com unavailable_hidden: true |
| VISIONARY | O servidor tem status de visionário |
| LARGE_GUILD_OVERRIDE2 | O servidor está marcado como um grande servidor |
| VERY_LARGE_GUILD5 | A capacidade de membros do servidor é aumentada |
1 O recurso é adicionado ou removido através de Modificar servidor, como parte do array completo. Envie cada recurso sem esse marcador de volta para features exatamente como o servidor o possui
2 O recurso não altera o comportamento da API HTTP. Uma instância pode nomeá-lo em um filtro da configuração de limite ordenada, e a configuração original não nomeia nenhum deles
3 A criação de emojis e adesivos usa um limite de slots fixo de 999999 e ignora a configuração de limite da instância
4 Rotas de servidor e canal retornam 403 MISSING_ACCESS. UNAVAILABLE_FOR_EVERYONE inclui o proprietário do servidor. UNAVAILABLE_FOR_EVERYONE_BUT_STAFF isenta as contas com o sinalizador de equipe da instância
5 O recurso eleva o limite padrão max_guild_members de 1000000 para 10000000 antes de a configuração de limite ordenada ser verificada, de modo que o teto elevado se aplica mesmo quando nenhuma regra configurada nomeia o recurso
6 Um servidor sem nenhum dos três limita o canal de voz bitrate (taxa de bits) em 96000. O recurso mais alto que o servidor possuir vence, e uma gravação acima do limite é armazenada no limite em vez de ser rejeitada. Um servidor que perde o recurso mantém o valor armazenado, e a próxima gravação no bitrate o diminui para o limite
7 O recurso está descontinuado e não altera o comportamento. O Decoding Chat ainda o retorna para um servidor que já o possua, e Modificar servidor não pode adicioná-lo nem removê-lo
Objeto URL de convite personalizado
Seção intitulada “Objeto URL de convite personalizado”Um objeto URL de convite personalizado relata o código de convite personalizado atual do servidor e quantas vezes o convite associado a ele foi usado. Obter URL de convite personalizado do servidor o retorna.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| code | ?string | Código de convite personalizado atual |
| uses1 | integer | Contagem de uso do convite que suporta o código atual |
1 O valor é 0 quando o servidor não possui nenhum código e quando o convite associado não puder mais ser resolvido
Exemplo
Seção intitulada “Exemplo”{ "code": "workshop", "uses": 128}Objeto de seleção de URL de convite personalizado
Seção intitulada “Objeto de seleção de URL de convite personalizado”Um objeto de seleção de URL de convite personalizado relata o código que o servidor detém após uma gravação. Modificar URL de convite personalizado do servidor o retorna.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| code | ?string | Código de convite personalizado mantido pelo servidor após a solicitação (2-32 caracteres) |
Campos de verificação sudo
Seção intitulada “Campos de verificação sudo”Esses campos comprovam o modo sudo quando uma operação o exige. Um chamador também pode fornecer uma comprovação existente através do cabeçalho de solicitação X-Fluxer-Sudo-Mode-JWT.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| password?1 | string | Senha da conta atual |
| mfa_method?2 | string | Método MFA, sendo totp ou webauthn |
| mfa_code? | string | Código autenticador quando o método for totp (1-32 caracteres) |
| webauthn_response? | Objeto afirmação WebAuthn | Afirmação quando o método for webauthn |
| webauthn_challenge? | string | Desafio (challenge) vinculado à afirmação WebAuthn |
1 A senha só é aceita quando a conta não tiver segundo fator, e retorna o código de campo INVALID_PASSWORD quando não for correspondente
2 A comprovação MFA só é aceita quando a conta tiver um segundo fator, e retorna o código de campo INVALID_MFA_CODE em qualquer falha
Uma credencial de bot atende ao modo sudo sem nenhuma comprovação, assim como uma conta sem senha ou segundo fator. Qualquer outra conta que não forneça comprovação utilizável recebe 403 SUDO_MODE_REQUIRED, cujo objeto de erro possui has_mfa e um objeto methods relatando se totp e webauthn estão disponíveis.
O Decoding Chat emite uma comprovação recém-gerada no cabeçalho X-Fluxer-Sudo-Mode-JWT da resposta de sucesso, e apenas para uma conta que possua um segundo fator. Uma comprovação fornecida na solicitação é retornada (echoed) naquele mesmo cabeçalho.
Criar servidor
Seção intitulada “Criar servidor”POST/v1/guildsCria um servidor pertencente ao chamador. Requer uma credencial de sessão de usuário. Retorna um objeto de servidor em caso de sucesso. Emite os eventos de Gateway Guild Create e User Settings Update ao proprietário.
Limitações
Seção intitulada “Limitações”- Uma credencial de bot é rejeitada com 400
BOTS_CANNOT_CREATE_GUILDS. - Uma conta não reivindicada é rejeitada com 400
UNCLAIMED_ACCOUNT_CANNOT_CREATE_GUILDS. - Uma conta sem um endereço de e-mail verificado é rejeitada com 403
GUILD_CREATION_EMAIL_VERIFICATION_REQUIRED. - Um chamador que já está no limite de servidor configurado é rejeitado com 400
MAX_GUILDS. - Enquanto
single_community_enabledfor verdadeiro na política da instância, todos os chamadores são rejeitados com 400SINGLE_COMMUNITY_CANNOT_CREATE_GUILDS.
Corpo JSON
Seção intitulada “Corpo JSON”| Campo | Tipo | Descrição |
|---|---|---|
| name1 | string | Nome do servidor (1-100 caracteres) |
| icon?2 | ?base64 string | Ícone do servidor |
| empty_features?3 | boolean | Se deve criar o servidor sem recursos (padrão false) |
| template? | objeto modelo de criação de servidor | Cargos e canais a serem criados para o novo servidor |
1 O Decoding Chat apara o valor antes de medir o limite de tamanho
2 O campo aceita base64 bruto, ou um URL de dados cujo payload é tudo após a primeira vírgula
3 Quando false (falso), o servidor é criado possuindo ANIMATED_ICON, ANIMATED_BANNER, BANNER, e INVITE_SPLASH
Um name fora de 1 a 100 caracteres após a normalização retorna STRING_LENGTH_INVALID. Um nome bloqueado retorna 403 CONTENT_BLOCKED.
O payload base64 icon é limitado a 1 a 13981016 caracteres e, de outra forma, é rejeitado com BASE64_LENGTH_INVALID, e um payload que não seja um base64 válido com INVALID_BASE64_FORMAT. A imagem decodificada deve caber dentro do limite avatar_max_size da instância, cujo padrão é o teto de 10 MiB, e uma imagem maior é rejeitada com IMAGE_SIZE_EXCEEDS_LIMIT. PNG, JPEG, WebP, GIF, APNG, AVIF, HEIC, HEIF, JXL, e SVG são aceitos. Um AVIF animado é rejeitado com INVALID_IMAGE_FORMAT.
Sem um modelo, o servidor é criado com uma categoria Text Channels contendo um canal de texto chamado general, uma categoria Voice Channels contendo um canal de voz chamado General, e um cargo ‘everyone’ com o conjunto de permissão padrão. O canal general se torna o canal do sistema.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto de servidor | Servidor foi criado |
| 4001 | resposta de erro | O corpo, imagem, modelo, credencial de bot ou não reivindicada, limite de servidor configurado, ou política de comunidade única rejeita a criação |
| 4032 | resposta de erro | O endereço de e-mail não é verificado, ou o nome está bloqueado |
1 O código de erro é SINGLE_COMMUNITY_CANNOT_CREATE_GUILDS enquanto a política de comunidade única estiver ativa, BOTS_CANNOT_CREATE_GUILDS para uma credencial de bot, UNCLAIMED_ACCOUNT_CANNOT_CREATE_GUILDS para uma conta não reivindicada, MAX_GUILDS no limite de servidor configurado, GUILD_TEMPLATE_INVALID para um modelo rejeitado, e INVALID_FORM_BODY caso contrário
2 O código de erro é GUILD_CREATION_EMAIL_VERIFICATION_REQUIRED para um endereço de e-mail não verificado e CONTENT_BLOCKED para um nome ou string de corpo bloqueada
Efeitos colaterais
Seção intitulada “Efeitos colaterais”A operação cria o servidor, seu cargo ‘everyone’, seu modelo ou canais padrão, e a associação do proprietário. Um ícone fornecido torna-se o ícone do servidor. O Decoding Chat adiciona o servidor ao layout de pasta do servidor do proprietário. O proprietário recebe Guild Create para o novo servidor e User Settings Update com o layout de pasta alterado. Nenhuma entrada de log de auditoria é registrada, e um cabeçalho X-Audit-Log-Reason nesta solicitação é lido e descartado.
Limite de taxa
Seção intitulada “Limite de taxa”10 solicitações por minuto para cada usuário autenticado, no bucket guild:create.
Listar servidores do usuário atual
Seção intitulada “Listar servidores do usuário atual”GET/v1/users/@me/guildsRetorna um array de objetos de servidor, um para cada servidor do qual o usuário autenticado for membro. Uma credencial de portador (bearer) exige o escopo OAuth2 guilds.
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Campo | Tipo | Descrição |
|---|---|---|
| before?1 | snowflake | Retornar servidores com ID menor que este ID de servidor |
| after?1 | snowflake | Retornar servidores com ID maior que este ID de servidor |
| limit? | integer | Número máximo retornado (1-200, padrão 200) |
| with_counts?2 | boolean | Incluir contagens aproximadas de membros e de presença (padrão false) |
1 Uma página é sempre ordenada por ID de servidor ascendente, seja qual for o cursor utilizado, e after tem precedência quando ambos os cursores forem fornecidos. Um cursor nomeando um servidor do qual o chamador não é membro é ignorado, então a página começa no primeiro servidor
2 Um servidor cujas contagens não puderem ser buscadas é retornado sem elas
A página exclui servidores excluídos, mas inclui servidores marcados com UNAVAILABLE_FOR_EVERYONE.
Uma página dentro desse limite ainda pode omitir permissions de um servidor individual que a pesquisa não pôde resolver.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | array[objeto de servidor] | Servidores foram retornados |
| 403 | resposta de erro | A credencial de portador não possui o escopo guilds e a solicitação retorna MISSING_OAUTH_SCOPE |
Limite de taxa
Seção intitulada “Limite de taxa”40 solicitações por 10 segundos para cada usuário autenticado, no bucket guild:list.
Obter servidor
Seção intitulada “Obter servidor”GET/v1/guilds/{guild_id}Retorna o objeto de servidor com seus cargos, emojis, adesivos, canais visíveis, member_count e online_count. Requer participação no servidor, e uma credencial de portador (bearer) exige o escopo OAuth2 guilds.
A resposta não possui o campo permissions. Leia Listar servidores do usuário atual para obter a máscara do chamador.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID do servidor |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto de servidor | Servidor foi retornado |
| 4031 | resposta de erro | O servidor está indisponível, a credencial de portador não possui o escopo guilds, ou o chamador não é um membro |
| 404 | resposta de erro | O servidor não existe e a solicitação retorna UNKNOWN_GUILD |
1 O código de erro é MISSING_ACCESS para um servidor indisponível, MISSING_OAUTH_SCOPE para escopo ausente, MISSING_PERMISSIONS para não-membro, e ACCESS_DENIED quando o servidor existe no armazenamento, mas o Gateway relata como não encontrado
Limite de taxa
Seção intitulada “Limite de taxa”100 solicitações por 10 segundos para cada usuário e servidor autenticado, no bucket guild:read::guild_id.
Modificar servidor
Seção intitulada “Modificar servidor”PATCH/v1/guilds/{guild_id}Modifica a configuração do servidor e retorna o objeto de servidor atualizado. Requer participação e MANAGE_GUILD. Emite um evento Guild Update no Gateway para cada sessão que pode ver o servidor.
MANAGE_GUILD é uma permissão elevada. Enquanto o nível de MFA do servidor for elevado, um chamador que não é proprietário também precisa de um autenticador registrado, e recebe 400 TWO_FACTOR_REQUIRED se não o tiver.
Mudar o mfa_level para um valor diferente também requer o proprietário do servidor, uma conta proprietária que já possua um segundo fator e o modo sudo. Um chamador que não é o proprietário recebe 403 MISSING_PERMISSIONS por essa alteração, mesmo mantendo MANAGE_GUILD. O modo sudo é verificado antes da propriedade, de modo que um não proprietário sem prova recebe 403 SUDO_MODE_REQUIRED primeiro.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID do servidor |
Cabeçalhos de solicitação
Seção intitulada “Cabeçalhos de solicitação”| Campo | Tipo | Descrição |
|---|---|---|
| X-Fluxer-Sudo-Mode-JWT? | string | Comprovação do modo sudo existente, lida quando o nível MFA mudar |
Corpo JSON
Seção intitulada “Corpo JSON”Cada campo é opcional. Um campo omitido preserva seu valor atual, e um campo explicitamente definido como nulo o limpa quando o tipo permite nulo.
| Campo | Tipo | Descrição |
|---|---|---|
| name?1 | string | Nome do servidor (1-100 caracteres) |
| icon?2 | ?base64 string | Ícone do servidor, ou nulo para limpá-lo |
| system_channel_id?3 | ?snowflake | ID do canal do sistema, ou nulo para limpá-lo |
| system_channel_flags?4 | integer | Sinalizadores do canal do sistema |
| afk_channel_id?5 | ?snowflake | ID do canal de voz AFK, ou nulo para limpá-lo |
| afk_timeout? | integer | Tempo limite de AFK em segundos (60-3600) |
| default_message_notifications? | integer | Nível padrão de notificação de mensagens |
| verification_level?6 | integer | Nível de verificação |
| mfa_level?7 | integer | Nível de MFA |
| nsfw_level?8 | integer | Nível NSFW legado, que é traduzido em nsfw e o nível de aviso de conteúdo |
| nsfw?9 | boolean | Se o servidor está marcado como conteúdo adulto |
| content_warning_level?10 | integer | Nível de aviso de conteúdo do servidor |
| content_warning_text?11 | ?string | Texto de aviso de conteúdo (máx. 200 caracteres), ou nulo para o padrão localizado |
| explicit_content_filter? | integer | Nível de filtro de conteúdo explícito do servidor |
| banner?12 | ?base64 string | Banner do servidor, ou nulo para limpá-lo |
| splash?13 | ?base64 string | Tela de convite estática, ou nulo para limpá-lo |
| embed_splash?13 | ?base64 string | Tela de convite incorporada estática, ou nulo para limpá-lo |
| splash_card_alignment? | integer | Alinhamento do cartão da tela de convite |
| features?14 | array[string] | Conjunto completo desejado de recursos do servidor (máx. 100 entradas) |
| message_history_cutoff?15 | ?ISO8601 timestamp | Histórico mais antigo visível sem READ_MESSAGE_HISTORY, ou nulo para negar acesso histórico |
| password? | string | Senha de verificação sudo |
| mfa_method? | string | Método de verificação sudo, seja totp ou webauthn |
| mfa_code? | string | Código autenticador de verificação sudo |
| webauthn_response? | Objeto de afirmação WebAuthn | Afirmação de verificação sudo |
| webauthn_challenge? | string | Desafio vinculado à afirmação WebAuthn |
1 Normalizado e cortado antes da sua medida de comprimento. Um nome bloqueado retorna 403 CONTENT_BLOCKED
2 A codificação aceita, limite de bytes e conjunto de formatos são os listados por Criar servidor. Nenhum recurso do servidor impede que um ícone animado seja gravado, mas o prefixo a_ é retirado do hash retornado enquanto o servidor não possui ANIMATED_ICON
3 O canal deve existir neste servidor e ser um canal de texto e, de outra forma, é rejeitado com SYSTEM_CHANNEL_MUST_BE_IN_GUILD ou SYSTEM_CHANNEL_MUST_BE_TEXT
4 Cada bit fora do registro é descartado
5 O canal deve existir neste servidor e ser um canal de voz e, de outra forma, é rejeitado com AFK_CHANNEL_MUST_BE_IN_GUILD ou AFK_CHANNEL_MUST_BE_VOICE
6 Um servidor com DISCOVERABLE não pode ser rebaixado para baixo de LOW e é rejeitado com o código de campo DISCOVERABLE_GUILD_VERIFICATION_LEVEL_TOO_LOW
7 Enviar o valor que o servidor já possui não requer propriedade nem modo sudo, e um proprietário sem um segundo fator configurado é rejeitado com o código de campo MUST_ENABLE_2FA_BEFORE_REQUIRING_FOR_MODS
8 Os únicos valores aceitos são 0 e 3, e nsfw tem precedência quando ambos os campos são fornecidos. Definir 3 por meio desse campo também aumenta o nível de aviso de conteúdo para CONTENT_WARNING quando content_warning_level está ausente do mesmo corpo e o nível de aviso de conteúdo do servidor for INHERIT
9 A gravação também define nsfw_level para 3 quando verdadeiro e 0 quando falso, e diferente de nsfw_level isso nunca altera o nível de aviso de conteúdo
10 Qualquer valor diferente de 1 é armazenado como 0
11 O valor é cortado (trim), e um valor vazio após o corte é armazenado como nulo
12 Um valor não nulo requer BANNER, e uma imagem animada também requer ANIMATED_BANNER, de outra forma a solicitação é rejeitada com os códigos de campo GUILD_BANNER_REQUIRES_FEATURE ou ANIMATED_GUILD_BANNER_REQUIRES_FEATURE
13 Um valor não nulo requer INVITE_SPLASH e é rejeitado com os códigos de campo INVITE_SPLASH_REQUIRES_FEATURE ou EMBED_SPLASH_REQUIRES_FEATURE. Ambos os campos splash aceitam imagens estáticas apenas, então GIF e APNG não são aceitos para nenhum dos dois e um upload animado é rejeitado com o código do campo INVALID_IMAGE_FORMAT
14 A adição de um recurso que não pode ser alternado pelo usuário é rejeitada com o código do campo GUILD_FEATURE_NOT_TOGGLEABLE, ao passo que omitir um recurso que não pode ser alternado pelo usuário o deixa no lugar. Os recursos alternáveis pelo usuário são INVITES_DISABLED, TEXT_CHANNEL_FLEXIBLE_NAMES, DETACHED_BANNER, CLONE_EMOJI_ENABLED, CLONE_STICKER_ENABLED, e HIDE_OWNER_CROWN
15 Um registro de tempo anterior à criação do servidor ou no futuro é rejeitado com MESSAGE_HISTORY_CUTOFF_BEFORE_GUILD_CREATION ou MESSAGE_HISTORY_CUTOFF_IN_FUTURE
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto de servidor | Servidor foi modificado, ou os valores fornecidos corresponderam ao estado atual |
| 4001 | resposta de erro | Corpo, imagem, conjunto de recursos, referência de canal, timestamp ou prova de sudo é inválido |
| 4001 | resposta de erro | Chamador não pode usar MANAGE_GUILD |
| 4032 | resposta de erro | O servidor está indisponível, o nome está bloqueado, MANAGE_GUILD ou propriedade está ausente, ou o modo sudo é necessário |
| 4043 | resposta de erro | Servidor não existe |
1 O código de erro é TWO_FACTOR_REQUIRED para um chamador que possui MANAGE_GUILD mas não pode usá-lo, e INVALID_FORM_BODY caso contrário
2 O código de erro é MISSING_ACCESS para um servidor indisponível, CONTENT_BLOCKED para um nome ou string do corpo bloqueados, SUDO_MODE_REQUIRED quando uma alteração de nível MFA não é comprovada, e MISSING_PERMISSIONS para um não membro, falta de MANAGE_GUILD, ou um não proprietário alterando o nível MFA
3 O código de erro é UNKNOWN_GUILD
Efeitos colaterais
Seção intitulada “Efeitos colaterais”Cada solicitação bem-sucedida emite Guild Update para todas as sessões que podem ver o servidor, e uma solicitação que não altera nenhum campo ainda a emite.
Uma solicitação que altera o valor armazenado de pelo menos um campo do corpo registra uma entrada de auditoria GUILD_UPDATE com os valores anteriores e novos. Essa entrada emite Guild Audit Log Entry Create para sessões que podem ler o registro de auditoria.
A remoção de TEXT_CHANNEL_FLEXIBLE_NAMES renomeia cada canal de texto do servidor que agora requer normalização em seu formato limpo de URL, emitindo Channel Update para as visualizações de canais afetados.
A remoção de INVITE_SPLASH exclui o splash e embed_splash do servidor, sem registros de auditoria ou Guild Update extras, e também define splash_card_alignment para o padrão CENTER.
A remoção de ANIMATED_ICON não altera a identidade do ativo do ícone armazenado, de modo que o prefixo animado reaparece assim que a string for devolvida quando o recurso for restaurado. A remoção de ANIMATED_BANNER faz o mesmo para um banner armazenado, assim como remover BANNER por completo.
A remoção de VANITY_URL revoga a propriedade do código de convite personalizado, como se estivesse chamando Modificar URL de convite personalizado do servidor com um valor nulo.
Limite de taxa
Seção intitulada “Limite de taxa”10 solicitações por minuto para cada usuário autenticado e servidor, no bucket guild:modify::guild_id.
Obter URL de convite personalizado do servidor
Seção intitulada “Obter URL de convite personalizado do servidor”GET/v1/guilds/{guild_id}/vanity-urlRetorna o objeto URL de convite personalizado do servidor. Requer participação e MANAGE_GUILD. O servidor deve possuir o recurso VANITY_URL.
O objeto é retornado com code nulo quando o servidor atualmente não possui nenhum código.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID do servidor |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto URL de convite personalizado | Objeto foi retornado |
| 4031 | resposta de erro | Servidor está indisponível, servidor carece de VANITY_URL, chamador não é membro ou carece de MANAGE_GUILD |
| 4042 | resposta de erro | Servidor não existe |
1 O código de erro é MISSING_ACCESS para um servidor indisponível, VANITY_URL_REQUIRES_FEATURE quando falta o recurso, e MISSING_PERMISSIONS de outra forma
2 O código de erro é UNKNOWN_GUILD
Limite de taxa
Seção intitulada “Limite de taxa”100 solicitações por 10 segundos para cada usuário autenticado e servidor, no bucket guild:vanity-url:read::guild_id.
Modificar URL de convite personalizado do servidor
Seção intitulada “Modificar URL de convite personalizado do servidor”PATCH/v1/guilds/{guild_id}/vanity-urlReivindica ou revoga um código de convite personalizado. Retorna o novo objeto de seleção de URL de convite personalizado. Requer associação e MANAGE_GUILD. O servidor deve possuir o recurso VANITY_URL. Emite um evento de Gateway Guild Update para cada sessão que pode visualizar o servidor.
MANAGE_GUILD é uma permissão elevada. Enquanto o nível de MFA do servidor for elevado, um chamador não proprietário também precisará de um autenticador registrado e receberá 400 TWO_FACTOR_REQUIRED sem um.
O nome e a descrição do convite subjacente não podem ser alterados na API HTTP.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID do servidor |
Corpo JSON
Seção intitulada “Corpo JSON”| Campo | Tipo | Descrição |
|---|---|---|
| code | ?string | Novo código de convite personalizado (2-32 caracteres), ou nulo para revogar o atual |
Um code fora de 2 a 32 caracteres após corte (trimming) retorna 400 INVALID_FORM_BODY com o código do campo STRING_LENGTH_INVALID. Um código bloqueado por code_policy da instância retorna 403 CONTENT_BLOCKED, e um já utilizado por outro servidor ativo retorna 400 INVALID_FORM_BODY com o código de campo VANITY_URL_TAKEN.
O código "" é sempre aceito sem verificação de comprimento e comporta-se da mesma forma que nulo.
Fornecer o valor que o servidor já possui falha a solicitação com 400 INVALID_FORM_BODY e o código de campo VANITY_URL_ALREADY_IN_USE_BY_GUILD em vez de confirmar com sucesso sem efeito colateral.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto de seleção de URL de convite personalizado | Código foi alterado ou revogado |
| 4001 | resposta de erro | O corpo ou comprimento do código é inválido, o código já está em uso, a URL personalizada já é igual a esse código, ou um chamador não proprietário sem um segundo fator está sujeito a MFA elevado |
| 4032 | resposta de erro | Servidor está indisponível, servidor carece de VANITY_URL, chamador não é membro ou carece de MANAGE_GUILD, ou o código está bloqueado |
| 4043 | resposta de erro | Servidor não existe |
1 O código de erro é TWO_FACTOR_REQUIRED para autenticador ausente, e INVALID_FORM_BODY de outra forma
2 O código de erro é MISSING_ACCESS para um servidor indisponível, VANITY_URL_REQUIRES_FEATURE para recurso ausente, CONTENT_BLOCKED para política violada, e MISSING_PERMISSIONS de outra forma
3 O código de erro é UNKNOWN_GUILD
Efeitos colaterais
Seção intitulada “Efeitos colaterais”O convite é um registro separado que resolve para este servidor e, em seguida, mapeia para o canal do sistema atual. Quando um canal do sistema não é configurado, a resolução recai sobre o primeiro canal visível em que o aplicativo Fluxer manteria autoridade, ou falha quando não for encontrado.
Quando o servidor altera o código que possui, a revogação exclui o registro de convite existente que aponta para o servidor e a reivindicação do código cria o novo registro de convite apontando para o servidor. A revogação interrompe imediatamente novos usos. Um novo registro redefini a uses desse código. O Decoding Chat escreve o novo código em vanity_url_code do servidor e emite Guild Update.
A operação registra uma entrada de auditoria GUILD_UPDATE com os valores de vanity_url_code antigo e novo, juntamente com o motivo fornecido.
Limite de taxa
Seção intitulada “Limite de taxa”10 solicitações por minuto para cada usuário autenticado e servidor, no bucket guild:vanity-url:modify::guild_id.
Excluir servidor
Seção intitulada “Excluir servidor”DELETE/v1/guilds/{guild_id}Destrói o servidor e retorna 204 com um corpo vazio. Apenas o proprietário do servidor pode executar a exclusão, e o modo sudo é exigido. Emite o evento de Gateway Guild Delete a todos os membros para notificar que eles não estão mais no servidor.
Enquanto single_community_enabled for verdadeiro na política de instância, o servidor nomeado por single_community_guild_id não pode ser excluído e retorna 400 SINGLE_COMMUNITY_CANNOT_DELETE.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID do servidor |
Cabeçalhos de solicitação
Seção intitulada “Cabeçalhos de solicitação”| Campo | Tipo | Descrição |
|---|---|---|
| X-Fluxer-Sudo-Mode-JWT? | string | Prova existente de modo sudo |
Corpo JSON
Seção intitulada “Corpo JSON”O corpo são os campos de verificação sudo opcionais. Uma solicitação que já possui uma prova válida pode omiti-lo.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 204 | vazio | Servidor foi excluído |
| 4001 | resposta de erro | O corpo, prova sudo ou política de comunidade única rejeita a solicitação |
| 4032 | resposta de erro | O servidor está indisponível, o chamador não é o proprietário, ou modo sudo é exigido |
| 4043 | resposta de erro | O servidor não existe |
1 O código de erro é SINGLE_COMMUNITY_CANNOT_DELETE enquanto a política protege este servidor, e INVALID_FORM_BODY de outra forma
2 O código de erro é MISSING_ACCESS para um servidor indisponível, SUDO_MODE_REQUIRED quando modo sudo não é comprovado, e MISSING_PERMISSIONS para um chamador que não é membro ou não é proprietário
3 O código de erro é UNKNOWN_GUILD
Efeitos colaterais
Seção intitulada “Efeitos colaterais”Cada membro recebe Guild Delete. O Decoding Chat exclui as configurações de servidor do usuário para o servidor de cada membro. Membros não-bot também recebem User Settings Update com o servidor removido de seu layout de pastas.
Nenhuma entrada de registro de auditoria é salva, pois o registro de auditoria é destruído com o servidor. Um cabeçalho X-Audit-Log-Reason nesta solicitação é lido e descartado.
Limite de taxa
Seção intitulada “Limite de taxa”10 solicitações por minuto para cada usuário autenticado e servidor, no bucket guild:delete::guild_id.
Sair do servidor
Seção intitulada “Sair do servidor”DELETE/v1/users/@me/guilds/{guild_id}Remove a associação da conta autenticada e retorna 204 com um corpo vazio. Requer associação atual. Emite o evento de Gateway Guild Member Remove para as sessões de servidor restantes e um evento de Gateway Guild Delete para as próprias sessões da conta que saiu.
Um chamador sem associação atual recebe 404 UNKNOWN_MEMBER independentemente do servidor existir ou não. O proprietário do servidor não pode sair e recebe 400 INVALID_FORM_BODY com o código do campo CANNOT_LEAVE_GUILD_AS_OWNER. Enquanto single_community_enabled é verdadeiro na política de instância, não é possível sair do servidor nomeado por single_community_guild_id e ele retorna 400 SINGLE_COMMUNITY_CANNOT_LEAVE. A configuração de delete_messages requer o modo sudo, o que uma credencial de bot atende implicitamente.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | O ID do servidor |
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Campo | Tipo | Descrição |
|---|---|---|
| delete_messages?1 | boolean | Excluir a associação não é suficiente, as mensagens também devem ser excluídas (padrão false) |
1 O Decoding Chat aceita string JSON true e a string 1 como valores verdadeiros, e qualquer outra coisa, incluindo o fornecimento do parâmetro sem valor, como o padrão false
Cabeçalhos de solicitação
Seção intitulada “Cabeçalhos de solicitação”| Campo | Tipo | Descrição |
|---|---|---|
| X-Fluxer-Sudo-Mode-JWT? | string | Prova existente de modo sudo |
Corpo JSON
Seção intitulada “Corpo JSON”O corpo são os campos de verificação sudo opcionais. Eles só são lidos quando a solicitação define delete_messages como verdadeiro e a conta que está saindo não for um bot. Uma solicitação que não exclui o histórico não precisa fornecer credenciais e ignora esse corpo se ele for enviado.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 204 | vazio | A associação ao servidor foi removida |
| 4001 | resposta de erro | Chamador é o proprietário, a solicitação falha por conta do modo sudo exigido para delete_messages, ou a política de comunidade única proíbe saída |
| 4032 | resposta de erro | O servidor está indisponível, ou modo sudo é necessário para delete_messages |
| 404 | resposta de erro | O chamador não é um membro e a solicitação retorna UNKNOWN_MEMBER |
1 O código de erro é SINGLE_COMMUNITY_CANNOT_LEAVE quando o servidor está protegido pela política e INVALID_FORM_BODY de outra forma
2 O código de erro é MISSING_ACCESS para um servidor indisponível e SUDO_MODE_REQUIRED quando uma prova sudo estava ausente ou incorreta
Efeitos colaterais
Seção intitulada “Efeitos colaterais”As sessões em andamento do membro na voz do servidor são desconectadas de imediato e silenciosamente com o código de encerramento local 4014 para que não continuem transmitindo aúdio. O usuário recebe o evento de Gateway Guild Delete para o servidor sendo deixado.
As permissões atreladas à associação não concedem mais visibilidade, portanto as referências do cliente para o servidor desaparecem da API. Se delete_messages for verdadeiro, o Decoding Chat agenda a exclusão de todo o histórico do chamador no servidor usando as mesmas regras de limite de Sinalizar membro do servidor.
O Decoding Chat cria uma entrada de registro de auditoria MEMBER_DISCONNECT na conta do chamador que não cita cabeçalho ou parâmetro de motivo. Se delete_messages for verdadeiro, o Decoding Chat adiciona uma entrada MEMBER_HISTORY_CLEARED logo após ela, que nomeia o chamador. As sessões ativas do servidor que possuem autoridade recebem os eventos de entrada de log.
O chamador também recebe User Settings Update com o servidor removido do layout de sua pasta, e o restante do servidor recebe Guild Member Remove.
Limite de taxa
Seção intitulada “Limite de taxa”10 solicitações por minuto para cada usuário autenticado, no bucket guild:leave.

