Configurações de usuário
As configurações de usuário incluem preferências em toda a conta e configurações de notificação para cada guilda e para canais privados.
Toda rota aqui é exclusiva para usuários e rejeita um bot ou credencial de portador OAuth2 com 403 ACCESS_DENIED. Toda rota, exceto Obter configurações do usuário atual, também rejeita uma conta com uma ação obrigatória pendente, com 403 ACCOUNT_SUSPICIOUS_ACTIVITY.
Valores de status de presença
Seção intitulada “Valores de status de presença”| Valor | Descrição |
|---|---|
| online | O usuário é apresentado como online |
| dnd | O usuário é apresentado como ocupado (não perturbe) |
| idle | O usuário é apresentado como ausente |
| invisible1 | O usuário é apresentado como offline para todos os outros |
1 A conta permanece conectada e continua recebendo tráfego do Gateway enquanto este valor está armazenado
Valores de tema
Seção intitulada “Valores de tema”| Valor | Descrição |
|---|---|
| dark | Tema escuro |
| dark_legacy | Geração anterior do tema escuro |
| coal | Tema carvão |
| light | Tema claro |
| system | O tema segue o sistema operacional |
Níveis de notificação
Seção intitulada “Níveis de notificação”| Valor | Nome | Descrição |
|---|---|---|
| 0 | ALL_MESSAGES | Notificar para cada mensagem |
| 1 | ONLY_MENTIONS | Notificar apenas para menções |
| 2 | NO_MESSAGES | Não notificar para mensagens |
| 3 | INHERIT | Herdar a configuração pai |
Objeto de configuração de silenciamento da guilda
Seção intitulada “Objeto de configuração de silenciamento da guilda”Expiração do silenciamento para uma guilda, um grupo de canais privados ou uma substituição de canal.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| end_time1 | ?ISO8601 timestamp | O horário em que o silenciamento temporário deixa de ser aplicado, ou nulo para sem expiração |
| selected_time_window2 | integer | A duração opaca de silenciamento que o cliente selecionou |
1 Um end_time no passado não silencia mais as notificações, mas pode permanecer presente na resposta
2 O valor é retornado inalterado e não tem participação na entrega de notificações. Um valor ausente é retornado como 0
Objeto de entrada de configuração de silenciamento da guilda
Seção intitulada “Objeto de entrada de configuração de silenciamento da guilda”A forma de entrada do objeto de configuração de silenciamento da guilda.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| end_time?1 | ?ISO8601 timestamp | integer | O horário em que o silenciamento temporário deixa de ser aplicado, ou nulo para sem expiração |
| selected_time_window | integer | A duração opaca de silenciamento que o cliente selecionou, armazenada literalmente |
1 O valor é uma string de carimbo de data/hora ISO 8601 ou milissegundos Unix. Uma string que não seja um carimbo de data/hora válido é rejeitada com INVALID_ISO_TIMESTAMP
Objeto de substituição de notificação de canal
Seção intitulada “Objeto de substituição de notificação de canal”Configurações de notificação armazenadas para um canal.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| collapsed1 | boolean | Se a categoria do canal está recolhida |
| message_notifications | integer | Nível de notificação |
| muted | boolean | Se as notificações do canal estão silenciadas |
| mute_config | ?objeto de configuração de silenciamento da guilda | A configuração de silenciamento do canal, ou nulo quando nenhuma está armazenada |
| unread_badges1 2 | ?integer | Nível de notificação para selos não lidos, ou nulo para herdar |
1 O valor controla a exibição do cliente e não afeta a entrega de notificações
2 Toda resposta possui o membro, com nulo significando que nenhum nível está definido
Objeto de entrada de substituição de notificação de canal
Seção intitulada “Objeto de entrada de substituição de notificação de canal”A forma de entrada do objeto de substituição de notificação de canal.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| collapsed | boolean | Se a categoria do canal está recolhida |
| message_notifications | integer | Nível de notificação |
| muted | boolean | Se as notificações do canal estão silenciadas |
| mute_config? | ?objeto de entrada de configuração de silenciamento da guilda | A configuração de silenciamento do canal, ou nulo para limpá-la |
| unread_badges? | ?integer | Nível de notificação para selos não lidos, ou nulo para herdar |
Objeto de configurações de guilda do usuário
Seção intitulada “Objeto de configurações de guilda do usuário”Configurações de notificação para uma guilda, ou para cada canal privado quando guild_id for nulo.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id1 | ?snowflake | O ID da guilda, ou nulo para configurações de mensagens diretas e MD de grupo |
| message_notifications | integer | O nível de notificação padrão |
| muted | boolean | Se a guilda ou o grupo de canais privados está silenciado |
| mute_config | ?objeto de configuração de silenciamento da guilda | A configuração de silenciamento, ou nulo quando nenhuma está armazenada |
| mobile_push | boolean | Se a entrega de notificação está habilitada para a guilda |
| suppress_everyone | boolean | Se as menções @everyone estão suprimidas |
| suppress_roles | boolean | Se as menções de cargo estão suprimidas |
| hide_muted_channels3 | boolean | Se os canais silenciados estão ocultos |
| channel_overrides2 | ?map[snowflake, objeto de substituição de notificação de canal] | As substituições por canal, ou nulo quando nenhuma estiver definida |
| unread_badges3 5 | ?integer | O nível de notificação padrão para selos não lidos, ou nulo para seguir message_notifications |
| version4 | integer | A revisão monotônica deste objeto de configurações |
1 As configurações do canal privado são sempre serializadas com guild_id nulo
2 Um mapa de substituição sem nenhuma entrada é serializado como nulo
3 O valor controla a exibição do cliente e não afeta a entrega de notificações
4 O valor aumenta a cada gravação armazenada, incluindo uma que não altere nenhum outro membro, para que um cliente possa descartar uma Atualização de configurações de guilda de usuário obsoleta
5 Toda resposta possui o membro, com nulo significando que nenhum nível está definido
Example
Seção intitulada “Example”{ "guild_id": null, "message_notifications": 1, "muted": false, "mute_config": null, "mobile_push": true, "suppress_everyone": false, "suppress_roles": false, "hide_muted_channels": false, "channel_overrides": null, "unread_badges": null, "version": 4}Guild settings update fields
Seção intitulada “Guild settings update fields”Ambas as operações de configurações de notificação aceitam exatamente esses campos. Cada campo é opcional, e um campo omitido deixa o valor armazenado inalterado.
Structure
Seção intitulada “Structure”| Campo | Tipo | Descrição |
|---|---|---|
| message_notifications? | integer | O nível de notificação padrão, INHERIT para novas configurações |
| muted? | boolean | Se a guilda está silenciada, padrão falso para novas configurações |
| mute_config? | ?objeto de entrada de configuração de silenciamento da guilda | A configuração de silenciamento, ou nulo para limpá-la |
| mobile_push? | boolean | Se a entrega de notificações está habilitada, padrão verdadeiro para novas configurações |
| suppress_everyone? | boolean | Se as menções @everyone estão suprimidas, padrão falso para novas configurações |
| suppress_roles? | boolean | Se as menções de cargo estão suprimidas, padrão falso para novas configurações |
| hide_muted_channels? | boolean | Se os canais silenciados estão ocultos, padrão falso para novas configurações |
| channel_overrides?1 | ?map[snowflake, objeto de entrada de substituição de notificação de canal] | O mapa completo de substituições por canal, ou nulo para limpá-lo |
| unread_badges? | ?integer | O nível de notificação padrão para selos não lidos, ou nulo para seguir message_notifications |
1 O mapa fornecido torna-se o conjunto completo de substituições, e um mapa vazio limpa todas as substituições
Uma menção direta da conta sempre conta. Uma menção @everyone ou @here conta apenas se suppress_everyone for falso, e uma menção de cargo apenas se suppress_roles for falso. Uma menção que conta incrementa mention_count no estado de leitura do canal e adiciona uma entrada ao histórico de menções recentes. Uma mensagem de guilda com todas as menções suprimidas não registra nada.
Nenhum campo é lido fora de uma guilda. Uma mensagem direta e uma MD de grupo coletam apenas menções diretas, e cada uma delas conta independentemente do que as configurações do canal privado determinem.
User settings update object
Seção intitulada “User settings update object”A forma de entrada do objeto de configurações de usuário. Cada campo é opcional, e um campo omitido deixa o valor armazenado inalterado. Um campo presente com um valor substitui o valor armazenado por completo, incluindo um array ou membro de objeto.
Os campos exclusivos para a equipe (staff) são a exceção. Toda atualização redefine suppress_unprivileged_self_mentions, suppress_unprivileged_self_mentions_bypass_user_ids e staff_dm_access_user_ids como falso, vazio e vazio para uma conta comum, incluindo uma atualização que não nomeia nenhum deles.
Membros adicionais são aceitos e ignorados. guild_positions é um array de no máximo 200 snowflakes de guilda, e nada o lê. default_share_voice_activity pertence a Modificar compartilhamento de atividade de voz.
Structure
Seção intitulada “Structure”| Campo | Tipo | Descrição |
|---|---|---|
| status? | string | Status de presença |
| status_resets_at?1 | ?ISO8601 timestamp | integer | O horário no qual o cliente primário (first-party) define status como status_resets_to, ou nulo para limpá-lo |
| status_resets_to? | ?string | Status de presença que o cliente primário (first-party) define em status_resets_at, ou nulo para limpá-lo |
| theme? | string | Valor de tema |
| locale?2 | string | Localidade da interface |
| restricted_guilds?3 | array[snowflake] | As guildas onde as mensagens diretas de membros são restritas (máximo de 200) |
| bot_restricted_guilds?3 | array[snowflake] | As guildas onde as mensagens diretas de bots são restritas (máximo de 200) |
| default_guilds_restricted? | boolean | Se as guildas recém-ingressadas restringem as mensagens diretas de membros |
| bot_default_guilds_restricted? | boolean | Se as guildas recém-ingressadas restringem as mensagens diretas de bots |
| inline_attachment_media? | boolean | Se a mídia de anexo é renderizada em linha |
| inline_embed_media? | boolean | Se a mídia incorporada (embed) é renderizada em linha |
| gif_auto_play? | boolean | Se a mídia GIF é reproduzida automaticamente |
| render_embeds? | boolean | Se os embeds de mensagens são renderizados |
| render_reactions? | boolean | Se as reações de mensagens são renderizadas |
| animate_emoji? | boolean | Se os emojis personalizados são animados |
| animate_stickers? | integer | Configuração de animação de figurinhas (stickers) |
| render_spoilers? | integer | Configuração de renderização de spoilers |
| message_display_compact? | boolean | Se as mensagens usam a exibição compacta |
| flags?4 | integer | Sinalizadores de fonte de amigo (Friend source flags) |
| friend_source_flags?4 | integer | Sinalizadores de fonte de amigo (Friend source flags) |
| incoming_call_flags?5 | integer | Sinalizadores de chamadas recebidas |
| group_dm_add_permission_flags?6 | integer | Sinalizadores de permissão para adicionar em MD de grupo |
| guild_folders?7 | array[objeto de entrada de pasta de guilda] | O layout completo da pasta de guilda (máximo de 100) |
| custom_status?8 | ?objeto de entrada de status personalizado | O status personalizado, ou nulo para limpá-lo |
| afk_timeout? | integer | Os segundos de inatividade antes que a conta seja apresentada como ausente (60-600) |
| time_format? | integer | Configuração de formato de hora |
| developer_mode? | boolean | Se o modo desenvolvedor está ativado |
| trusted_domains?9 | array[string] | Os domínios de links externos confiáveis (máximo de 1000, de 1 a 253 caracteres cada) |
| default_hide_muted_channels? | boolean | Se guildas recém-ingressadas ocultam canais silenciados |
| sensitive_content_friend_dm_filter?10 | integer | Filtro de mídia sensível para mensagens diretas de amigos |
| sensitive_content_non_friend_dm_filter?11 | integer | Filtro de mídia sensível para mensagens diretas de não amigos |
| sensitive_content_guild_filter?11 | integer | Filtro de mídia sensível em guilda |
| suppress_unprivileged_self_mentions?12 | boolean | Se menções diretas e de resposta de usuários sem privilégios são suprimidas |
| suppress_unprivileged_self_mentions_bypass_user_ids?12 | ?array[snowflake] | Os usuários isentos de supressão de menção |
| staff_dm_access_user_ids?12 | ?array[snowflake] | Os usuários que têm acesso concedido a mensagens diretas para a equipe |
| profile_privacy? | integer | Nível de privacidade do perfil |
| synced_preferences?13 | ?string | O snapshot de fluxer.user.preferences.v1.SyncedPreferences codificado em base64, ou nulo para limpá-lo |
1 Uma string corresponde a ISO 8601 e um número inteiro são milissegundos Unix entre 0 e 8640000000000000. Qualquer outra coisa é rejeitada com INVALID_ISO_TIMESTAMP
2 O valor é uma entrada exata do registro de localidades suportado, nunca uma correspondência mais próxima negociada. Uma alteração também se aplica à localização de e-mails
3 Identificadores duplicados são removidos antes do limite ser aplicado, e um array vazio limpa o conjunto armazenado
4 flags é um alias herdado para friend_source_flags, que tem preferência quando ambos são fornecidos. friend_source_flags está limitado de 0 a 2147483647 enquanto flags aceita qualquer inteiro
5 O Decoding Chat reduz o valor antes de armazená-lo. Um valor com FRIENDS_ONLY é armazenado como FRIENDS_ONLY, e um valor com NOBODY e sem FRIENDS_ONLY é armazenado como NOBODY. Ambos mantêm SILENT_EVERYONE quando ele for fornecido, e qualquer outro valor é armazenado inalterado
6 Um valor com FRIENDS_ONLY, NOBODY ou EVERYONE é armazenado apenas como um desses sinalizadores. FRIENDS_ONLY tem preferência sobre os outros dois e NOBODY tem preferência sobre EVERYONE. Qualquer outro valor é armazenado inalterado
7 O array substitui o layout na íntegra
8 O objeto substitui o status personalizado armazenado na íntegra, portanto um membro omitido é limpo. Normalização de entrada transforma um objeto totalmente vazio em nulo, o que limpa o status
9 A única entrada * confia em todos os domínios e não pode ser combinada com um domínio concreto, que falha em relação aos trusted_domains com INVALID_TRUSTED_DOMAINS. Um array vazio limpa o conjunto
10 Uma conta que não é de adulto verificado só pode definir como desfocar (blur) ou bloquear. Qualquer outro valor falha nesse campo com AGE_RESTRICTED
11 Uma conta que não seja de adulto verificado não pode modificar este campo, e fornecer um valor falha no campo com AGE_RESTRICTED
12 O campo é exclusivo para a equipe (staff)
13 O valor possui no máximo 699052 caracteres em base64 e decodifica para no máximo 524288 bytes, o limite de 512 KiB. Uma string mais longa retorna 400 INVALID_FORM_BODY, uma decodificação sobredimensionada falha com TOO_LARGE, e um valor não decodificável falha com INVALID_FORMAT
O Decoding Chat decodifica um valor synced_preferences aceito, o recodifica canonicamente e armazena o resultado, de modo que um snapshot com apenas valores zero é armazenado como limpo e lido novamente como uma string vazia.
O Decoding Chat anexa uma pasta não categorizada vazia ao layout enviado que omita uma. Um ID de guilda listado em mais de uma pasta é mantido apenas na pasta com classificação mais alta. O Decoding Chat classifica as pastas em duas etapas. Uma pasta com nome não vazio tem prioridade sobre uma pasta sem nome. Entre duas pastas, ambas nomeadas ou ambas sem nome, uma pasta comum tem prioridade sobre a pasta não categorizada. A pasta que aparece primeiro na ordem enviada ganha em caso de empate.
Guild folder input object
Seção intitulada “Guild folder input object”Uma pasta de um layout de pasta de guilda enviado.
Structure
Seção intitulada “Structure”| Campo | Tipo | Descrição |
|---|---|---|
| id1 | integer | O identificador da pasta |
| name? | ?string | O nome da pasta (0-100 caracteres) |
| color?2 | ?integer | A cor RGB condensada de 24 bits da pasta (0-16777215) |
| flags?2 | integer | Sinalizadores de pasta de guilda |
| icon?2 | string | Ícone de pasta de guilda |
| guild_ids3 | array[snowflake] | Os IDs das guildas na ordem de exibição (máximo 200) |
1 O valor é de pelo menos -1, e -1 identifica a pasta sem categoria
2 Uma color omitida é armazenada como 0, as flags omitidas como 0, e um icon omitido como folder. Uma color abaixo de 0 falha com COLOR_VALUE_TOO_LOW e uma acima de 16777215 com COLOR_VALUE_TOO_HIGH
3 Identificadores duplicados em uma pasta são removidos antes que o limite seja aplicado
Custom status input object
Seção intitulada “Custom status input object”Um status personalizado conforme enviado junto a uma atualização de configurações.
Structure
Seção intitulada “Structure”| Campo | Tipo | Descrição |
|---|---|---|
| text?1 | ?string | O texto do status (1-128 caracteres) |
| expires_at?2 | ?ISO8601 timestamp | integer | A expiração como uma string de carimbo de data/hora ou milissegundos Unix, ou nulo para sem expiração |
| emoji_id?3 | ?snowflake | O emoji personalizado a ser exibido |
| emoji_name?3 | ?string | O emoji Unicode a ser exibido (1-32 caracteres) |
1 O Decoding Chat mede o comprimento após a normalização de entrada, o que transforma uma string vazia em nulo. Texto na lista de bloqueio ou um link na lista de bloqueio é rejeitado com 403 CONTENT_BLOCKED
2 O valor está no futuro, e um valor no momento atual ou anterior a ele é rejeitado
3 emoji_name é ignorado sem validação quando emoji_id possui um valor. Um emoji_id nulo deixa emoji_name no lugar, e então ele se torna exatamente um emoji Unicode
Um ID de emoji personalizado que não resolve falha com CUSTOM_EMOJI_NOT_FOUND contra custom_status.emoji_id. O Decoding Chat descarta o emoji resolvido para uma conta cujo limite de feature_global_expressions resolve para 0, então a requisição é bem-sucedida apenas com o texto.
Configurações iniciais
Seção intitulada “Configurações iniciais”Uma nova conta começa com esses valores. Todo campo não listado começa vazio, portanto não há status personalizado e synced_preferences é uma string vazia.
| Configuração | Valor inicial |
|---|---|
| Tema | O tema escolhido no registro, ou dark (escuro) |
| Status | online |
| Renderização | Emoji personalizado animado, figurinhas (stickers) sempre animadas, reprodução automática de GIF, embeds e reações renderizados, spoilers ao clicar, anexo em linha e mídia incorporada |
| Chamadas recebidas e adições a MD de grupo | Apenas amigos |
| Restrições de MD de guilda | Sem restrições para membros e bots |
| Pastas de guilda | Uma pasta não categorizada vazia |
| Tempo limite de AFK | 600 segundos |
| Formato de hora | Automático |
| Domínios confiáveis | Nenhum |
| Privacidade de perfil | Visível para todos os membros da guilda |
| Compartilhamento de atividade de voz | Habilitado |
| Fontes de amigo | Amigos em comum e guildas em comum, mais nenhuma relação para um adulto verificado |
| Filtros de mídia sensível | Mostrar para um adulto verificado e desfocar de outra forma em MDs de amigos, bloquear em MDs de não amigos, desfocar em guildas |
| Modo desenvolvedor | Habilitado em desenvolvimento, desabilitado em outros lugares |
Obter configurações do usuário atual
Seção intitulada “Obter configurações do usuário atual”GET/v1/users/@me/settingsRetorna o objeto de configurações de usuário.
Uma conta com uma ação obrigatória pendente ainda pode chamar esta rota. Uma conta sem registro de configurações armazenado retorna 404 UNKNOWN_USER.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto de configurações de usuário | As configurações foram retornadas |
| 404 | resposta de erro | As configurações não existem e a requisição retorna UNKNOWN_USER |
Limite de taxa
Seção intitulada “Limite de taxa”40 requisições a cada 10 segundos para cada usuário autenticado, no bucket user:settings:get compartilhado com Obter usuário atual.
Modificar configurações do usuário atual
Seção intitulada “Modificar configurações do usuário atual”PATCH/v1/users/@me/settingsModifica as configurações de toda a conta e retorna o objeto completo de configurações de usuário. Emite um evento de Gateway de Atualização de Configurações de Usuário.
Uma conta sem registro de configurações armazenado retorna 404 UNKNOWN_USER. Uma mudança de localidade também emite um evento de Gateway de Atualização de Usuário.
Um emoji de status personalizado não resolúvel retorna 400 INVALID_FORM_BODY com CUSTOM_EMOJI_NOT_FOUND contra custom_status.emoji_id. Rejeições de trusted_domains, de um filtro com restrição de idade e de um valor synced_preferences superdimensionado ou não decodificável retornam 400 VALIDATION_ERROR com seus próprios códigos em errors.
Corpo JSON
Seção intitulada “Corpo JSON”O corpo usa o objeto de atualização de configurações de usuário.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto de configurações de usuário | As configurações foram aplicadas e retornadas |
| 400 | resposta de erro | Um valor de campo, o emoji de status personalizado, a combinação de domínios confiáveis, um filtro com restrição de idade ou o snapshot das preferências sincronizadas é inválido |
| 403 | resposta de erro | O texto de status personalizado está bloqueado e a requisição retorna CONTENT_BLOCKED |
| 404 | resposta de erro | As configurações não existem e a requisição retorna UNKNOWN_USER |
Efeitos colaterais
Seção intitulada “Efeitos colaterais”O Decoding Chat emite a Atualização de configurações de usuário para as próprias sessões do chamador. Um patch com valores idênticos ainda faz a gravação e produz o Dispatch. Uma mudança de localidade também se aplica à localização de e-mails e notificações e emite a Atualização de Usuário. O objeto de usuário não tem um membro de localidade.
Toda Atualização de configurações de usuário republica a Atualização de Presença atual do chamador para as sessões qualificadas, para que uma alteração de status personalizado se torne visível sem uma solicitação adicional.
Um status de invisível força cada uma das sessões do chamador para invisível. Quando pelo menos uma sessão está invisível, um status posterior de online, idle ou dnd define cada uma das sessões do chamador para esse status.
Limite de taxa
Seção intitulada “Limite de taxa”20 requisições a cada 10 segundos para cada usuário autenticado, no bucket user:settings:update compartilhado com Modificar compartilhamento de atividade de voz.
Modificar compartilhamento de atividade de voz
Seção intitulada “Modificar compartilhamento de atividade de voz”PUT/v1/users/@me/settings/voice-activity-sharingAltera o valor padrão de compartilhamento de atividade de voz, aplica-o ao lado do chamador em todas as amizades existentes e retorna o objeto de usuário do chamador. Emite os eventos de Gateway de Atualização de Relacionamento e de Atualização de Usuário, e um evento de Gateway de Atualização de configurações de usuário apenas quando o padrão armazenado for alterado.
Uma conta ou registro de configurações ausente retorna 404 UNKNOWN_USER.
Somente esta rota escreve default_share_voice_activity, que é somente leitura no objeto de configurações de usuário.
Corpo JSON
Seção intitulada “Corpo JSON”| Campo | Tipo | Descrição |
|---|---|---|
| share_voice_activity | boolean | Se a atividade de voz é compartilhada, armazenado como o novo padrão e aplicado ao lado do chamador em todas as amizades |
Fora da janela o cooldown reinicia a cada solicitação aceita, incluindo uma que define o valor que ele já possui. O objeto de usuário tem esse momento como last_voice_activity_sharing_change_at.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto de usuário | O estado de compartilhamento foi retornado após a aplicação da solicitação |
| 400 | resposta de erro | O tempo de espera de 24 horas permanece ativo e a solicitação retorna INVALID_FORM_BODY |
| 404 | resposta de erro | A conta ou suas configurações não existem e a requisição retorna UNKNOWN_USER |
Efeitos colaterais
Seção intitulada “Efeitos colaterais”Uma solicitação aceita grava default_share_voice_activity e, em seguida, percorre todas as amizades. Uma amizade cujo valor do lado do chamador já é igual ao valor enviado é ignorada e sua version armazenada não avança. Cada amizade, ignorada ou reescrita, produz uma Atualização de relacionamento para o chamador e uma para o amigo, então reencaminhar o valor atual ainda envia esses Dispatches para cada amizade. O Dispatch do amigo é emitido apenas quando a amizade recíproca existe.
Em seguida, ele registra o horário de alteração em last_voice_activity_sharing_change_at e emite Atualização de usuário para o chamador.
Limite de taxa
Seção intitulada “Limite de taxa”20 requisições a cada 10 segundos para cada usuário autenticado, no bucket user:settings:update compartilhado com Modificar configurações do usuário atual.
Modificar configurações de notificação de MD
Seção intitulada “Modificar configurações de notificação de MD”PATCH/v1/users/@me/guilds/@me/settingsModifica e retorna o objeto de configurações de guilda do usuário que controla as mensagens diretas e as MDs de grupo. Emite um evento de Gateway de Atualização de Configurações de Guilda de Usuário em cada sucesso.
O Decoding Chat cria as configurações com os padrões documentados quando elas estão ausentes.
Corpo JSON
Seção intitulada “Corpo JSON”O corpo usa os campos de atualização de configurações de guilda.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto de configurações de guilda do usuário | As configurações de MD foram retornadas após a aplicação da solicitação |
Efeitos colaterais
Seção intitulada “Efeitos colaterais”As configurações de canal privado são retornadas com guild_id nulo. O Decoding Chat faz a gravação e emite o Dispatch para as próprias sessões do chamador mesmo quando a requisição não altera nada, e a version avança nessa gravação. Nenhuma outra conta recebe um Dispatch.
Limite de taxa
Seção intitulada “Limite de taxa”30 requisições a cada 10 segundos para cada usuário autenticado, no bucket user:guild_settings:update compartilhado com Modificar configurações de notificação da guilda.
Modificar configurações de notificação da guilda
Seção intitulada “Modificar configurações de notificação da guilda”PATCH/v1/users/@me/guilds/{guild_id}/settingsModifica e retorna o objeto de configurações de guilda do usuário para o ID de guilda fornecido. Emite um evento de Gateway de Atualização de Configurações de Guilda de Usuário em cada sucesso.
O Decoding Chat cria as configurações com os padrões documentados quando elas estão ausentes.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| guild_id | snowflake | A chave de configurações da guilda |
Corpo JSON
Seção intitulada “Corpo JSON”O corpo usa os campos de atualização de configurações de guilda.
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto de configurações de guilda do usuário | As configurações da guilda foram retornadas após a aplicação da requisição |
Efeitos colaterais
Seção intitulada “Efeitos colaterais”O Decoding Chat faz a gravação e emite o Dispatch para as próprias sessões do chamador mesmo quando a requisição não altera nada, e a version avança nessa gravação. Nenhum outro membro da guilda além do chamador recebe um Dispatch.
Limite de taxa
Seção intitulada “Limite de taxa”30 requisições a cada 10 segundos para cada usuário autenticado, no bucket user:guild_settings:update compartilhado com Modificar configurações de notificação de MD.

