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?!

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

ValueNameDescriptionObject
1PRELOADEDGeneral Discord user settings, sent in the Ready eventPreloaded User Settings
2FRECENCYFrecency and favorites storage, used for low-priority, lazy-loaded settingsFrecency User Settings
3TEST_SETTINGSUnknownUnknown
Versions Structure
FieldTypeDescription
client_versionuint32The client migration version
server_version 1uint32The server migration version (currently 0)
data_version 1uint32The 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
FieldTypeDescription
versionsversions objectVersion information for the protocol and data
inboxinbox settings objectSettings related to the user's inbox view
guildsall guild settings objectSettings specific to guilds and channels
user_contentuser content settings objectDismissal states for various types of upsells and promotions
voice_and_videovoice and video settings objectVoice and video call configuration
text_and_imagestext and images settings objectChat and image rendering settings
notificationsnotification settings objectNotification-related preferences
privacyprivacy settings objectUser privacy preferences
debugdebug settings objectClient debug settings
game_librarygame library settings objectGame library settings
statusstatus settings objectUser presence customization settings
localizationlocalization settings objectClient localization preferences
appearanceappearance settings objectClient appearance settings
guild_foldersguild folders objectOrganization settings for guilds
favoritesfavorites objectThe serialized client favorites pseudo-guild
audio_context_settingsaudio settings objectRTC audio context settings
communitiescommunities settings objectCommunity guild settings
broadcastbroadcast settings objectBroadcast settings
clipsclips settings objectClips settings
for_laterfor later settings objectFor Later section settings for bookmarks and reminders
safety_settingssafety settings objectUser safety settings
icymi_settingsICYMI settings objectICYMI (In Case You Missed It) feed settings
applicationsall application settings objectApplication-specific settings
Inbox Settings Structure
FieldTypeDescription
current_tabinbox tab enumThe currently selected tab in the inbox
viewed_tutorialboolWhether the user has viewed the inbox tutorial
Inbox Tab
ValueNameDescription
0UNSPECIFIEDDefault unset value
1MENTIONSMentions tab
2UNREADSUnreads tab
3TODOSMessage reminders tab
4FOR_YOUNotification items tab
5GAME_INVITESGame invites tab
6BOOKMARKSBookmarks tab
7SCHEDULEDScheduled messages tab
All Guild Settings Structure
FieldTypeDescription
guildsmap[fixed64, guild settings object]Per-guild personalization settings
leaderboards_disabledboolWhether guild leaderboards are disabled
Guild Settings Structure
FieldTypeDescription
channelsmap[fixed64, channel settings object]Settings specific to channels within the guild
hub_progressuint32Hub progress flags
guild_onboarding_progressuint32Guild onboarding progress flags
guild_recents_dismissed_at?timestampWhen the guild recents were last dismissed
dismissed_guild_contentbytesPer-guild dismissable content, encoded as a byte array of integer enum values
join_sound?custom call sound objectCustom sound played when joining a call in this channel
mobile_redesign_channel_list_settings?channel list settings objectChannel list settings
disable_raid_alert_pushboolWhether to disable raid alert push notifications
disable_raid_alert_nagboolWhether to disable raid alert in-client nag screens
custom_notification_sound_config?custom notification sound config objectCustom notification sound configuration
leaderboards_disabledboolWhether guild leaderboards are disabled
Channel Settings Structure
FieldTypeDescription
collapsed_in_inboxboolWhether the channel is collapsed in the inbox
icon_emoji?channel icon emojiThe custom emoji icon for the channel
custom_notification_sound_config?custom notification sound configCustom notification sound configuration for the channel
Channel Icon Emoji Structure
FieldTypeDescription
id?UInt64ValueThe ID of the emoji
name?StringValueThe name of the emoji
color?UInt64ValueThe color of the icon
Custom Notification Sound Config Structure
FieldTypeDescription
notification_sound_pack_id?StringValueThe ID of the notification sound pack used
Hub Progress Flags
ValueNameDescription
1 << 0JOIN_GUILDUser has joined a guild in the hub
1 << 1INVITE_USERUser has sent an invite for the hub
1 << 2CONTACT_SYNCUser has accepted the contact sync modal
Guild Onboarding Progress Flags
ValueNameDescription
1 << 0NOTICE_SHOWNUser has been shown the onboarding notice
1 << 1NOTICE_CLEAREDUser has cleared the onboarding notice
Custom Call Sound Structure
FieldTypeDescription
sound_idfixed64The ID of the custom call soundboard sound
guild_idfixed64The ID of the guild the sound is in
Notification Sound Pack
ValueDescription
classicDefault Discord sounds
retroRetro
bopBubble
duckyDucky
lofiLofi
asmrASMR
discodoDiscodo easter egg
halloweenHalloween
winter_holidayWinter holiday
Channel List Settings Structure
FieldTypeDescription
layout?StringValueChannel list layout setting
message_previews?StringValueMessage preview setting
User Content Settings Structure
FieldTypeDescription
dismissed_contentsbytesUser dismissed content, encoded as a byte array of integer enum values
last_dismissed_outbound_promotion_start_date?StringValueWhen the last dismissed outbound promotion started
premium_tier_0_modal_dismissed_at?TimestampWhen the Nitro Basic promotion modal was dismissed
guild_onboarding_upsell_dismissed_at?TimestampWhen the guild onboarding upsell was dismissed
safety_user_sentiment_notice_dismissed_at?TimestampWhen the safety user sentiment notice was dismissed
last_received_changelog_idfixed64The ID of the last received changelog
recurring_dismissible_content_statesmap[int32, recurring dismissible content state object]States of recurring dismissible content entries
Recurring Dismissible Content State Structure
FieldTypeDescription
last_dismissed_versionuint32How many times the content has been dismissed
last_dismissed_at_msuint64Unix timestamp (in milliseconds) of when the content was last dismissed
Voice And Video Settings Structure
FieldTypeDescription
blurvideo filter background blur objectVideo call background blur settings
preset_optionuint32The selected video call background preset
custom_assetvideo filter asset objectCustom video call background asset
always_preview_video?BoolValueWhether to always preview video before enabling it (default false)
afk_timeout?UInt32ValueDuration (in seconds) the user needs to be inactive until clients update their AFK state (default 600)
stream_notifications_enabled?BoolValueWhether to receive stream notifications for friends (default true)
native_phone_integration_enabled?BoolValueWhether to enable the new Discord mobile phone number friend requesting feature (default true)
soundboard_settings?soundboard settings objectSettings for the soundboard feature
disable_stream_previews?BoolValueWhether clients should disable sending stream previews (default false)
soundmoji_volume?FloatValueVolume level for soundmoji playback (0-100, default 100)
Video Filter Background Blur Structure
FieldTypeDescription
use_blurboolWhether to apply background blur in video calls
Video Filter Asset Structure
FieldTypeDescription
idfixed64The ID of the video filter asset
asset_hashstringThe hash of the video filter asset
Soundboard Settings Structure
FieldTypeDescription
volumefloatVolume level for soundboard playback (0-100)
Video Filter Background Preset
ValueDescription
0Unset
1Cybercity
2Discord the Movie
3Wumpus Vacation
4Vaporwave
7Capernite Day
8Capernite Night
9Hacker Den
10Wumpice
Text And Images Settings Structure
FieldTypeDescription
diversity_surrogate?StringValueUnicode surrogate for diversity emoji
use_rich_chat_input? (deprecated)BoolValueInverse of use_legacy_chat_input
use_thread_sidebar?BoolValueWhether to display threads in the sidebar (default true)
render_spoilers?StringValueHow spoilers should be rendered
emoji_picker_collapsed_sectionsarray[string]Sections of the emoji picker that are collapsed
sticker_picker_collapsed_sectionsarray[string]Sections of the sticker picker that are collapsed
view_image_descriptions?BoolValueWhether to show image alt text (default false)
show_command_suggestions?BoolValueWhether to show command suggestions in chat (default true)
inline_attachment_media?BoolValueWhether to display attachments when they are uploaded in chat (default true)
inline_embed_media?BoolValueWhether to display videos and images from links posted in chat (default true)
gif_auto_play?BoolValueWhether GIFs are automatically played when the Discord client is in focus (default true)
render_embeds?BoolValueWhether to render message embeds (default true)
render_reactions?BoolValueWhether to render message reactions (default true)
animate_emoji?BoolValueWhether to play animated emojis in chat (default true)
animate_stickers?UInt32ValueWhen to animate stickers in chat
enable_tts_command?BoolValueWhether to allow TTS messages to be sent and played (default true)
message_display_compact?BoolValueWhether to use the compact Discord display mode
explicit_content_filter?UInt32ValueThe explicit content filter for explicit content in all messages (default NON_FRIENDS)
view_nsfw_guilds?BoolValueWhether NSFW guilds are shown on iOS (default false)
convert_emoticons?BoolValueWhether to convert emoticons into emojis (e.g. :) -> 🙂) (default true)
expression_suggestions_enabled?BoolValueWhether to show expression suggestions in chat (default true)
view_nsfw_commands?BoolValueWhether NSFW application commands are shown in DMs (default false)
use_legacy_chat_input?BoolValueWhether to use the legacy chat input UI (default false)
soundboard_picker_collapsed_sectionsarray[string]Sections of the soundboard picker that are collapsed
dm_spam_filter? (deprecated)UInt32ValueDM spam filter setting
dm_spam_filter_v2DM spam filter v2 enumDM spam filter setting
include_stickers_in_autocomplete?BoolValueWhether to autocomplete stickers in chat (default false)
explicit_content_settings?explicit content settings objectExplicit content settings
keyword_filter_settings?keyword filter settings objectClient-side keyword filter settings
include_soundmoji_in_autocomplete?BoolValueWhether to autocomplete soundmoji in chat (default true)
Spoiler Render Options
ValueDescription
ALWAYSAlways render spoilers
ON_CLICKRender spoilers on click (default)
IF_MODERATORAlways 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.

ValueDescription
FAVORITESFavorite emoji
TOP_GUILD_EMOJITop guild emoji
RECENTRecently used emoji
peoplePeople emoji
natureNature emoji
foodFood emoji
activityActivity emoji
travelTravel emoji
objectsObject emoji
symbolsSymbol emoji
flagsFlag emoji
Sticker Picker Section

This may also be a snowflake to represent a specific guild in the sticker picker.

ValueDescription
FAVORITEFavorite stickers
RECENTRecently used stickers
Soundboard Picker Section

This may also be a snowflake to represent a specific guild in the soundboard sound picker.

ValueDescription
0Favorite sounds
4Default Discord sounds
DM Spam Filter
ValueNameDescription
0DISABLEDDM spam filter is disabled
1NON_FRIENDSApply spam filter to non-friends
2FRIENDS_AND_NON_FRIENDSApply spam filter to both friends and non-friends
DM Spam Filter V2
ValueNameDescription
0UNSETDefault unset value (equates to NON_FRIENDS)
1DISABLEDDM spam filter is disabled
2NON_FRIENDSApply spam filter to non-friends
3FRIENDS_AND_NON_FRIENDSApply spam filter to both friends and non-friends
Explicit Content Settings Structure
FieldTypeDescription
explicit_content_guildsexplicit content redaction enumRedaction setting for explicit content in guilds
explicit_content_friend_dmexplicit content redaction enumRedaction setting for explicit content in friend DMs
explicit_content_non_friend_dmexplicit content redaction enumRedaction setting for explicit content in other DMs
Explicit Content Redaction
ValueNameDescription
0UNSETDefault unset value (equates to BLOCK for explicit_content_non_friend_dm, else SHOW)
1SHOWDisable explicit content filtering
2BLURBlur explicit content
3BLOCKBlock explicit content entirely
Keyword Filter Settings Structure
FieldTypeDescription
profanity?BoolValueWhether to filter profanity (default false)
sexual_content?BoolValueWhether to filter sexual content (default false)
slurs?BoolValueWhether to filter slurs (default false)
Notification Settings Structure
FieldTypeDescription
show_in_app_notifications?BoolValueWhether to show in-app notifications (default true)
notify_friends_on_go_live?BoolValueWhether to notify friends when streaming in eligible guilds (default false)
notification_center_acked_before_idfixed64The ID of the last acknowledged notification center item
enable_burst_reaction_notifications?BoolValueWhether to enable burst reaction notifications
quiet_mode?BoolValueWhether quiet mode is enabled (default false)
focus_mode_expires_at_msfixed64Unix timestamp (in milliseconds) of when focus mode expires
reaction_notificationsreaction notification type enumReaction notification settings
Reaction Notification Type
ValueNameDescription
0NOTIFICATIONS_ENABLEDEnable reaction notifications
1ONLY_DMSOnly enable reaction notifications in DMs
2NOTIFICATIONS_DISABLEDDisable reaction notifications
Privacy Settings Structure
FieldTypeDescription
allow_activity_party_privacy_friends?BoolValueWhether to allow friends to join your activity without sending a request (default true)
allow_activity_party_privacy_voice_channel? 1BoolValueWhether to allow people in the same voice channel as you to join your activity without sending a request (default true)
restricted_guild_idsarray[fixed64]The IDs of guilds that you will not receive DMs from
default_guilds_restrictedboolWhether to automatically disable DMs between you and members of new guilds you join (default false)
allow_accessibility_detectionboolWhether to allow Discord to track screen reader usage (default false)
detect_platform_accounts?BoolValueWhether to automatically detect accounts from services like Steam and Blizzard when opening the Discord client (default true)
passwordless? (deprecated)BoolValueWhether to enable passwordless login (default true)
contact_sync_enabled?BoolValueWhether to enable contact sync on Discord mobile (default false)
friend_source_flags?UInt32ValueThe user's friend source flags (default all)
friend_discovery_flags?UInt32ValueThe user's friend discovery flags (default none)
activity_restricted_guild_idsarray[fixed64]The IDs of guilds your activity presence will be hidden in
default_guilds_activity_restricted?guild activity status restriction default enumDefault activity presence restriction setting for new guilds (default false)
activity_joining_restricted_guild_idsarray[fixed64]The IDs of guilds that will not be able to join your current activity
message_request_restricted_guild_idsarray[fixed64]The IDs of guilds whose originating DMs will not be filtered into message requests
default_message_request_restricted?BoolValueWhether to automatically disable message requests in new guilds (default false)
drops_opted_out? (deprecated)BoolValueWhether to opt out of drops (default false)
non_spam_retraining_opt_in?BoolValueWhether to help improve Discord spam models when marking messages as non-spam
family_center_enabled?BoolValueWhether family center is enabled (default false)
family_center_enabled_v2?BoolValueWhether family center is enabled (default false)
hide_legacy_username?BoolValueWhether to hide the user's pre-pomelo username
inappropriate_conversation_warnings?BoolValueWhether to warn about inappropriate conversations in DMs (default true)
recent_games_enabled?BoolValueWhether to show recent games on your profile (default true)
guilds_leaderboard_opt_out_defaultguilds leaderboard opt out default enumWhether to opt out of leaderboards for new guilds by default
allow_game_friend_dms_in_discord?BoolValueWhether to allow game friend DMs in Discord (default true)
default_guilds_restricted_v2?BoolValueWhether new guilds are restricted by default (default false)
slayer_sdk_receive_dms_in_gameslayer SDK receive in game DMs enumSetting for receiving in-game DMs via the social layer SDK

1 Does not apply to community guilds.

Friend Source Flags
ValueNameDescription
1 << 1MUTUAL_FRIENDSWhether mutual friends can add the user as friend
1 << 2MUTUAL_GUILDSWhether members in the user's guilds can add the user as friend
1 << 3NO_RELATION 3Whether users with no relation can add the user as friend

3 Requires MUTUAL_FRIENDS and MUTUAL_GUILDS.

Guild Activity Status Restriction Default
ValueNameDescription
0OFFDo not restrict activity presence for new guilds
1ON_FOR_LARGE_GUILDSRestrict activity presence for large new guilds by default
2ONRestrict activity presence for all new guilds by default
Guilds Leaderboard Opt Out Default
ValueNameDescription
0OFF_FOR_NEW_GUILDSDo not opt out of leaderboards for new guilds by default
1ON_FOR_NEW_GUILDSOpt out of leaderboards for new guilds by default
Slayer SDK Receive In Game DMs
ValueNameDescription
0UNSETDefault unset value (equates to ALL)
1ALLReceive all in-game DMs
2USERS_WITH_GAMEReceive DMs only from users with the same game
3NONEDo not receive any in-game DMs
Debug Settings Structure
FieldTypeDescription
rtc_panel_show_voice_states?BoolValueWhether to show voice states in the RTC panel (default false)
Game Library Settings Structure
FieldTypeDescription
install_shortcut_desktop?BoolValueWhether to install desktop shortcuts for games (default false)
install_shortcut_start_menu?BoolValueWhether to install start menu shortcuts for games (default true)
disable_games_tab?BoolValueWhether to disable the games tab (default false)
Status Settings Structure
FieldTypeDescription
status?StringValueThe overall status of the user, used to sync presence across clients (default unknown)
custom_status?Custom StatusThe overall custom status of the user, used to sync presence across clients
show_current_game?BoolValueWhether to display the currently active game in user presence (default true)
status_expires_at_msfixed64Unix timestamp (in milliseconds) of when the status expires
Custom Status Structure
FieldTypeDescription
textstringThe custom status text
emoji_idfixed64The ID of a guild's custom emoji
emoji_namestringThe unicode character of the emoji
expires_at_msfixed64Timestamp (in milliseconds) of when the custom status expires
created_at_msfixed64Timestamp (in milliseconds) of when the custom status was created
Localization Settings Structure
FieldTypeDescription
locale?StringValueThe language option chosen by the user (default en-US)
timezone_offset?Int32ValueThe timezone offset from UTC to use (in minutes)
Appearance Settings Structure
FieldTypeDescription
themetheme enumThe user's client theme
developer_modeboolWhether to enable developer mode in-client (default false)
client_theme_settings?client theme settings objectCustom theme settings
mobile_redesign_disabledboolWhether the mobile redesign is disabled (default false)
channel_list_layout?StringValueChannel list layout setting
message_previews?StringValueMessage preview setting
search_result_exact_count_enabled?BoolValueWhether to show exact counts in tabs search results (default true)
timestamp_hour_cycletimestamp hour cycle enumTimestamp clock cycle format setting
happening_now_cards_disabled?BoolValueWhether Happening Now cards are disabled (default false)
launch_pad_modelaunch pad mode enumMobile Launch Pad behavior
ui_densityUI density enumUI density setting
swipe_right_to_left_modeswipe right to left mode enumMobile swipe right-to-left behavior
Theme
ValueNameDescription
0UNSETDefault unset value (equates to DARK)
1DARKDark theme
2LIGHTLight theme
3DARKERDarker theme
4MIDNIGHTMidnight theme
Client Theme Settings Structure
FieldTypeDescription
primary_color? (deprecated)UInt32ValueThe primary color of the client theme
background_gradient_preset_id?UInt32ValueThe ID of the background gradient preset
background_gradient_angle? (deprecated)FloatValueThe angle of the background gradient
Timestamp Hour Cycle
ValueNameDescription
0AUTOAutomatically determine hour cycle based on locale
1H12Use 12-hour clock
2H23Use 24-hour clock
Launch Pad Mode
ValueNameDescription
0DISABLEDDisable mobile launch pad
1GESTURE_FULL_SCREENEnable full-screen gesture launch pad
2GESTURE_RIGHT_EDGEEnable right-edge gesture launch pad
3PULL_TABEnable pull-tab launch pad
UI Density
ValueNameDescription
0UNSETDefault unset value
1COMPACTCompact UI density
2COZYCozy UI density
3RESPONSIVEResponsive UI density
Swipe Right To Left Mode
ValueNameDescription
0UNSETDefault unset value (default REPLY)
1CHANNEL_DETAILSSwipe to open channel details
2REPLYSwipe to reply to messages
Guild Folders Structure
FieldTypeDescription
folders 1array[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
FieldTypeDescription
guild_idsarray[fixed64]The IDs of the guilds in the folder
id?Int64ValueThe ID of the folder
name?StringValueThe name of the folder
color?UInt64ValueHex color of the folder
Favorites Structure
FieldTypeDescription
favorite_channelsmap[fixed64, favorite channel object]Map of favorite channels
mutedboolWhether favorites are muted
Favorite Channel Structure
FieldTypeDescription
nicknamestringNickname of the favorite channel
typefavorite channel typeType of the favorite channel
positionuint32Position of the favorite channel
parent_idfixed64Parent ID of the favorite channel
Favorite Channel Type
ValueDescription
UNSETDefault unset value
REFERENCE_ORIGINALReferences a real channel
CATEGORYContains favorite channels
Audio Settings Structure
FieldTypeDescription
usermap[fixed64, audio context setting object]Audio context settings for users
streammap[fixed64, audio context setting object]Audio context settings for user streams
Audio Context Setting Structure
FieldTypeDescription
mutedboolWhether the audio is muted
volumefloatVolume level of the user or stream
modified_atfixed64Unix timestamp (in milliseconds) of when the setting was last modified
soundboard_mutedboolWhether the soundboard is muted (user only)
Communities Settings Structure
FieldTypeDescription
disable_home_auto_nav? (deprecated)BoolValueWhether to disable automatic navigation to Home (default false)
Broadcast Settings Structure
FieldTypeDescription
allow_friends?BoolValueWhether friends are allowed to broadcast to you
allowed_guild_idsarray[fixed64]The IDs of guilds where broadcasting is allowed
allowed_user_idsarray[fixed64]The IDs of users who are allowed to broadcast
auto_broadcast?BoolValueWhether to automatically start broadcasting upon streaming
Clips Settings Structure
FieldTypeDescription
allow_voice_recording?BoolValueWhether to allow your voice to be recorded in Clips (default true)
For Later Settings Structure
FieldTypeDescription
current_tabfor later tab enumFor later tab setting
For Later Tab
ValueNameDescription
0UNSPECIFIEDDefault unset value (equates to ALL)
1ALLShow all items in the For Later section
2BOOKMARKSShow only bookmarks in the For Later section
3REMINDERSShow only reminders in the For Later section
Safety Settings Structure
FieldTypeDescription
safety_settings_presetsafety settings preset typePreset type for safety settings
ignore_profile_speedbump_disabledboolWhether to hide the warning shown when viewing a profile you have blocked (default false)
Safety Settings Preset Type
ValueNameDescription
0UNSETDefault unset value
1BALANCEDBalanced safety settings
2STRICTStrict safety settings
3RELAXEDRelaxed safety settings
4CUSTOMCustom safety settings
ICYMI Settings Structure
FieldTypeDescription
feed_generated_atfixed64Unix timestamp (in milliseconds) of feed generation
All Application Settings Structure
FieldTypeDescription
app_settingsmap[fixed64, application settings object]Application-specific settings
Application Settings Structure
FieldTypeDescription
app_dm_settings?application DM settingsDM settings for the application
Application DM Settings Structure
FieldTypeDescription
dm_disabledboolWhether DMs are disabled for the application (default false)

Frecency User Settings Object

Serialized as discord_protos.discord_users.v1.FrecencyUserSettings.

Frecency User Settings Structure
FieldTypeDescription
versionsversions objectVersion information for the protocol and data
favorite_gifsfavorite gifs objectFavorite GIFs storage
favorite_stickersfavorite stickers objectFavorite stickers storage
sticker_frecencysticker frecency objectSticker frecency storage
favorite_emojisfavorite emojis objectFavorite emojis settings
emoji_frecencyemoji frecency objectEmoji frecency storage
application_command_frecencyapplication command frecency objectApplication command frecency storage
favorite_soundboard_soundsfavorite soundboard sounds objectFavorite soundboard sounds storage
application_frecencyapplication frecency objectApplication frecency storage
heard_sound_frecencyheard sound frecency objectHeard soundboard sound frecency storage
played_sound_frecencyplayed sound frecency objectPlayed soundboard sound frecency storage
guild_and_channel_frecencyguild and channel frecency objectGuild and channel frecency storage
emoji_reaction_frecencyemoji reaction frecency objectEmoji reaction frecency storage
Frecency Item Structure
FieldTypeDescription
total_usesuint32Total uses of the item
recent_usesarray[uint64]Unix timestamps (in milliseconds) representing recent uses of the item
frecencyint32Frecency score of the item, or -1 if not applicable
scoreint32Weighted score of the item
Favorite GIFs Structure
FieldTypeDescription
gifsmap[string, favorite GIF object]Map of GIF URLs to favorite GIFs
hide_tooltipboolWhether to hide the tooltip for favorite GIFs
Favorite GIF Structure
FieldTypeDescription
formatGIF type enumThe type of the GIF (IMAGE or VIDEO)
srcstringThe media URL of the GIF
widthuint32The width of the GIF
heightuint32The height of the GIF
orderuint32Order of the GIF in the list
GIF Type
ValueNameDescription
0NONEDefault unset
1IMAGEImage GIF
2VIDEOVideo GIF
Favorite Stickers Structure
FieldTypeDescription
sticker_idsarray[fixed64]The IDs of the user's favorite stickers
Sticker Frecency Structure
FieldTypeDescription
stickersmap[fixed64, frecency item object]Map of sticker frecency items
Favorite Emojis Structure
FieldTypeDescription
emojisarray[string]The user's favorite emoji, represented as snowflake IDs or friendly names (e.g. skull_crossbones)
Emoji Frecency Structure
FieldTypeDescription
emojismap[string, frecency item object]Frecenct used emoji, represented as snowflake IDs or friendly names (e.g. skull_crossbones)
Application Command Frecency Structure
FieldTypeDescription
application_commandsmap[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
FieldTypeDescription
sound_idsarray[fixed64]The IDs of the user's favorite soundboard sounds
Application Frecency Structure
FieldTypeDescription
applicationsmap[string, frecency item object]Frecent applications, represented as snowflake IDs
Heard Sound Frecency Structure
FieldTypeDescription
heard_soundsmap[string, frecency item object]Frecent heard soundboard sounds, represented as snowflake IDs
Played Sound Frecency Structure
FieldTypeDescription
played_soundsmap[string, frecency item object]Frecent played soundboard sounds, represented as snowflake IDs
Guild and Channel Frecency Structure
FieldTypeDescription
guild_and_channelsmap[fixed64, frecency item object]Frecent guild channels
Emoji Reaction Frecency Structure
FieldTypeDescription
emojismap[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
FieldTypeDescription
settingsstringThe 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
FieldTypeDescription
settingsstringThe base-64 encoded serialized user settings protobuf modifications
required_data_version? 1integerThe 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
FieldTypeDescription
settingsstringThe base-64 encoded serialized user settings protobuf
out_of_date?booleanWhether the user settings update was discarded due to an outdated required_data_version