User Settings Proto
User settings are options that a user can configure to change the behavior of their account or client. These settings are now stored in a protocol buffer format, which is more efficient and allows for more flexibility. Multiple user settings protos are supported, each with a different purpose.
Help!
How do I parse a protobuf?!
Help!
How do I parse a protobuf?!
Protobufs are a binary format, so you'll need to decode them before you can read them. If you want to learn more about them, a good start is Google's official documentation. All protobufs transmitted in the API are encoded in base64.
The types documented below follow standard protobuf types (e.g. uint32
, bool
, fixed64
, etc.). Some values are wrapped in containers such as StringValue
or BoolValue
.
These are wrappers that allow the value to be null
or unset, but must be unwrapped to access the value. They are provided by the google.protobuf.wrappers
and google.protobuf.timestamp
packages.
The order of the documented structures below is the same order used in the wire format.
All protobuf definitions used by Discord are available in this repository. They are also packaged on PyPI and npm for easy installation.
User Settings Proto Type
Value | Name | Description | Object |
---|---|---|---|
1 | PRELOADED | General Discord user settings, sent in the Ready event | Preloaded User Settings |
2 | FRECENCY | Frecency and favorites storage, used for low-priority, lazy-loaded settings | Frecency User Settings |
3 | TEST_SETTINGS | Unknown | Unknown |
Versions Structure
Field | Type | Description |
---|---|---|
client_version | uint32 | The client migration version |
server_version 1 | uint32 | The server migration version (currently 0 ) |
data_version 1 | uint32 | The incremental data version |
1 Should not be modified by clients. data_version
is automatically incremented on every change.
Preloaded User Settings Object
Serialized as discord_protos.discord_users.v1.PreloadedUserSettings
.
Preloaded User Settings Structure
Field | Type | Description |
---|---|---|
versions | versions object | Version information for the protocol and data |
inbox | inbox settings object | Settings related to the user's inbox view |
guilds | all guild settings object | Settings specific to guilds and channels |
user_content | user content settings object | Dismissal states for various types of upsells and promotions |
voice_and_video | voice and video settings object | Voice and video call configuration |
text_and_images | text and images settings object | Chat and image rendering settings |
notifications | notification settings object | Notification-related preferences |
privacy | privacy settings object | User privacy preferences |
debug | debug settings object | Client debug settings |
game_library | game library settings object | Game library settings |
status | status settings object | User presence customization settings |
localization | localization settings object | Client localization preferences |
appearance | appearance settings object | Client appearance settings |
guild_folders | guild folders object | Organization settings for guilds |
favorites | favorites object | The serialized client favorites pseudo-guild |
audio_context_settings | audio settings object | RTC audio context settings |
communities | communities settings object | Community guild settings |
broadcast | broadcast settings object | Broadcast settings |
clips | clips settings object | Clips settings |
for_later | for later settings object | For Later section settings for bookmarks and reminders |
safety_settings | safety settings object | User safety settings |
icymi_settings | ICYMI settings object | ICYMI (In Case You Missed It) feed settings |
applications | all application settings object | Application-specific settings |
Inbox Settings Structure
Field | Type | Description |
---|---|---|
current_tab | inbox tab enum | The currently selected tab in the inbox |
viewed_tutorial | bool | Whether the user has viewed the inbox tutorial |
Inbox Tab
Value | Name | Description |
---|---|---|
0 | UNSPECIFIED | Default unset value |
1 | MENTIONS | Mentions tab |
2 | UNREADS | Unreads tab |
3 | TODOS | Message reminders tab |
4 | FOR_YOU | Notification items tab |
5 | GAME_INVITES | Game invites tab |
6 | BOOKMARKS | Bookmarks tab |
7 | SCHEDULED | Scheduled messages tab |
All Guild Settings Structure
Field | Type | Description |
---|---|---|
guilds | map[fixed64, guild settings object] | Per-guild personalization settings |
Guild Settings Structure
Field | Type | Description |
---|---|---|
channels | map[fixed64, channel settings object] | Settings specific to channels within the guild |
hub_progress | uint32 | Hub progress flags |
guild_onboarding_progress | uint32 | Guild onboarding progress flags |
guild_recents_dismissed_at? | timestamp | When the guild recents were last dismissed |
dismissed_guild_content | bytes | Per-guild dismissable content, encoded as a byte array of integer enum values |
join_sound? | custom call sound object | Custom sound played when joining a call in this channel |
mobile_redesign_channel_list_settings? | channel list settings object | Channel list settings |
disable_raid_alert_push | bool | Whether to disable raid alert push notifications |
disable_raid_alert_nag | bool | Whether to disable raid alert in-client nag screens |
custom_notification_sound_config? | custom notification sound config object | Custom notification sound configuration |
leaderboards_disabled | bool | Whether guild leaderboards are disabled |
Channel Settings Structure
Field | Type | Description |
---|---|---|
collapsed_in_inbox | bool | Whether the channel is collapsed in the inbox |
icon_emoji? | channel icon emoji | The custom emoji icon for the channel |
custom_notification_sound_config? | custom notification sound config | Custom notification sound configuration for the channel |
Channel Icon Emoji Structure
Field | Type | Description |
---|---|---|
id? | UInt64Value | The ID of the emoji |
name? | StringValue | The name of the emoji |
color? | UInt64Value | The color of the icon |
Custom Notification Sound Config Structure
Field | Type | Description |
---|---|---|
notification_sound_pack_id? | StringValue | The ID of the notification sound pack used |
Hub Progress Flags
Value | Name | Description |
---|---|---|
1 << 0 | JOIN_GUILD | User has joined a guild in the hub |
1 << 1 | INVITE_USER | User has sent an invite for the hub |
1 << 2 | CONTACT_SYNC | User has accepted the contact sync modal |
Guild Onboarding Progress Flags
Value | Name | Description |
---|---|---|
1 << 0 | NOTICE_SHOWN | User has been shown the onboarding notice |
1 << 1 | NOTICE_CLEARED | User has cleared the onboarding notice |
Custom Call Sound Structure
Field | Type | Description |
---|---|---|
sound_id | fixed64 | The ID of the custom call soundboard sound |
guild_id | fixed64 | The ID of the guild the sound is in |
Notification Sound Pack
Value | Description |
---|---|
classic | Default Discord sounds |
retro | Retro |
bop | Bubble |
ducky | Ducky |
lofi | Lofi |
asmr | ASMR |
discodo | Discodo easter egg |
halloween | Halloween |
winter_holiday | Winter holiday |
Channel List Settings Structure
Field | Type | Description |
---|---|---|
layout? | StringValue | Channel list layout setting |
message_previews? | StringValue | Message preview setting |
User Content Settings Structure
Field | Type | Description |
---|---|---|
dismissed_contents | bytes | User dismissed content, encoded as a byte array of integer enum values |
last_dismissed_outbound_promotion_start_date? | StringValue | When the last dismissed outbound promotion started |
premium_tier_0_modal_dismissed_at? | Timestamp | When the Nitro Basic promotion modal was dismissed |
guild_onboarding_upsell_dismissed_at? | Timestamp | When the guild onboarding upsell was dismissed |
safety_user_sentiment_notice_dismissed_at? | Timestamp | When the safety user sentiment notice was dismissed |
last_received_changelog_id | fixed64 | The ID of the last received changelog |
recurring_dismissible_content_states | map[int32, recurring dismissible content state object] | States of recurring dismissible content entries |
Recurring Dismissible Content State Structure
Field | Type | Description |
---|---|---|
last_dismissed_version | uint32 | How many times the content has been dismissed |
last_dismissed_at_ms | uint64 | Unix timestamp (in milliseconds) of when the content was last dismissed |
Voice And Video Settings Structure
Field | Type | Description |
---|---|---|
blur | video filter background blur object | Video call background blur settings |
preset_option | uint32 | The selected video call background preset |
custom_asset | video filter asset object | Custom video call background asset |
always_preview_video? | BoolValue | Whether to always preview video before enabling it (default false) |
afk_timeout? | UInt32Value | Duration (in seconds) the user needs to be inactive until clients update their AFK state (default 600) |
stream_notifications_enabled? | BoolValue | Whether to receive stream notifications for friends (default true) |
native_phone_integration_enabled? | BoolValue | Whether to enable the new Discord mobile phone number friend requesting feature (default true) |
soundboard_settings? | soundboard settings object | Settings for the soundboard feature |
disable_stream_previews? | BoolValue | Whether clients should disable sending stream previews (default false) |
soundmoji_volume? | FloatValue | Volume level for soundmoji playback (0-100, default 100) |
Video Filter Background Blur Structure
Field | Type | Description |
---|---|---|
use_blur | bool | Whether to apply background blur in video calls |
Video Filter Asset Structure
Field | Type | Description |
---|---|---|
id | fixed64 | The ID of the video filter asset |
asset_hash | string | The hash of the video filter asset |
Soundboard Settings Structure
Field | Type | Description |
---|---|---|
volume | float | Volume level for soundboard playback (0-100) |
Video Filter Background Preset
Value | Description |
---|---|
0 | Unset |
1 | Cybercity |
2 | Discord the Movie |
3 | Wumpus Vacation |
4 | Vaporwave |
7 | Capernite Day |
8 | Capernite Night |
9 | Hacker Den |
10 | Wumpice |
Text And Images Settings Structure
Field | Type | Description |
---|---|---|
diversity_surrogate? | StringValue | Unicode surrogate for diversity emoji |
use_rich_chat_input? (deprecated) | BoolValue | Inverse of use_legacy_chat_input |
use_thread_sidebar? | BoolValue | Whether to display threads in the sidebar (default true) |
render_spoilers? | StringValue | How spoilers should be rendered |
emoji_picker_collapsed_sections | array[string] | Sections of the emoji picker that are collapsed |
sticker_picker_collapsed_sections | array[string] | Sections of the sticker picker that are collapsed |
view_image_descriptions? | BoolValue | Whether to show image alt text (default false) |
show_command_suggestions? | BoolValue | Whether to show command suggestions in chat (default true) |
inline_attachment_media? | BoolValue | Whether to display attachments when they are uploaded in chat (default true) |
inline_embed_media? | BoolValue | Whether to display videos and images from links posted in chat (default true) |
gif_auto_play? | BoolValue | Whether GIFs are automatically played when the Discord client is in focus (default true) |
render_embeds? | BoolValue | Whether to render message embeds (default true) |
render_reactions? | BoolValue | Whether to render message reactions (default true) |
animate_emoji? | BoolValue | Whether to play animated emojis in chat (default true) |
animate_stickers? | UInt32Value | When to animate stickers in chat |
enable_tts_command? | BoolValue | Whether to allow TTS messages to be sent and played (default true) |
message_display_compact? | BoolValue | Whether to use the compact Discord display mode |
explicit_content_filter? | UInt32Value | The explicit content filter for explicit content in all messages (default NON_FRIENDS ) |
view_nsfw_guilds? | BoolValue | Whether NSFW guilds are shown on iOS (default false) |
convert_emoticons? | BoolValue | Whether to convert emoticons into emojis (e.g. :) -> 🙂 ) (default true) |
expression_suggestions_enabled? | BoolValue | Whether to show expression suggestions in chat (default true) |
view_nsfw_commands? | BoolValue | Whether NSFW application commands are shown in DMs (default false) |
use_legacy_chat_input? | BoolValue | Whether to use the legacy chat input UI (default false) |
soundboard_picker_collapsed_sections | array[string] | Sections of the soundboard picker that are collapsed |
dm_spam_filter? (deprecated) | UInt32Value | DM spam filter setting |
dm_spam_filter_v2 | DM spam filter v2 enum | DM spam filter setting |
include_stickers_in_autocomplete? | BoolValue | Whether to autocomplete stickers in chat (default false) |
explicit_content_settings? | explicit content settings object | Explicit content settings |
keyword_filter_settings? | keyword filter settings object | Client-side keyword filter settings |
include_soundmoji_in_autocomplete? | BoolValue | Whether to autocomplete soundmoji in chat (default true) |
Spoiler Render Options
Value | Description |
---|---|
ALWAYS | Always render spoilers |
ON_CLICK | Render spoilers on click (default) |
IF_MODERATOR | Always render spoilers in guilds the user moderates |
Emoji Picker Section
This may also be a snowflake to represent a specific guild in the emoji picker.
Value | Description |
---|---|
FAVORITES | Favorite emoji |
TOP_GUILD_EMOJI | Top guild emoji |
RECENT | Recently used emoji |
people | People emoji |
nature | Nature emoji |
food | Food emoji |
activity | Activity emoji |
travel | Travel emoji |
objects | Object emoji |
symbols | Symbol emoji |
flags | Flag emoji |
Sticker Picker Section
This may also be a snowflake to represent a specific guild in the sticker picker.
Value | Description |
---|---|
FAVORITE | Favorite stickers |
RECENT | Recently used stickers |
Soundboard Picker Section
This may also be a snowflake to represent a specific guild in the soundboard sound picker.
Value | Description |
---|---|
0 | Favorite sounds |
4 | Default Discord sounds |
DM Spam Filter
Value | Name | Description |
---|---|---|
0 | DISABLED | DM spam filter is disabled |
1 | NON_FRIENDS | Apply spam filter to non-friends |
2 | FRIENDS_AND_NON_FRIENDS | Apply spam filter to both friends and non-friends |
DM Spam Filter V2
Value | Name | Description |
---|---|---|
0 | UNSET | Default unset value (equates to NON_FRIENDS ) |
1 | DISABLED | DM spam filter is disabled |
2 | NON_FRIENDS | Apply spam filter to non-friends |
3 | FRIENDS_AND_NON_FRIENDS | Apply spam filter to both friends and non-friends |
Explicit Content Settings Structure
Field | Type | Description |
---|---|---|
explicit_content_guilds | explicit content redaction enum | Redaction setting for explicit content in guilds |
explicit_content_friend_dm | explicit content redaction enum | Redaction setting for explicit content in friend DMs |
explicit_content_non_friend_dm | explicit content redaction enum | Redaction setting for explicit content in other DMs |
Explicit Content Redaction
Value | Name | Description |
---|---|---|
0 | UNSET | Default unset value (equates to BLOCK for explicit_content_non_friend_dm , else SHOW ) |
1 | SHOW | Disable explicit content filtering |
2 | BLUR | Blur explicit content |
3 | BLOCK | Block explicit content entirely |
Keyword Filter Settings Structure
Field | Type | Description |
---|---|---|
profanity? | BoolValue | Whether to filter profanity (default false) |
sexual_content? | BoolValue | Whether to filter sexual content (default false) |
slurs? | BoolValue | Whether to filter slurs (default false) |
Notification Settings Structure
Field | Type | Description |
---|---|---|
show_in_app_notifications? | BoolValue | Whether to show in-app notifications (default true) |
notify_friends_on_go_live? | BoolValue | Whether to notify friends when streaming in eligible guilds (default false) |
notification_center_acked_before_id | fixed64 | The ID of the last acknowledged notification center item |
quiet_mode? | BoolValue | Whether quiet mode is enabled (default false) |
focus_mode_expires_at_ms | fixed64 | Unix timestamp (in milliseconds) of when focus mode expires |
reaction_notifications | reaction notification type enum | Reaction notification settings |
Reaction Notification Type
Value | Name | Description |
---|---|---|
0 | NOTIFICATIONS_ENABLED | Enable reaction notifications |
1 | ONLY_DMS | Only enable reaction notifications in DMs |
2 | NOTIFICATIONS_DISABLED | Disable reaction notifications |
Privacy Settings Structure
Field | Type | Description |
---|---|---|
allow_activity_party_privacy_friends? | BoolValue | Whether to allow friends to join your activity without sending a request (default true) |
allow_activity_party_privacy_voice_channel? 1 | BoolValue | Whether to allow people in the same voice channel as you to join your activity without sending a request (default true) |
restricted_guild_ids | array[fixed64] | The IDs of guilds that you will not receive DMs from |
default_guilds_restricted | bool | Whether to automatically disable DMs between you and members of new guilds you join (default false) |
allow_accessibility_detection | bool | Whether to allow Discord to track screen reader usage (default false) |
detect_platform_accounts? | BoolValue | Whether to automatically detect accounts from services like Steam and Blizzard when opening the Discord client (default true) |
passwordless? (deprecated) | BoolValue | Whether to enable passwordless login (default true) |
contact_sync_enabled? | BoolValue | Whether to enable contact sync on Discord mobile (default false) |
friend_source_flags? | UInt32Value | The user's friend source flags (default all) |
friend_discovery_flags? | UInt32Value | The user's friend discovery flags (default none) |
activity_restricted_guild_ids | array[fixed64] | The IDs of guilds your activity presence will be hidden in |
default_guilds_activity_restricted? | guild activity status restriction default enum | Default activity presence restriction setting for new guilds (default false) |
activity_joining_restricted_guild_ids | array[fixed64] | The IDs of guilds that will not be able to join your current activity |
message_request_restricted_guild_ids | array[fixed64] | The IDs of guilds whose originating DMs will not be filtered into message requests |
default_message_request_restricted? | BoolValue | Whether to automatically disable message requests in new guilds (default false) |
drops_opted_out? (deprecated) | BoolValue | Whether to opt out of drops (default false) |
non_spam_retraining_opt_in? | BoolValue | Whether to help improve Discord spam models when marking messages as non-spam |
family_center_enabled? | BoolValue | Whether family center is enabled (default false) |
family_center_enabled_v2? | BoolValue | Whether family center is enabled (default false) |
hide_legacy_username? | BoolValue | Whether to hide the user's pre-pomelo username |
inappropriate_conversation_warnings? | BoolValue | Whether to warn about inappropriate conversations in DMs (default true) |
recent_games_enabled? | BoolValue | Whether to show recent games on your profile (default true) |
guilds_leaderboard_opt_out_default | guilds leaderboard opt out default enum | Whether to opt out of leaderboards for new guilds by default |
allow_game_friend_dms_in_discord? | BoolValue | Whether to allow game friend DMs in Discord (default true) |
default_guilds_restricted_v2? | BoolValue | Whether new guilds are restricted by default (default false) |
slayer_sdk_receive_dms_in_game | slayer SDK receive in game DMs enum | Setting for receiving in-game DMs via the social layer SDK |
1 Does not apply to community guilds.
Friend Source Flags
Value | Name | Description |
---|---|---|
1 << 1 | MUTUAL_FRIENDS | Whether mutual friends can add the user as friend |
1 << 2 | MUTUAL_GUILDS | Whether members in the user's guilds can add the user as friend |
1 << 3 | NO_RELATION 3 | Whether users with no relation can add the user as friend |
3 Requires MUTUAL_FRIENDS
and MUTUAL_GUILDS
.
Guild Activity Status Restriction Default
Value | Name | Description |
---|---|---|
0 | OFF | Do not restrict activity presence for new guilds |
1 | ON_FOR_LARGE_GUILDS | Restrict activity presence for large new guilds by default |
2 | ON | Restrict activity presence for all new guilds by default |
Guilds Leaderboard Opt Out Default
Value | Name | Description |
---|---|---|
0 | OFF_FOR_NEW_GUILDS | Do not opt out of leaderboards for new guilds by default |
1 | ON_FOR_NEW_GUILDS | Opt out of leaderboards for new guilds by default |
Slayer SDK Receive In Game DMs
Value | Name | Description |
---|---|---|
0 | UNSET | Default unset value (equates to ALL ) |
1 | ALL | Receive all in-game DMs |
2 | USERS_WITH_GAME | Receive DMs only from users with the same game |
3 | NONE | Do not receive any in-game DMs |
Debug Settings Structure
Field | Type | Description |
---|---|---|
rtc_panel_show_voice_states? | BoolValue | Whether to show voice states in the RTC panel (default false) |
Game Library Settings Structure
Field | Type | Description |
---|---|---|
install_shortcut_desktop? | BoolValue | Whether to install desktop shortcuts for games (default false) |
install_shortcut_start_menu? | BoolValue | Whether to install start menu shortcuts for games (default true) |
disable_games_tab? | BoolValue | Whether to disable the games tab (default false) |
Status Settings Structure
Field | Type | Description |
---|---|---|
status? | StringValue | The overall status of the user, used to sync presence across clients (default unknown ) |
custom_status? | Custom Status | The overall custom status of the user, used to sync presence across clients |
show_current_game? | BoolValue | Whether to display the currently active game in user presence (default true) |
status_expires_at_ms | fixed64 | Unix timestamp (in milliseconds) of when the status expires |
Custom Status Structure
Field | Type | Description |
---|---|---|
text | string | The custom status text |
emoji_id | fixed64 | The ID of a guild's custom emoji |
emoji_name | string | The unicode character of the emoji |
expires_at_ms | fixed64 | Timestamp (in milliseconds) of when the custom status expires |
created_at_ms | fixed64 | Timestamp (in milliseconds) of when the custom status was created |
Localization Settings Structure
Field | Type | Description |
---|---|---|
locale? | StringValue | The language option chosen by the user (default en-US ) |
timezone_offset? | Int32Value | The timezone offset from UTC to use (in minutes) |
Appearance Settings Structure
Field | Type | Description |
---|---|---|
theme | theme enum | The user's client theme |
developer_mode | bool | Whether to enable developer mode in-client (default false) |
client_theme_settings? | client theme settings object | Custom theme settings |
mobile_redesign_disabled | bool | Whether the mobile redesign is disabled (default false) |
channel_list_layout? | StringValue | Channel list layout setting |
message_previews? | StringValue | Message preview setting |
search_result_exact_count_enabled? | BoolValue | Whether to show exact counts in tabs search results (default true) |
timestamp_hour_cycle | timestamp hour cycle enum | Timestamp clock cycle format setting |
happening_now_cards_disabled? | BoolValue | Whether Happening Now cards are disabled (default false) |
launch_pad_mode | launch pad mode enum | Mobile Launch Pad behavior |
ui_density | UI density enum | UI density setting |
swipe_right_to_left_mode | swipe right to left mode enum | Mobile swipe right-to-left behavior |
Theme
Value | Name | Description |
---|---|---|
0 | UNSET | Default unset value (equates to DARK ) |
1 | DARK | Dark theme |
2 | LIGHT | Light theme |
3 | DARKER | Darker theme |
4 | MIDNIGHT | Midnight theme |
Client Theme Settings Structure
Field | Type | Description |
---|---|---|
primary_color? (deprecated) | UInt32Value | The primary color of the client theme |
background_gradient_preset_id? | UInt32Value | The ID of the background gradient preset |
background_gradient_angle? (deprecated) | FloatValue | The angle of the background gradient |
Timestamp Hour Cycle
Value | Name | Description |
---|---|---|
0 | AUTO | Automatically determine hour cycle based on locale |
1 | H12 | Use 12-hour clock |
2 | H23 | Use 24-hour clock |
Launch Pad Mode
Value | Name | Description |
---|---|---|
0 | DISABLED | Disable mobile launch pad |
1 | GESTURE_FULL_SCREEN | Enable full-screen gesture launch pad |
2 | GESTURE_RIGHT_EDGE | Enable right-edge gesture launch pad |
3 | PULL_TAB | Enable pull-tab launch pad |
UI Density
Value | Name | Description |
---|---|---|
0 | UNSET | Default unset value |
1 | COMPACT | Compact UI density |
2 | COZY | Cozy UI density |
3 | RESPONSIVE | Responsive UI density |
Swipe Right To Left Mode
Value | Name | Description |
---|---|---|
0 | UNSET | Default unset value (default REPLY ) |
1 | CHANNEL_DETAILS | Swipe to open channel details |
2 | REPLY | Swipe to reply to messages |
Guild Folders Structure
Field | Type | Description |
---|---|---|
folders 1 | array[guild folder object] | Guild folders |
guild_positions (deprecated) | array[fixed64] | Positions of guilds in the sidebar |
1 This will include guilds that are not in a folder as an anonymous folder with a single entry.
Guild Folder Structure
Field | Type | Description |
---|---|---|
guild_ids | array[fixed64] | The IDs of the guilds in the folder |
id? | Int64Value | The ID of the folder |
name? | StringValue | The name of the folder |
color? | UInt64Value | Hex color of the folder |
Favorites Structure
Field | Type | Description |
---|---|---|
favorite_channels | map[fixed64, favorite channel object] | Map of favorite channels |
muted | bool | Whether favorites are muted |
Favorite Channel Structure
Field | Type | Description |
---|---|---|
nickname | string | Nickname of the favorite channel |
type | favorite channel type | Type of the favorite channel |
position | uint32 | Position of the favorite channel |
parent_id | fixed64 | Parent ID of the favorite channel |
Favorite Channel Type
Value | Description |
---|---|
UNSET | Default unset value |
REFERENCE_ORIGINAL | References a real channel |
CATEGORY | Contains favorite channels |
Audio Settings Structure
Field | Type | Description |
---|---|---|
user | map[fixed64, audio context setting object] | Audio context settings for users |
stream | map[fixed64, audio context setting object] | Audio context settings for user streams |
Audio Context Setting Structure
Field | Type | Description |
---|---|---|
muted | bool | Whether the audio is muted |
volume | float | Volume level of the user or stream |
modified_at | fixed64 | Unix timestamp (in milliseconds) of when the setting was last modified |
soundboard_muted | bool | Whether the soundboard is muted (user only) |
Communities Settings Structure
Field | Type | Description |
---|---|---|
disable_home_auto_nav? (deprecated) | BoolValue | Whether to disable automatic navigation to Home (default false) |
Broadcast Settings Structure
Field | Type | Description |
---|---|---|
allow_friends? | BoolValue | Whether friends are allowed to broadcast to you |
allowed_guild_ids | array[fixed64] | The IDs of guilds where broadcasting is allowed |
allowed_user_ids | array[fixed64] | The IDs of users who are allowed to broadcast |
auto_broadcast? | BoolValue | Whether to automatically start broadcasting upon streaming |
Clips Settings Structure
Field | Type | Description |
---|---|---|
allow_voice_recording? | BoolValue | Whether to allow your voice to be recorded in Clips (default true) |
For Later Settings Structure
Field | Type | Description |
---|---|---|
current_tab | for later tab enum | For later tab setting |
For Later Tab
Value | Name | Description |
---|---|---|
0 | UNSPECIFIED | Default unset value (equates to ALL ) |
1 | ALL | Show all items in the For Later section |
2 | BOOKMARKS | Show only bookmarks in the For Later section |
3 | REMINDERS | Show only reminders in the For Later section |
Safety Settings Structure
Field | Type | Description |
---|---|---|
safety_settings_preset | safety settings preset type | Preset type for safety settings |
ignore_profile_speedbump_disabled | bool | Whether to hide the warning shown when viewing a profile you have blocked (default false) |
Safety Settings Preset Type
Value | Name | Description |
---|---|---|
0 | UNSET | Default unset value |
1 | BALANCED | Balanced safety settings |
2 | STRICT | Strict safety settings |
3 | RELAXED | Relaxed safety settings |
4 | CUSTOM | Custom safety settings |
ICYMI Settings Structure
Field | Type | Description |
---|---|---|
feed_generated_at | fixed64 | Unix timestamp (in milliseconds) of feed generation |
All Application Settings Structure
Field | Type | Description |
---|---|---|
app_settings | map[fixed64, application settings object] | Application-specific settings |
Application Settings Structure
Field | Type | Description |
---|---|---|
app_dm_settings? | application DM settings | DM settings for the application |
Application DM Settings Structure
Field | Type | Description |
---|---|---|
dm_disabled | bool | Whether DMs are disabled for the application (default false) |
Frecency User Settings Object
Serialized as discord_protos.discord_users.v1.FrecencyUserSettings
.
Frecency User Settings Structure
Field | Type | Description |
---|---|---|
versions | versions object | Version information for the protocol and data |
favorite_gifs | favorite gifs object | Favorite GIFs storage |
favorite_stickers | favorite stickers object | Favorite stickers storage |
sticker_frecency | sticker frecency object | Sticker frecency storage |
favorite_emojis | favorite emojis object | Favorite emojis settings |
emoji_frecency | emoji frecency object | Emoji frecency storage |
application_command_frecency | application command frecency object | Application command frecency storage |
favorite_soundboard_sounds | favorite soundboard sounds object | Favorite soundboard sounds storage |
application_frecency | application frecency object | Application frecency storage |
heard_sound_frecency | heard sound frecency object | Heard soundboard sound frecency storage |
played_sound_frecency | played sound frecency object | Played soundboard sound frecency storage |
guild_and_channel_frecency | guild and channel frecency object | Guild and channel frecency storage |
emoji_reaction_frecency | emoji reaction frecency object | Emoji reaction frecency storage |
Frecency Item Structure
Field | Type | Description |
---|---|---|
total_uses | uint32 | Total uses of the item |
recent_uses | array[uint64] | Unix timestamps (in milliseconds) representing recent uses of the item |
frecency | int32 | Frecency score of the item, or -1 if not applicable |
score | int32 | Weighted score of the item |
Favorite GIFs Structure
Field | Type | Description |
---|---|---|
gifs | map[string, favorite GIF object] | Map of GIF URLs to favorite GIFs |
hide_tooltip | bool | Whether to hide the tooltip for favorite GIFs |
Favorite GIF Structure
Field | Type | Description |
---|---|---|
format | GIF type enum | The type of the GIF (IMAGE or VIDEO ) |
src | string | The media URL of the GIF |
width | uint32 | The width of the GIF |
height | uint32 | The height of the GIF |
order | uint32 | Order of the GIF in the list |
GIF Type
Value | Name | Description |
---|---|---|
0 | NONE | Default unset |
1 | IMAGE | Image GIF |
2 | VIDEO | Video GIF |
Favorite Stickers Structure
Field | Type | Description |
---|---|---|
sticker_ids | array[fixed64] | The IDs of the user's favorite stickers |
Sticker Frecency Structure
Field | Type | Description |
---|---|---|
stickers | map[fixed64, frecency item object] | Map of sticker frecency items |
Favorite Emojis Structure
Field | Type | Description |
---|---|---|
emojis | array[string] | The user's favorite emoji, represented as snowflake IDs or friendly names (e.g. skull_crossbones ) |
Emoji Frecency Structure
Field | Type | Description |
---|---|---|
emojis | map[string, frecency item object] | Frecenct used emoji, represented as snowflake IDs or friendly names (e.g. skull_crossbones ) |
Application Command Frecency Structure
Field | Type | Description |
---|---|---|
application_commands | map[string, frecency item object] | Frecent application commands, represented as snowflake command IDs with optional null-joined command names and colon-joined guild IDs (e.g. 1221148400637050941\u0000set:550327071407079444 ) |
Favorite Soundboard Sounds Structure
Field | Type | Description |
---|---|---|
sound_ids | array[fixed64] | The IDs of the user's favorite soundboard sounds |
Application Frecency Structure
Field | Type | Description |
---|---|---|
applications | map[string, frecency item object] | Frecent applications, represented as snowflake IDs |
Heard Sound Frecency Structure
Field | Type | Description |
---|---|---|
heard_sounds | map[string, frecency item object] | Frecent heard soundboard sounds, represented as snowflake IDs |
Played Sound Frecency Structure
Field | Type | Description |
---|---|---|
played_sounds | map[string, frecency item object] | Frecent played soundboard sounds, represented as snowflake IDs |
Guild and Channel Frecency Structure
Field | Type | Description |
---|---|---|
guild_and_channels | map[fixed64, frecency item object] | Frecent guild channels |
Emoji Reaction Frecency Structure
Field | Type | Description |
---|---|---|
emojis | map[string, frecency item object] | Frecent used reactions, represented as snowflake IDs or friendly names (e.g. skull_crossbones ) |
Endpoints
Get User Settings Proto
GET
/users/@me/settings-proto/{type}
Returns the requester's user settings protobuf for the specified type.
Response Body
Field | Type | Description |
---|---|---|
settings | string | The base 64-encoded serialized user settings protobuf |
Modify User Settings Proto
PATCH
/users/@me/settings-proto/{type}
Modifies the requester's user settings protobuf for the specified type. Fires a User Settings Proto Update and User Settings Update Gateway event.
JSON Params
Field | Type | Description |
---|---|---|
settings | string | The base-64 encoded serialized user settings protobuf modifications |
required_data_version? 1 | integer | The required data version of the proto |
1 When making offline edits, the required data version of the proto should be set to the last known version. This ensures that the client doesn't overwrite newer edits made on a different client on edit.
Response Body
Field | Type | Description |
---|---|---|
settings | string | The base-64 encoded serialized user settings protobuf |
out_of_date? | boolean | Whether the user settings update was discarded due to an outdated required_data_version |