#github-notifications
1 messages · Page 14 of 1
Are there any plans to support this in the future?
This link is actually preferred because it has the description in the url. They both go to the same place :)
A smol PR that just removes these for example, would be lovely
Please drop all of these ones that rewrite URLs unless the ones that are there are wrong. The ones there are honestly fine :)
for some of these, small prs that address one problem (like our filthy use of http) will be far easier to land. Sorry about all the merge conflicts!
don't think we need the bonus trailing spaces
oh, didn't see that even though I checked...
Hello btw xD
The GET /users/{user.id} endpoint returns the accent_color field, which contains the banner color of the requested user. However, for users with Nitro and a custom profile theme, this has the wrong value. The API returns the value that was set prior to receiving Nitro, not one of the profile colors. In this case, it is not possible to get the banner color through the Bot API, which degrades the user experience. I suggest replacing the value in the accent_color field for users with Nitro...
Description
The GET /users/{user.id} endpoint returns the accent_color field, which contains the banner color of the requested user. However, for users with Nitro and a custom profile theme, this has the wrong value. The API returns the value that was set prior to receiving Nitro, not one of the profile colors. In this case, it is not possible to get the banner color through the Bot API, which degrades the user experience. I suggest replacing the value in the accent_color field for...
- Fix some small C++ syntax inconsistencies.
- Introduce and explain
UserHandle, and user data retrieval - Reorder into what I think is a better learning order.
00d7300 Split activities development guides into separa... - goatslacker
[discord-api-docs] Branch goatslacker/activities-dev-guides-pages was force-pushed to `f2cd841`
f3acede fix links - goatslacker
i cant really clone and run the formatter right now, is it fine now? had to edit from github
1477009 h1 titles - goatslacker
In the Using Message Components examples the flags field was of string type when it should be integer type. Fixed.
Description
It seems to be possible to send a message with both components V2 and polls. However, attempting to modify the components for the given message result in a MESSAGE_CANNOT_USE_LEGACY_FIELDS_WITH_COMPONENTS_2
( "The 'poll' field cannot be used when using MessageFlags.IS_COMPONENTS_V2" )
Steps to Reproduce
- Send a message with components V2 and polls
- Attempt to modify the message's components
- [Code for reproducing](https://github.com/budgetdevv/DiscordPollCompsV2Bug...
Currently the docs incorrectly show all requests as using the GET method for Resources.
See https://discord.com/developers/docs/resources/soundboard#delete-guild-soundboard-sound:
PR switches from to to resolve this issue.
Solution is based on https://discord.com/developers/docs/resources/webhook#create-webhook which renders correctly currently and uses
I suspect the issue is that Onboarding, once enabled, requires you to set three to-dos for each member upon joining. Additionally, you can set specific resource pages (i.e. rules, help, support).
As far as I can tell for my server, the channels causing problems are within the list of resource channels and to-do tasks. This is even after disabling Onboarding. I cannot remove any of the 3 tasks, because Onboarding requires that 3 be set. And for some reason, I can't edit the resource pages. I...
"this message allows you to create fully component driven messages"
also changed the link from component object reference to components overview since that is probably more helpful
The file component description says
This is similar to the
embedsfield of a message but allows you to control the layout of your message by using this anywhere as a component.
but that makes no sense since it has nothing to do with embeds. Without CV2, these would be rendered directly from the uploaded files.
Description
I was directed here by a moderator in Discord Developers. Sorry if this is the wrong place to report the issue - but I hope you can see the importance of fixing this accessibility issue.
If you adjust the Chat Font Scaling (inside User Settings > Apperance), Text Display components inside containers does not scale proportionally as you would expect.
Steps to Reproduce
Send a message with the following payload
[
{
"type": 17,
"components": [...
315d886 Fix bug causing incorrect rendering of HTTP met... - biggant1
It was not intentionally removed, I added it back now 👍 The changes made in #7485 are independent of my changes. You added a link for {instance_id}, that has not existed before and therefore wasn't included in my version yet (see this diff as reference)
The additional trailing space was neccessary to fix the table as I removed a trailing hash in those lines
Looks like the attribute method would've been the correct one 🤔 I did not know that as all the other files used the attribute type 🙈 Fixed it now for all of them 👍
We fixed and rolled this out. Thanks for the heads up!
Changes should be dropped now 👍
I'll cherry-pick those commits and take a look at it once again if I have time and the motivation to do so 👍
Some of them are still broken, but should be fixed with pull request #7479
https://discord.com/developers/docs/resources/message#create-reaction
4c148be Updated endpoint paths after link normalization... - GeniusTimo
a160c3f Update using-message-components.mdx (#7499) - c-bec-k
I'm having the same problem, have you got any news about this? When I open the authorisation link on the discord application, I'm not redirected to the browser, but in the other applications, the browser opens...
Updated all remaining absolute documentation links to relative links. Those links were missed by the link check script and therefore could still contain outdated links (e. g. /docs/activities/development-guides#creating-and-managing-custom-incentivized-links is now /docs/activities/development-guides/growth-and-referrals) or outdated anchors (e. g. https://discord.com/developers/docs/change-log#feb-14-2022 is now #api-v10)
056406e fix components v2 flag description (#7502) - advaith1
Oops good catch. This should have read as:
This is similar to the
attachmentsfield of a message but allows you to control the layout of your message by using this anywhere as a component.
Do you mind switching it to that instead?
2bae562 Updated absolute to relative links (#7505) - GeniusTimo
a3369d8 Improvements to Unified Friends List Guide (#7495) - markmandel
I guess some descriptions are wrong
- Updated various sections on the "Message" resource page with the new components v2 behaviour.
- Added a warning alert box on the "Using Message Components" page to make users aware of the
IS_COMPONENTS_V2message flag being irreverisble when set to a message.
41962ff Updated component reference wording - anthonydiscord
- Messages currently allow up to 10 top-level components and 30 total components
9eea795 Update docs/components/reference.mdx - anthonydiscord
English looks good to me, but I can't say it's correct or not 😁 I defer to @DV8FromTheWorld . Unless @anthonydiscord you tell me it's correct, in which case I'm happy to approve.
[discord/discord-api-docs] Issue opened: #7510 Emojis not supported inside masked urls in containers
Description
So my discord bot forwards posts from the social media platform bluesky to discord and uses the bluesky name inside a container, but some people use emojis in their name
Steps to Reproduce
send this inside a container 👑 Text Here
Expected Behavior
for it to work like it did in embeds
Current Behavior
it just doesn't work
Screenshots/Videos
Client and System Information
does the same on all
This is one of those silly things that is by design. If I remember correctly it's because the on click handler has a conflict on whether to resolve to the link or the emoji popup so they decided to just not allow it. You're essentially out of luck here other than stripping the emoji or some other tomfoolery.
i mean embeds do support it and so do webhooks and also a discord staff told me to open an issue about it
Description
My app uses the rpc and rpc.voice.write features to control a user's mute status depending on the state of their microphone in the game VRChat. The intention is to prevent crosstalk when chatting in both applications at the same time by only allowing one app's microphone to be "active".
Recently, whenever anyone (including myself) attempts to authorize these scopes via the Discord GUI, it returns a code 5000 `OAuth2 Error: invalid_scope: The requested scope is invalid, u...
Please Ignore!
As I moved this app to a team as part of verifying the app in the hopes of removing the RPC user limit of the app testers list (as I have more than 50 people that need to use this app).
I did not realize that despite being the owner of said team, I now have to invite myself to the app's tester list. I am closing this ticket that I just made as it now works for me when I am on that list (and I guess that tells me there is still more to do when trying to get that user count lim...
970c9a0 Add Unity to provisional account providers - swilliams
We added support Unity as a provider for provisional accounts, this adds them to the bulleted list
+9001
Found this while looking for a Toggle Switch option in the Modals... thought to myself the amount of components for modals seems really bare, then found that this post is 3 years old.
Maybe someday guys... maybe some day...
It is correct 😅 we tested it more than once. Good thing that we can ping in components now
https://discord.com/developers/docs/resources/webhook#edit-webhook-message-jsonform-params
the edit webhook docs are missing that you can also edit the flags of a webhook message (IS_COMPONENTS_V2 & SUPPRESS_EMBEDS)
I also notice that the IS_COMPONENTS_V2 is missing from the docs here:
https://discord.com/developers/docs/resources/webhook#execute-webhook-jsonform-params
You are right, I did forget about those pages as well, I will add them too. Thank you for mentioning!
At present, it is not feasible to utilize components v2 in webhook messages. The legacy embeds remain the only option available. In my opinion, it would be advantageous if components v2 could be utilized instead of embeds in webhook messages.
This is kind of weird because
- In rendering, it is based on
attachments, but theattachmentsfield is actually populated primarily by the files uploaded in the formdata. when sending a message, theattachmentsfield is just used to optionally provide metadata like alt text. - When uploading files for components, you still upload files the same way and use
attachmentsfor metadata - This component also renders files differently from attachments in normal messages, since usually ima...
You can use components v2 in webhook messages, you just need to use the ?with_components=true query param and the components v2 message flag.
Oh, thanks. I didn't saw this option :)
You can use components v2 in webhook messages, you just need to use the ?with_components=true query param and the components v2 message flag.
I might need to check the Interactions: Receiving and Responding docs too, since the behaviour of components v2 isn't mentioned at all there, while it is mentioned on the Components: Using Message Components that components v2 can be used as response to an interaction too.
DOCS | Events - Gateway: Message Content Intent
Apps without the intent will receive empty values in fields that contain user-inputted content with a few exceptions:
- Content in messages that an app sends
- Content in DMs with the app
- Content in which the app is mentioned
- Content of the message a [message context menu command]...
In embeds it is possible to show the author and the avatar by the author in one single line. Example:
Currently, this is not possible in components. It would be nice, if there will be added a component to represent the author of a post in a container component.
You can use a section with the avatar as accessory thumbnail and for the author name you can use any markdown you want to show the author name as you see fit for your use case.
I tried this, but it looks very ugly compared to author line in embeds
<img width="605" alt="Bildschirmfoto 2025-04-24 um 15 27 00" src="https://github.com/user-attachments/assets/58458b8f-5d1a-4b5f-bbba-49fd8bd6f3c7" />
bad84e0 Updated component reference wording (#7509) - anthonydiscord
38b1e48 Updated allowed mention wording (#7508) - anthonydiscord
Description
Intuitively you would think to use components v2 in a deferred interaction you would need to pass in the flags for the initial defer
I.e. first you would do
POST https://discord.com/api/v10/interactions/{id}/{token}/callback?with_response=true
{"data":{"flags":32768},"type":5} // flags = IS_COMPONENTS_v2, type = DEFERED_CHANNEL_MESSAGE_WITH_SOURCE
then you would think you'd be able to use components freely
PATCH https://discord.com/api/v10/interactions/{id}/{toke...
DOCS | Interactions - Receiving and Responding: Interaction Response Object
flags? * | integer | Message flags combined as a bitfield (only
SUPPRESS_EMBEDS,EPHEMERAL, andSUPPRESS_NOTIFICATIONScan be set)* If you create a callback with the [type](https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-response-object-interaction-callb...
Indeed - I did notice this
The documentation does technically tell you this flag won't work here - but the alternative is not documented - and I am not sure whether this is a bug - but in any case the docs do need updating.
Oh yeah. I was going to edit to link it lol. didn't make the connection that it was actually... you!
These: https://discord.com/developers/docs/resources/message#embed-object-embed-field-structure
I can't think of a way to display multiple values in a row currently in the new components.
Noticed the inconsistency between it and the modify current user voice state, checked the openapi spec and it is nullable there as well. Same situation with the 204 response.
Description
Anchor links scroll to the wrong position if there are images above the section that the anchor linked to.
This seems to happen only on Firefox, I tried Brave Browser and everything works fine.
Steps to Reproduce
- Open https://discord.com/developers/docs/components/reference#action-row-example
- Observe that the page has scrolled to the correct position.
- Open https://discord.com/developers/docs/components/reference#button
- Observe that the page almost scroll...
Edit: It looks like this is likely caused by layout shifting caused by the images loaded in
The behavior that I noticed is that when loading the page, it's moved to the correct position for a split second, then it's almost like the images loading in shifted the layout, causing the incorrect position.
Fixes a typo, changed "button components" to "button component" for consistency with the correct usage shown next to it.
523f5b0 fix openShareMomentDialog command doc - afgiel
it mistakenly was called openInviteDialog in the signature
Description
The docs say that that the List Guild Emojis endpoint "includes user fields if the bot has the CREATE_GUILD_EXPRESSIONS or MANAGE_GUILD_EXPRESSIONS permission" (emphasis mine). However, it seems that, for bots, only the MANAGE_GUILD_EXPRESSIONS matters, and CREATE_GUILD_EXPRESSIONS by itself is not enough.
Steps to Reproduce
- Give the bot the
CREATE_GUILD_EXPRESSIONSpermission but ...
The Media Gallery component now allows you to attach videos, even alongside images:
https://discord.com/developers/docs/components/reference#media-gallery
Alt text can be set on the new Media Gallery and Thumbnail components: https://discord.com/developers/docs/components/reference#media-gallery
As a side note, the legacy embeds now have a (currently undocumented) read-only description? parameter: https://bsky.app/profile/rcombs.me/post/3llzfdcekzk2a
LGTM, but something is off about the markdown table formatting. I'm struggling to see what it is though 🤔
Might be worth just running a table formatter on the code, see what it picks up.
Yeah looks good just run npm run fix:tables to make sure the table is fixed. That might have been the longest line so instead of adding the space at the end the other rows probably need to be shortened. The command will handle all of that for you
This is mostly fixed, although it will still be broken on initial page load if you get there directly from a URL.
@anthonydiscord knows the right commands 😄
Description
Hi !
Sry if Im in wrong place, but I asked discord support they kept closing my tickets without giving any answers. So I come there its the only solution I found.
I have this issue since 17/04.
As u can see on those screens my code/server hosting is working well.
cf screen1
Even If I remove the app from the account and re add it its still offline :
cf screen 2
APP ID :
1260004556327096380
Im sure its an issue from ur side, cause bot is working well on the server but /slas...
Can you paste your images directly on the github issue?
@appellation That is exactly the issue???
I would not consider this to be fixed/closed, because the point of sharing an anchored link is so that others (or you) don't need to scroll look up for that particular section
Some smaller sections are not even included in the right hand side table of contents
Bots are currently still on the old permission system so the newer Create permissions do not apply to them. In the future they will be updated to the new permission system.
This isn't Discord's false, if you actually bother to read the screenshot you can see the error
If you need Discord.js help: https://discord.gg/djs
For regular programming help (go here): https://discord.gg/code
You are probably talking about this, right? https://discord.com/developers/docs/change-log#clarification-on-permission-splits-for-expressions-and-events
I didn't know about that. I suppose the docs are still somewhat misleading because the emoji page doesn't refer that. But that explains it!
(Maintainers, feel free to close this issue if you think no change is needed.)
I'm also a bit surprised why Discord didn't included features from embeds in the new components v2.
the last screenshot looks like an issue with the staff Discord development client, nothing to do with the bot issue that the rest of this issue is about. don't make issues about multiple unrelated problems
Update action row component table to reflect allowed sub-components
Also seeing this problem here. I've found that the width and height is 0, however, after editing the message, it is corrected and the image displays again.
the last screenshot looks like an issue with the staff Discord development client, nothing to do with the bot issue that the rest of this issue is about. don't make issues about multiple unrelated problems
Yes exactly, sry if it was confusing with my bot issue
I think its because I don't share a server with the bot itself, but the new authorization (user app) should bypass this and make it online no ? Im wrong ?
I am getting this error. I tried verifying using my PAN card like 3-4 times
but it's showing me this error and it's now literally annoying me. I am
trying to verify my bot for almost a month now and I'm getting stopped
again and again. Please resolve this ASAP or can you guys do manual
verification please, I can send my ID here
On Mon, Apr 21, 2025 at 7:29 PM Joe Banks @.***> wrote:
This is probably something to raise with them rather than Discord
considering it is such...
Hey everyone, it seems like this feature is really popular based on all the reactions. It’s been 4 years since we first talked about it, so I was wondering if there’s any plan to make it happen? Is there anything we can do to help speed things up?
Hi all, this seems to be a pretty widely requested feature, based on the amount of reactions. Now, 4 years after the first few interactions, is there any plan to implement this? Is there something we can do to help?
Description
I recently started seeing errors in my bot, related to Guild Integrations.
The field role_id is marked as possible and not nullable, but I receive events with it present and null, breaking the deserialization of the payload.
Steps to Reproduce
Just start a bot and wait for an integration update.
Expected Behavior
Either the doc should specify that the field may be null, or the api shoul...
When using only text components, the 'edited' text is above all the text, and looks weird.
The edited text would look better below the text content
did the change via github.dev to skip having the clone the repo, didn't know a 1 character change would need to format the whole table 😅
Description
The Clyde Bot sticker pack contains a Test Sticker with invalid json body, specifically the
"format_type":isnull, when its [documented ](https://discord.com/developers/docs/resources/sticker#sticker-object-sticker-structure) as a non-nullable int`
testing in prod heh
Steps to Reproduce
GET /api/v10/sticker-packs- look for the
Clyde Botsticker pack
{
"id": "754103543786504244",
"sku_id": "754103543786504242",
...
I also see this as a bug, was attempting to duplicate a server and it butchered it until it was unrecognizable because we made heavy use of forums.
As per Discord's Bug Reporting Support Article - reporting bugs via this repository is not an official way to gain the Badge.
The official way is via the Discord Testers Server, which currently has its applications closed (and no known timeframe on when they'll next reopen).
As per Discord's Bug Reporting Support Article - reporting bugs via this repository is not an official way to gain the Bug Hunter Badge.
The official way is via the Discord Testers Server, which currently has its applications closed (and no known timeframe on when they'll next reopen).
Any update on this? The List SKUs endpoint is still missing. The examples in the docs also seem to include some undocumented fields.
On my iPhone (iPhone 14,4 running iOS 18.4.1), using the Discord app (version 276.1 - 76352, stable):
- If an embed has both an image and a thumbnail,
- I only see the image on my phone — the thumbnail does not show up.
- However, on desktop, I can see both the image and the thumbnail correctly.
it means the session was invalidated server-side, and the reasons that this can happen are not well documented.
There are no updates on this. If there are updates, they will be posted here or you will see them in the spec.
[discord/discord-api-docs] New comment on discussion #4914: Allow to disable commands for admins too
Bump for this, as a developer this is especially annoying since on my personal server I run a debug testing version of my bot for alpha testing of new features. Since I can't turn off duplicated commands for myself I am forced to select between what are the exact same commands but for separate instances of the same app
[discord/discord-api-docs] New comment on discussion #4914: Allow to disable commands for admins too
You can get around this currently by using a separate server for your testing which doesn't have your main bot in it
[discord/discord-api-docs] Issue opened: #7528 >61 media items in Components V2 results in 500 error
Description
When sending 61 fish:
{
"flags": "32768",
"components": [
{
"type": 17,
"components": [
{
"type": 12,
"items": [
{
"media": {"url": "https://em-content.zobj.net/source/twitter/408/fish_1f41f.png"},
"description": "🐟"
}
]
},
...
Confirming I'm also experiencing this issue with Components V2.
When attempting to send 62 or more media components, the API returns a 500 Internal Server Error, exactly as described.
My specific use case involves trying to send exactly 62 images (of cows, importantly!) to a group chat ("the boys chat"), and I'm consistently hitting this error when the count exceeds 61.
Hoping for a fix soon!
I can confirm this limitation also affects my attempt to send 128 penguin pictures (🐧 x128) via Components V2. The behavior is identical to both the fish and cow cases mentioned above:
- 64 penguins: Works perfectly
- 128 penguins: Returns 500: Internal Server Error
This appears to be a hard limit affecting all media types, whether fish, cows, or penguins. The undocumented 64-item restriction makes it impossible to properly fill empty channels with adequate amounts of aquatic birds (or other...
+1 on this limitation. As a particularly hungry individual, I can easily consume a large amount of food- in fact, up to 128 hamburgers in one sitting (for those unfamiliar, they look like this: 🍔). Increasing the limit to 128 media items would significantly help accommodate my unusual appetite.
Currently, the restriction to 64 items means I can only receive half of what I need at a time, which is inconvenient and frustrating. If I had known beforehand, I could have accommodated my needs more...
tl;dr the request entity is too large.
The correct error to return would be 40005
It's just some lighthearted fun, sorry if it made you uncomfortable.
Anyway, I do agree that, even for other validation issues, better error reporting from the API might be nice. Plus the fact that this error is seemingly undocumented.
Description
As it stands right now, attempting to defer or otherwise edit a media gallery into a message throws a 400 and claims the unfurled media attachment is not found
This also happens when attempting to use the legacy followup as an edit method, but does not occur when using a direct response or a separate followup
Steps to Reproduce
As some psudocode of what does and does not work:
// Assume that 'builder' contains the following:
// 1 file (`image.png`)
// 1 Media gal...
1. Add Content-Type Header (required)
2. Add missing comma to line 172
3. Add message to shareLink
Required, a empty string does not work also.
4. Update linkId to link_id
Description
Using discord webhook on a forum channel, creating a new thread with attached images for the first message should appear as the thread's thumbnail just like when sending embed as the initial message.
However sending ComponentV2 like Media Gallery and Section Thumbnail does not appear as the thread's thumbnail.
Only tested with thread created by discord webhook.
Steps to Reproduce
1.) Send some attachment and embed it in components v2 that supports it
Attachments...
Thanks for making this issue. Some voice regions you see when connecting to a voice channel are not available to set as the default region for a channel as they may be deprecated, being used for testing, or are otherwise not available or recommended for general use. For the list of available regions, you can reference the error message, or the list voice regions endpoint
@Rodentman87
I understand how to access the list of voice regions, and I believe there are several missing regions that are actively used, not just for testing.
I provided examples of such regions.
Furthermore, based on my experience, my friend in Poland is always connected to the Warsaw server first, and this has been the case for years.
This suggests that such servers don't fit any of criteria you provided and should be added to region list, which is currently out of date.
Just to clear a possible confusion:
GRU (São Paulo, Brazil)
CDG (Paris, France)
FRA (Frankfurt, Germany)
WAW (Warsaw, Poland)
These look like Cloudflare locations. They are not related to Discord's voice servers locations.
For example, I'm physically located in France, and I'm almost certain there are no voice servers in France (I never encountered a voice server located there in the 9 years I've used Discord).
In the early days, I was being connected to london (later renamed to `eu-w...
Hey @Soulivan71 your bot's online status is determined by whether it's connected to the Discord Gateway.
Feel free to ask for support in the developer community server. Lots of folks have experience in there with discord.js
It seems the new new SDK also doesn't have a way to clear activities. It would be great to get a clarification on how to clear the activity and if this function should be ignored.
tl;dr the request entity is too large.
The correct error to return would be
40005You can see that 100 items are possible when sending something invalid like
https://a.tld/aAlso since when are issues part of shitpost places
It seems this may be the case.
When attempting to send 1x1 pixels https://upload.wikimedia.org/wikipedia/commons/c/ca/1x1.png, I can reach 66 pixels w...
you're 100 percent correct. Literally I was about to break my keyboard because of the issues I was getting while resuming the session. I couldn't find anything which was causing the issue until ChatGpt said this:
Community confirmation
The GitHub discussion “Gateway Resume should be more clear” calls this out:
“When you do not provide those you will get an invalid session payload (OpCode 9)… It should say somewhere that you need to provide those once again.”
[GitHub](https://github.c...
It says it right here in the blue note box: https://discord.com/developers/docs/events/gateway#preparing-to-resume
Woah that shouldn't be there. Thanks for the report!
Thanks for the report. You may be hitting a payload dl limit with fish and mammals. Maybe try a smaller more compact species like a gecko lizard. Synced and will get back to y'all on this.
Hey @Soulivan71 your bot's online status is determined by whether it's connected to the Discord Gateway.
Feel free to ask for support in the developer community server. Lots of folks have experience in there with discord.js
🤨 why my others bots are onlline then ???? without using a special thing (like u tell me (discord gateway) ???
I have just tested this again, and it remains an issue three months later, with no acknowledgement from Discord. This is an inconsistent behavior for a feature that involves real purchases.
JDA 5.3.0
System.out.println("Interaction Event: " + event.getEntitlements().size());
[System.out.println("API Request: " + (int) event.getJDA().retrieveEntitlements().user(event.getUser()).stream().count());]...
In Sending Direct Messages - Sending a Direct Message to a User, it calls result.GetError() when it should be result.Error().
In Creating a Unified Friend List - Step 2: Organize Relationships, inGame vec...
Nice, since GameActivity() returns std::optional 👍🏻
7f99239 Fix Social SDK examples from Direct Messages an... - thiagola92
It says it right here in the blue note box: https://discord.com/developers/docs/events/gateway#preparing-to-resume
49ba4ee Raise the roof - anthonydiscord
dc7b8df More specific wording - anthonydiscord
0c81d47 One more reword - anthonydiscord
Legacy messages continue to allow up to 10 top-level components
"lecagy" - messages without the IS_COMPONENTS_V2 flag? Pretty sure the limit is 5 top level components in that case
We're removing the top level component limit and raising the limit on components in messages to 40 when using the [`IS_COMPONENTS_V2` message flag](/docs/resources/message#message-object-message-flags)! Legacy messages continue to allow up to 5 top-level components and 30 total components.
Same here
Legacy messages allow up to 5 top-level components and 30 total components
There also isn't a total component count afaik, just the count per row depending on the components it contains
[discord-api-docs] Branch anthony/components-v2-limits was force-pushed to `f766f4d`
Correct, I made a mistake with that. It is 5 action-rows as the top-level limit. Updated it!
I think that's a fair point actually. With V2 we don't necessarily want to reference how it used to be, just how it is moving forward.
7629dee update file component description (#7503) - advaith1
None of these components had proper JSON examples. I'm not sure why, but I'm assuming it's not intentional.
[discord/discord-api-docs] New comment on pull request #7535: Components v2: use valid JSON examples
I'd assume it was done that way to show that it belongs in payload's component field, but that isn't the main bit being demonstrated in the example. These updated ones are now showing examples of the full payload_json but are missing the component v2 flag, so if anything I think these are more wrong based on that. If it were to change, I think it'd make most sense to remove the components field entirely and just give the component itself (given that's what the example is supposed to be show...
[discord/discord-api-docs] New comment on pull request #7535: Components v2: use valid JSON examples
@leymbda I think changing the examples just to show the inside of the components array makes the most sense here. I now understand what he was trying to do with the partial, but just having the dangling components field is confusing.
I think it's the same situation as in #7448
I've gone ahead and deleted the sticker, but it will take a bit for clients to clear their cache. Thanks for the report!
This issue also happens for messages sent via channels, I can reproduce it when the attachments field is absent from the PATCH request, sending even an empty array is enough to fix the issue.
It seems that Discord have added this functionality! Link buttons are now carried over into announcement messages.
It seems that Discord have added this functionality! Link buttons are now carried over into announcement messages.
Description
When using an entity select, and edit the message in response to the interaction with the same content (Callback type UPDATE_MESSAGE), the selected option(s) will not be cleared on Desktop until another component is used, while they are on mobile. While inconsistent, this also means that to my knowledge, there's no way to clear the selected options at all (except maybe changing the custom_id). I think the correct behaviour would be to always clear the select after a messa...
https://support.discord.com/hc/en-us/articles/23187611406999-Guilds-FAQ
Guilds was an experimental feature available to a limited number of users. At this time, we’ve closed out the Guilds experiment and this feature is no longer available. Certain features that were part of the Guilds experience may still be available as standalone experiments.
- Added limits to alt text of Thumbnail and Media Gallery Item
- Added details on pre-CV2 component IDs
- Added details of the behavior when sending
0IDs
Description
My slash commands takes in attachment as an input. Originally this attachment input will display below my reply to indicate there is an image/video uploaded as part of the commands like below
Recently this display disappeared. I have gone through the documentation but didn't find a way to config this behavior. Can someone point me to how to bring this behavior back? Or I should adj...
The actual correct behavior is that polls are mutually exclusive with CV2. You should not have been able to used them together in any ways.
This mutual exclusivity should now be properly enforced.
I recognize that individuals likely want to use these two systems together. The correct way would be for us to create a Poll component so that it can be properly expressed within the component system. It is unclear at this time when we will do that. 🙇
Description
When you ban a user with delete messages set, all of the users messages should be deleted within the given time set. However, messages in a forum post do not get deleted.
An exception is when you "fully click into the forum post" and ban the user, for some reason, through this way the messages inside the forum post get deleted. Look at the video attached for a clearer understanding.
Steps to Reproduce
- Get a user to send messages in a forum post
- Ban the user throug...
I seem to be having this issue.
Image URLs are set to images from a GitHub repository.
Some images load fine, but some have their height and weight property set to 0 and they don't load.
If I try to go to the proxy_url on the media proxy, the image downloads instantly.
In the section Managing Lobbies, the code for Leaving a Lobby:
// Leaving a lobby from the client
client->LeaveLobby(01234567890, [](discordpp::ClientResult result, uint64_t lobbyId) {
if(result.Successful()) {
std::cout << "🎮 Left lobby successfully! Lobby Id: " << lobbyId << std::endl;
} else {
std::cerr <LeaveLobby(01234567890, [](discordpp::Clien...
nope, not fixed at least for their video proxy, still uses Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:38.0) Gecko/20100101 Firefox/38.0 here
why aren't discord setting it to Discordbot? their server is literally just fetching a video! no need to try and make yourself look like a bad bot!
This need more info to better understand the problem. What do you mean by "this display has disappeared"?
The current display looks like below
So basically the original attachment display below the message is gone
The original reasoning given in the linked issue is still correct:
This is an intentional design decision, and is working as intended. When Discord crawls a URL we perform that action as a bot. However, when we proxy images we are acting in response to a user loading that image. Because of this distinction we provide a user agent of a user, not a bot.
Sorry, I'm still not understanding.
When an attachment is provided to you as part of the Interaction that comes from a user submitting a slash command if you want that attachment to show up on the message, you need to include it in your message.
You can do this in a few ways
- If you download the attachment you can reupload the attachment to the message
- You can put the link to the attachment into your message and it will embed itself into your message if you have the EMBED_LINKS permission
Totally off the top of my head:
// Leaving a lobby from the client
uint64_t lobbyId = 01234567890;
client->LeaveLobby(lobbyId, [&](discordpp::ClientResult result) {
if(result.Successful()) {
std::cout << "🎮 Left lobby successfully! Lobby Id: " << lobbyId << std::endl;
} else {
std::cerr << "❌ Leaving lobby failed\n";
}
}
But I think that will work, and you can see it get passed through? WDYT?
Also includes an update to the social-sdk-mappings.json
Description
The app placeholder icons are misaligned in the app list.
Steps to Reproduce
- have an app with no icon
- go to https://discord.com/developers/applications
Expected Behavior
The icon placeholder cards are located correctly
Current Behavior
The icon placeholder is too high
Screenshots/Videos
Client and System Information
Chrome 137.0.7151.0
oops updating Chrome fixed it lol
I like it.
In this case, I could also change the example from Sending Messages to a Lobby to match it:
uint64_t lobbyId = 01234567890;
client->SendLobbyMessage(lobbyId, "Hello", [](discordpp::ClientResult result, uint64_t messageId) {
if(result.Successful()) {
std::cout << "📨 Message sent successfully!\n";
} else {
std::cerr << "❌ Message sending failed\n";
}
});
Note: can I also add a space between creating variable and the function calling?
This would be a game changer for many active discord servers
I dont think it was really a planned idea sadly. Would be nice, i run 2 clones of the same music bot to have a music bot for each of my main voice channels
c55cdf1 Discord Social SDK Release 1.2 (#7541) - markmandel
Sure - that works for me 👍🏻 sounds good!
No concerns on extra line break 😄
Adds documentation that outlines how the Social SDK can open the settings for direct messages in the Discord Client.
[discord/discord-api-docs] Pull request opened: #7544 Social SDK: Updated Unity Install Instructions
Unity SDK download is now a zip file, so the installation instructions have now changed.
minor nit: "preference screen" sounds weird. maybe "settings screen" instead?
automod is blocking ...cord.com/ and you sent ...cord.com
without the slash
When attempting to send 1x1 pixels https://upload.wikimedia.org/wikipedia/commons/c/ca/1x1.png, I can reach 66 pixels without issue, but 67 pixels returns:
In this case it has nothing to do with the size of the image. It entirely has to do with the size of the content in the JSON.
We'll put a limit in here that produces a reasonable 400.
Also, why y'all gotta make more work for me 😿
We all say "thank you DV8" in complete unison
e1b7d14 Fix extra parentheses - abe-discord
Fixed a typo in the Activities Local Development guide
eada25b Social SDK: Updated Unity Install Instructions ... - markmandel
I like it! I'll make the change.
Description
Cant change the price for the subs SKU on the d.dev page
Steps to Reproduce
create SKU sub -> change price to anything but the default one -> save
you'll get "Unknown Error"
Expected Behavior
change price without error
Current Behavior
Unknown error message
Screenshots/Videos
Client and System Information
Browser: Firefox
5b489ff Social SDK In-Game Direct Message Settings (#7543) - markmandel
75b3155 Fix Social SDK leaving lobby (#7540) - thiagola92
the current discord api is not expressive enough to do that
Documenting getRelationships command and RELATIONSHIP_UPDATED event from the latest Embedded App SDK release
Updated design guideline to go along with 1.2 release of the Social SDK.
I think we should also document the types, but the enum is not specified in the SDK
[discord/discord-api-docs] New comment on pull request #7535: Components v2: use valid JSON examples
I'd assume it was done that way to show that it belongs in payload's component field, but that isn't the main bit being demonstrated in the example.
Yeah I was just trying to show as much as I thought was necessary without taking up too much space. I do think yall are right though that this should either contain the flag or just be the components array. I feel like adding the flag is the way to go since we want all our samples to use that going forward. What do you think?
How about "Up to 5 buttons, a single text input, or a single select component (string select, user select, role select, mentionable select, or channel select)"
Same here, we don't want to document specific limits on these in case the change
I think we don't want to document specific limits on these in case the change
This can go to the bottom section under "Legacy Message Component Behavior" with the full description of how it works (no need to reference numbering rule mentioned above)
How about "Up to 5 buttons, a single text input, or a single select component (string select, user select, role select, mentionable select, or channel select)"
character limits are documented for most things, it's a weird omission to not include them here
There is no reason not to document these. If they get changed then they can be changed in the documentation as well.
We discussed that in the alpha very often. We (lib & bot defs) prefer to have known limits.
Many of us do lib side validations before sending requests.
Adds documentation for the role's gradient colors
This object will always be filled with `primary_color` being the role's `color`. Other fields can only be set to a non-null value if the guild has the `ENHANCED_ROLE_COLORS` [guild feature](/docs/resources/guild#guild-object-guild-features).
Had a discussion about it and you're right, gonna keep these!
Had a discussion about it and you're right, gonna keep these!
How about "Legacy message component's id will start at 0 with each following id incrementing by 1"
Description
When I make a request to PATCH /webhooks///messages/@original with an invalid body (in this case, an invalid link for a link button), the response given does not match any of the 3 documented error formats listed here: https://discord.com/developers/docs/reference#error-messages
Steps to Reproduce
- Obtain a token to respond to a deferred interaction respon...
ee35cc9 Social SDK: Add Social Settings Design Guidelin... - markmandel
[discord/discord-api-docs] New comment on pull request #7535: Components v2: use valid JSON examples
@anthonydiscord yeah, that's fine. i've updated it to include the full json object with the message flags
Agreed! Are they the same as these in the Social SDK? Would love to have them documented here too
a652e40 Components v2: use valid JSON examples (#7535) - hackermondev
Can we add a note here to say relationships.read requires Discord approval to use? Something like:
:::info
Requires Discord approval
:::
Same thing here
:::info
Requires Discord approval
:::
I might be wrong here, but it seems like the holographic style needs the following config:
primary (11127295), secondary (16759788), tertiary (16761760)
And tertiary can't be set for normal gradients.
I haven't tested around enough, but that was my impression
I assumed that was a client only restriction, is it enforced server side?
I don't think that's right, legacy message components can still be used, the point of this addition is to tell that older messages will have their id default-ed to 0 and how sending them back works.
„Sending back“ is confusing here though. It‘s just a regular payload, independent if the content stems from what was fetched from the API or made from scratch.
Components on messages sent before [date cv2 released] contain an id of 0. Sending components with id of 0 is allowed but will be treated as being not set and replaced by the API.
Description
Making a POST /channels/{channel_id}/messages request with type set to 1 (FORWARDED) in the message_reference field of the payload returns an error if content field is also set, but the components field does not return an er...
Description
I have a Discord activity that creates a web worker to run wasm libraries on a separate thread. I noticed that my app suddenly stopped working in the last few days with a strange error.
Is it normal that worker-src security policy is set to none? (I think this used to allow .proxy URLs before) And if this is the intended behavior, how should I fix this on my side?
Steps to Reproduce
Create a new web worker instance in your activity
Expected Behavior
The worker...
What about "Components of older messages will have an id of 0. Sending components with an id of 0 is allowed but will be treated as absent."
Description
When opening a modal with the same id on desktop and mobile they have a different behavior, on mobile it will show the data for the first time that modal id was seen and on desktop it will show the data that was actually sent.
Steps to Reproduce
- Create a few buttons that opens a modal set the modal components to a paragraph with random consistent text for that specific button.
- Open them on desktop and every time you open it it will be whatever you set that specific...
Bump! It would be a HIGHLY USEFUL feature!
Thank you for taking the time to document these. I knew there would be a few spots we'd miss when writing this so I appreciate you giving it a thorough pass! Looks like something is up with the tables if you don't mind running npm run fix:tables once more and then this looks good to me
Description
I’m unable to select the "$0.99 USD" price tier for a consumable item. Although the option appears in the UI, when I try to save, a validation error is thrown saying the value is not allowed
Steps to Reproduce
- Go to the item configuration for a consumable product
- Choose "$0.99 USD" as the price tier
- Click "Save"
- Observe the validation error that prevents saving
Expected Behavior
I expect to be able to select and save the "$0.99 USD" tier if it's availa...
[discord-api-docs] Branch mia/getRelationshipsDoc was force-pushed to `17e5cf0`
Yep! I added a section for types at the bottom, pretty much copied from here
b0e7d43 Update using-unreal-engine.mdx - mikecoker
change client-> to Discord->Client-> so the sample works.
Looks correct to me, but will defer to @colinloretz who touched this last.
a slash command mansion with presented parameters would already help a lot
On my iPhone (iPhone 14,4 running iOS 18.4.1), using the Discord app (version 276.1 - 76352, stable):
- If an embed has both an image and a thumbnail,
- I only see the image on my phone — the thumbnail does not show up.
- However, on desktop, I can see both the image and the thumbnail correctly.
facing the same issue, something might have changed again, bit annoying :(
Hi everyone,
I've noticed that when multiple bots are part of the same developer team, and Bot 1 has added emojis, Bot 2 is not able to use them.
I would really appreciate a feature that allows bots within the same developer team to share and use each other's emojis.
This would be especially helpful in setups where you have both a production bot and a development bot.
A table component would fill a big gap in what UIs can be created as of now. Would help especially with the lack of inline fields in componentsV2.
I am also suddenly getting this error, which breaks loading Draco-compressed 3D models because Draco uses worker threads.
I think it would make more sense to support tables as markdown than as a component. I'm sure that's been brought up a million times but I don't know the reason they've decided to not
This is likely a security patch to prevent using service workers to bypass CSP. You're going to have to find a way to work around it.
A security patch from Discord or from browsers? If it's from Discord, can we get a confirmation that's it's intentional and here to stay? It's a non-trivial issue, so if it takes a significant amount of work to get around it, we need to be sure Discord won't revert the change.
That works too! I just hope Discord actually addresses it this somehow
thanks for raising the issue. there is an active discussion internally about this, and we will get back to you asap.
Is this different than how it works with v2?
The
idfield is optional and is used to identify components in the response from an interaction that aren't interactive components. Theidmust be unique within the message and is generated sequentially if left empty. Generation ofids won't use anotheridthat exists in the message if you have one defined for another component.
I was playing around with it and it seems to work the same
The docs currently do not really cover that the message field is also set on modal submit interactions where the modal was triggered from a button
Thanks for the addition! Will you run npm run fix:tables to fix the table that was changed and then we can merge
7e8d7ef Added info around cv2 and followup messages - anthonydiscord
Adding a few pieces of info to clarify:
- When you create a message with
IS_COMPONENTS_V2you can't downgrade that message - When responding to an interaction with
DEFERRED_CHANNEL_MESSAGE_WITH_SOURCEyou can only use theIS_COMPONENTS_V2flag on the followup message, not the ack
There wasn't a valid example for client->RefreshToken(...), and now there is!
Also made YOUR_DISCORD_APPLICATION_ID consistent across the page (one change).
@anthonydiscord happy to help =) Done!
This example has some invalid JSON!
...specifically when said User App is responding to a Button/Select using the UPDATE_MESSAGE Interaction Response, for a publicly viewable Message sent by another User who does have USE_EXTERNAL_APPS Permission using that User App's Slash Command.
It would be more helpful to have the red error shown under the button/select say something along the lines of "Missing Use External Apps Permission to use this Button" in this situation :)
For those wanting to re-create this:
- Have tw...
This should already be fixed, can you please try again?
Ack, we have a known bug where some subscription SKUs can't have their prices changed due to previously deleted SKUs. We're working on a fix.
This should already be fixed, can you please try again?
Yeah it's working now !
03bb960 Social SDK: Add example for `client-RefreshToke... - markmandel
If ids work the same for both legacy and v2 I think the best option is to edit the line about ids at the top of the reference. and change it to something like:
The
idfield is optional and is used to identify components in the response from an interaction. Theidmust be unique within the message and is generated sequentially if left empty. Generation ofids won't use anotheridt...
a01324f Components V2 message and followup clarificatio... - anthonydiscord
1242cd6 Clarify that a modal interaction from a button ... - Qreepex
1b98f16 Update getting started sample with cv2 (#7564) - anthonydiscord
Summary
Discord already flags users for suspicious DM behavior (e.g. mass unsolicited messages) and displays this in the Members list with labels like "⚠️ Unusual DM Activity". However, this flag is not exposed via the official bot API, making it impossible for moderation bots to act on this data automatically or even log it for review.
We are requesting that Discord expose this flag through the documented API in a read-only and non-abusable manner, ideally with strict permi...
ea24b32 CV2: Add missing limits for alt texts, ID clari... - freya022
worker-src: ‘none’ has been reverted, although service worker registration is intentionally disabled.
Noticed this one while checking out your docs for executing a webhook
Hopefully this change doesn't violate your CONTRIBUTING.md for unwanted changes because it actually fixes something and isn't just a formatting change.
oh lol this is great thank you for catching it
6fa846c Add missing backtick in Execute Webhook docs (#... - jamesbt365
Description
If you upload a WebP file as an animated emoji, attempting to download from CDN with the .gif extension raises 415 Unsupported Media Type, despite apparently being supported as per docs https://discord.com/developers/docs/reference#image-data - this does not occur the other way round, nor with other extensions.
Steps to Reproduce
- Upload a WebP to a guild as an emoji - this is the example file I'm using.
- Attempt to access...
3fca5cb [docs] Document WebP and AVIF emoji format hand... - skidder
[discord-api-docs] Branch skidder/emoji-webp-avif-format was force-pushed to `091aad1`
Summary
- Add information about supported emoji upload formats
- Explain that all emoji formats can be served as WebP
- Recommend WebP for maximum performance and compatibility
- Document how to request still and animated WebP emojis
Fixes #7567
915e912 [docs] Fix links to Emoji Formats section - skidder
Thanks for reporting this issue! I've created PR #7568 to document WebP and AVIF emoji handling.
WebP and AVIF formats don't convert well to GIF, which is why these emoji uploads must be requested as WebP. We've updated the docs to recommend using WebP for all emoji requests for better performance and compatibility.
Appreciate your feedback on how we can make our documentation clearer in the future.
Would also be good if this was added as an asterisk/note on the CDN Endpoints table
9bd5d0c [docs] Update reference documentation for emoji... - skidder
It would be useful if interactions contained information about the platform the user is currently using (nothing more than "mobile"/"desktop"). This would allow devs to adapt the layout of responses to depending on screen size (for example, relying on inline embed fields only for desktop users, and showing smaller blocks of texts to avoid filling mobile screens completely)
I know this information is already exposed in some presence data but this is not something worthy of enabling the pres...
Description
I use the position attribute to determine whether a message is in a thread without knowledge of its parent channel type; if a value exists, it's a thread message. However, I discovered today that after editing a message, Discord will incorrectly populate the value with 0.
This issue occurs when editing bot messages as well as webhook messages, but I encountered it using webhooks (and it is more salie...
thanks for replying but the bug is still relevant not only sometimes im not allowed to create new subs which says "limit 20" even if i have 1 but i could change the price once and now i cant anymore and after creating a new one it still doesnt let me.
BUT it does display the correct error this time which is nice to see
Rather than "request" emoji, should it be "submit emoji" (across the board)?
"request" feels like you are asking someone to submit something to me. Unless I'm missing a chunk of context, which is possible.
Nit: "Emoji Formats" have it link to the header above, so it's easy to get to.
We highly recommend requesting emojis as WebP for maximum performance and compatibility. See the [Emoji Formats](#emoji-object-emoji-formats) section above for more details.
Nit: "Emoji Formats" have it link to the header above, so it's easy to get to.
We highly recommend requesting emojis as WebP for maximum performance and compatibility. See the [Emoji Formats](#emoji-object-emoji-formats) section above for more details.
I think that is referring to fetching the images that already exist, not uploading new emoji
Since the only section I could find session invalidation behavior being documented was in the disconnecting section, I figured reiterating the invalidation process would be more helpful present than absent. Myself and others spent 3 weeks trying to get a resume before we noticed this section, I think it would benefit others as well.
Maybe a silly question, since I don't know this area as well as others -- how are you requesting the emoji? Is there an API for requesting an emoji from somewhere? (that's what it reads like to me).
If not, I'd lean more towards something like:
Emojis can be uploaded as JPEG, PNG, GIF, WebP, and AVIF formats. All emojis (regardless of original format) can be served as WebP. We highly recommend that developers choose WebP emoji for maximum performance and compatibility. Th...
You're right that the wording is ambiguous. 'Request' here refers to when developers fetch emoji (GET requests), not when they upload them. I'll update the text to: 'We highly recommend that developers use the .webp extension when fetching emojis so they're rendered as WebP for maximum performance and compatibility.' This makes it clear we're talking about the file extension used when retrieving existing emojis.
4a0579c Update docs/resources/emoji.mdx - skidder
f9c249e [docs] Improve emoji WebP format documentation ... - skidder
👍🏻 love it. LGTM!
Welp, looks like it fails on the #emoji-object-emoji-formats 🤔 I wonder why that is.
52878b0 [docs] Fix anchor links to Emoji Formats section - skidder
...and you worked it out faster than I did. Full links required. [Emoji Formats](/docs/resources/emoji#emoji-object-emoji-formats)
2e52d43 [docs] Document WebP support for emoji requests... - skidder
Today I was informed that generative AI bots were implemented in every server, however they do not appear in the member list and I had to look up for their ID's to view the profile.
I never gave permission for these bots to enter my servers and feed from the data inside, so me and many other people resulted in banning the bots, only to find later on the bots were in fact NOT banned and, they were still able to work and interact in the server?
I do not ask to permanently remove the bots ...
this is misinformation going around, no bots were added to your server. they're just apps with ai features around image manipulation that discord recommends to users when they click the button on images. they aren't added to your server, they don't get any access other than the image the user has selected
In general, Selects and Autocomplete UX should be merged.
discord erisim engeli ne zaman kalkar
Oh dear lord.
I woke up with like 5 notifications from sources that said otherwise, I'm glad it's just horrible misinformation.
I'm still plenty against discord using generative AI but I'm glad it's not by force,
I'm gonna keep this post up for people to read the answer, thank you for clearing things up I got REALLY scared
Thank you for answering again 🙂↕️!
this is misinformation going around, no bots were added to your server. they're just apps with ai features around image manipulation that discord recommends to users when they click the button on images. they aren't added to your server, they don't get any access other than the image the user has selected. Discord themselves prohibits developers from using data obtained through the API for training purposes, so if they're recommending a handful of apps to users, they most likely made sure the...
A guide for integrating moderation tools and managing content moderation when using the Discord Social SDK.
Review note: Running link decoration also updated the unreal guide.
So, that's a link to an internal notion document
I am going to regret asking this - have you checked this in light and dark mode? I am worried about what those SVG diagrams will look like. cries in mermaid
might have to make a SVG MDX component like <Snowflake /> to adapt to both themes
Description
With the Discord client, it is possible to forward a message and include optional content
However, attempting to do so via API results in an error
Steps to Reproduce
Attempt to forward a message while setting its content field
Expected Behavior
It should successfully forward the message and include the stipulated content
Current Behavior
A rest error is thrown
Screenshots/Videos
No response
Client and System Information
Using [NetCord](https...
When you attach content to a forward in the client it sends 2 separate messages. This is a design decision and not a bug.
<img width="590" alt="Image" src="https://github.com/user-attachments/assets/1645d0e2-2617-4e84-bfe0-cd286ad628dd" />
Blep! Thank you! I'll fix that.
I am going to regret asking this - have you checked this in light and dark mode? I am worried about what those SVG diagrams will look like. cries in mermaid
I absolutely forgot there was a light theme for the docs. Okay, grey background on sequence diagrams it is!
I am going to regret asking this - have you checked this in light and dark mode? I am worried about what those SVG diagrams will look like. cries in mermaid
mermaid 🔜
I have merged a fix for this. It should be on Canary soon, stable in a bit, and will slowly makes its way out to mobile (week or two).
Thanks for bringing this up!
Moved this hear, as otherwise it was picked up as the page title.
Grey background in effect on mermaid. Not the prettiest on light mode, but at least it's legible.
Other items should be fixed now.
Description
When a bot is connected to a voice channel by itself (no other users in channel), using the "Disconnect" context menu option (voice kick) results in the wrong close code being sent.
We expect the code to be 4014, which is also what we receive when another user is connected to the channel with the bot.
Steps to Reproduce
- Connect to voice channel with the bot (no other members in channel)
- Use "Disconnect" in the Discord Client
- Observe close code 4022 (undocument...
https://support.discord.com/hc/en-us/articles/23187611406999-Guilds-FAQ
Guilds was an experimental feature available to a limited number of users. At this time, we’ve closed out the Guilds experiment and this feature is no longer available. Certain features that were part of the Guilds experience may still be available as standalone experiments.
That aged like fine milk
There is another issue where users without Nitro cannot use emojis in the channel topic, even if they are from the current server, which should not happen, since you will have access to an emoji that is in the current server.
so thats why its not working right now, i was able to set it with nitro before
https://discord.com/blog/nameplates-land-in-the-shop
Nameplates have been released a while ago.
https://support.discord.com/hc/en-us/articles/23187611406999-Guilds-FAQ
Guilds was an experimental feature available to a limited number of users. At this time, we’ve closed out the Guilds experiment and this feature is no longer available. Certain features that were part of the Guilds experience may still be available as standalone experiments.
That aged like fine milk
It's not wrong though.
- Membership Applications (part of Guilds experiment) was released separately a...
Description
See screenshot.
Steps to Reproduce
- Create an application
- Upload an emoji
Expected Behavior
Formatted table.
Current Behavior
See screenshot.
Screenshots/Videos
Client and System Information
- Arc 1.95.1 (62956) Chromium Engine Version 136.0.7103.114
- Safari 18.4 (20621.1.15.11.10)
Description
The developer portal states WebP files may be uploaded as an emoji, but it is still greyed out.
In the Discord client, I am able to upload WebP files. I just cannot do it in the developer portal's emojis tab for applications.
Steps to Reproduce
- Get a WebP file
- Attempt to upload it to an application's emojis
Expected Behavior
The file may be selected.
Current Behavior
The file cannot be selected.
Screenshots/Videos
Client and System Informa...
| primary_guild? | ?PrimaryGuild | the user's [primary guild data](#DOCS_RESOURCES_USER/user-object-user-primary-guild) | identify |
|-------------------|-----------|----------------------------------------------------------|
| identity_guild_id | snowflake | the id of the user's primary guild |
| identity_enabled | boolean | whether the user is displaying their guild tag |
| tag | string | the text of the user's primary guild tag. Limited to 4 characters |
| badge | string | the [clan badge hash](#DOCS_REFERENCE/image-formatting) |...
| Clan Badge | clan-badges/[guild_id](#DOCS_RESOURCES_GUILD/guild-object)/[badge_hash](#DOCS_RESOURCES_USER/user-object-user-primary-guild).png \* | PNG, JPEG, WebP |
This seems to be correct at the current time still (the name / route)
Gif is not valid
Docs always take a while; also afaik there's still an active holdout group
Yeah, but the not released tag is no longer applicable is what I meant
We'll serialize the banner image hash on the user object so that bots can start passively getting that field.
As for bios, we absolutely hear the moderation use cases, but we're not comfortable making those accessible right now.
The behavior that we (and you) see, outside of potential moderation issues, is people putting really sensitive, personal information in their bios. We aren't comfortable with that data being scraped.
Privileged intents are great, but the authorization...
Description
If I try to preview the expanded description in the Discovery tab I get an Unexpected Application Error!:
Minified React error #525; visit https://react.dev/errors/525 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.
See below image for the full list of errors
Steps to Reproduce
Log into any verified bot's dev port...
I got the same error for now 3 months
Description
When i login at https://discord.com/developers/applications the page refresh instantly and disconnect my account.
But i'm already connected on discord web version and it's works well.
Steps to Reproduce
Open https://discord.com/developers/applications -> Login with QRCode or login with your crendentials and enter the Auth code -> You will get disconnect
Expected Behavior
Must access to the developer portal
Current Behavior
The website just refresh and te...
Description
When sending a bot message with multiple images and all images having the same resolution and aspect ratio sometimes the images are not displayed at the same size. Issue happens on embeds and on components v2 gallery
On the picture above, all 12 pictures have the same aspect ratio and resolution and the display with differently width.
Steps to Reproduce
send 2 messages using comp...
I might be wrong here, but it seems like the holographic style needs the following config: primary (11127295), secondary (16759788), tertiary (16761760) And tertiary can't be set for normal gradients.
I haven't tested around enough, but that was my impression
I also haven't tested enough with the holographic style, but afaik the restriction was only enforced on client side - similar to how channel cooldowns used to be in it
Yeah, but the not released tag is no longer applicable is what I meant
released, not confirmed stable yet. working on getting +1 to stable for nameplates, gradient roles and server tags before we merge docs
Hi, any updates on this? #6448 was closed because this and another PR was opened and #6398 has been closed due to abandonment.
| 4014 | Disconnected | Disconnect individual client (you were kicked, the main gateway session was dropped, etc.). Should not reconnect. |
Can the "description" values be made unique? that field is used as the opcode name in enums
Why does this get sent when the user was the last connected one (see #7575)? Is that an oversight? Why does changing the voice server imply you shouldn't reconnect? That seems strange to me.
The way we observe this close code implies 3 different scenarios (might be more idk what else is hidden behind "etc." here).
- Bot is kicked and channel is now empty -> no reconnect
- Channel is deleted -> no reconnect
- Voice server changed -> connect to new voice server (essentially reconnect with extra steps)
This means the client has to decide based on context information how to handle this closure. Which makes implementation unnecessarily difficult. I would expect all these s...
Disconnect due to rate limit exceeded
There are no mentions of rate limits in the voice docs.
Can we get more information on this?
import discord
import os
import re
import requests
GITHUB_TOKEN = os.getenv('GITHUB_TOKEN')
HEADERS = {'Authorization': f'token {GITHUB_TOKEN}'}
client = discord.Client()
@client.event
async def on_ready():
print(f'Logged in as {client.user}')
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('!cancel_merge'):
# Extract the PR URL from the message
# We look for a URL in the message that ...
import discord
import os
import re
import requests
GITHUB_TOKEN = os.getenv('GITHUB_TOKEN')
HEADERS = {'Authorization': f'token {GITHUB_TOKEN}'}
client = discord.Client()
@client.event
async def on_ready():
print(f'Logged in as {client.user}')
@client.event
async def on_message(message):
if message.author == client.user:
return
if message.content.startswith('!cancel_merge'):
# Extract the PR URL from the message
# We look for a URL in the message that ...
e9a58cc Remove default command contexts sentence - lsdimagine
contexts is required if we want the command available outside guild.
This is also present in the command object table:
Interaction context(s) where the command can be used, only for globally-scoped commands. By default, all interaction context types included for new commands.
However I would prefer that the actual behavior be changed to reflect the documentation, not the other way around
This is also present in the command object table:
Interaction context(s) where the command can be used, only for globally-scoped commands. By default, all interaction context types included for new commands.
However I would prefer that the actual behavior be changed/fixed to reflect the documentation, not the other way around
huh I think currently we h...
No it's currently optional and has a default value which seems to be GUILD and BOT_DM but not PRIVATE_CHANNEL. ideally it would include all 3 by default
I think theres a bug in the way we handle default dm_permission field thats causing the current behavior. I dont have time rn to open that can of worms though :/ Im concerned behind this simple change is a breaking change to dm_permission
b930084 Remove default command contexts sentence (#7583) - lsdimagine
It would be extremely useful to control the local volume set for other users in a voice call through the API.
I have wanted to control other participants volume through a physical mixer for a very long time. This is not possible cleanly without this feature.
There are many other GUI functions exposed through the API, this should be one of them as well.
That URL no longer works. Use https://github.com/hammerandchisel/discord-api-docs/blob/master/docs/topics/Rate_Limits.md
https://github.com/discord/discord-api-docs/blob/main/docs/topics/rate-limits.md
Wack-a-mole ahh vibe...
Why they keep changing it?
The "above" might be confusing since it's a bit far away. This is a website, so we can use hrefs to refer to another section.
This endpoint is deprecated. Use [Get Channel Pins](/docs/resources/message#get-channel-pins) instead.
I'd do the same for each deprecated endpoint.
Description
The application response object for my bot contains the following data:
...
"redirect_uris": [
"https://localhost:3000/api/auth",
"https://example.com/dashboard",
"https://example.com/api/auth/callback/discord",
null
],
...
but [the docs don't state that the uri can return a null](https://discord.com/developers/docs/resources/application#application-object-application-structu...
Description
Thumbnail components with external images that take a while to load get scroll bars while they're loading.
In my case here, the API being hit up takes a while as it generates thumbnails for videos.
Steps to Reproduce
POST request to https://discord.com/api/v10/channels/:channel_id/messages with
{
"content": "",
"flags": 32768,
"components": [
{
...
Description
WebP images support transparency. When sent in a container in a Components V2 message, the transparent parts have a dark/light background, dependent on the current theme. It should instead be displayed transparent. I wasn't able to reproduce this on iOS or Web, but it exists on Android.
Steps to Reproduce
Send a Components V2 message with a Container that contains an image with transparent parts.
Expected Behavior
Transparency should be supported and displayed cor...
This is a much needed and asked topic of a lot of developers as far as i know.
For many use cases inlined fields / maybe even only text orientation (left / center / right) is very much needed to display information in a nice manner.
Often mobile usage is fine with this as well, as the fields wrap below each other.
Previously when using Embeds we had an easy solution to display an author with his Avatar Url included.
Now in CV2 (afaik) there is only the Thumbnail or MediaGallery Component to display a Users profile Picture.
In a lot of cases those 2 Components are to large, and it is way nicer to just show a small icon in the footer, as it was possible with the Embeds.
It would be a blessing to have a solution such as the following idea by dv8 to change the mention syntax:
- default: ``,
-...
can someone help me i am putting Bot and I'm getting 403 forbidden bots cannot use this endpoint
You must only change theAuthorizationdepends on the request.
For users:
Authorization: Bearer <UserToken>
For Bots:
Authorization: Bot <BotToken>
Sample:
// If its a bot request
if(isset($data['access_token'])) {
$headers['Authorization'] = sprintf('Bot %s', DISCORD_TOKEN);
// if its a user request
} else {
$headers['Authorization'] = sprintf('Bearer %s', Sess...
as much as i would love to have this one specific and relatively easy-to-implement feature right now just like everyone else here, it's been 7 years of silence from discord
i think it's clear that they don't care anymore :(
This is more of a client side feature request, I'm unaware if the api supports it or not, but I think it might be very helpful. The feature request is as simple as adding More capabilities to the search feature currently supported, which is to allow for filters Like filter by Media, Links, etc.
I've considered using support.discord.com to apply for this feature request, but I was disappointed that it doesn't have an easier way to sign up like using a discord account.
Either way I think ...
This opcode is a binary message according to the DAVE protocol whitepaper.
Hey there! Since this issue isn't related to the Discord API nor its documentation, I am going to close it. I recommend you reach out to Discord Support (https://support.discord.com) if you're still encountering this problem.
Description
The image does not get scanned by the content filter, so it stays blurred forever if you have it set to blur filtered messages.
Steps to Reproduce
- Forward a components v2 message with an image, here is an example forwarded msg in ddevs #1364347506200416307 message
- Look at the message from another account (not the one that forwarded the message) and make sure the "Messages in server channels" content f...
Description
https://discord.com/developers/docs/tutorials/configuring-app-metadata-for-linked-roles
This tutorial uses Glitch, but unfortunately Glitch is shutting down next month
https://blog.glitch.com/post/changes-are-coming-to-glitch/
The tutorial will probably need to be updated to use a different service.
Steps to Reproduce
N/A
Expected Behavior
N/A
Current Behavior
N/A
Screenshots/Videos
No response
Client and System Information
N/A
This would be hugely useful for bots my company builds and maintains.
Workarounds caching invite usage counts (as mentioned above) might be acceptable for small private servers, but they fail on public or larger servers for a variety of reasons. For example:
- Vanity URLs do not expose usage counts
- Users joining via Discovery will disrupt/invalidate counts
- During periods of frequent joins (when e.g. 10 users per second are joining), accurate tracking becomes impossible as API late...
usage count of the vanity is exposed using the get guild vanity endpoint
Basically, allow a way to BOTs to be able to fetch Server Member Applications when the user submits them.
I asked in discord.js repo and they said it depends of Discord staff to publish it for them to implement.
wtf is a wse?
probably misspelled "swe", Software Engineering
It's been a while, but I recently generally improved the robustness of the webhook endpoints, which might help this issue. Let me know if you still see Unknown Webhook codes.
Last time I encountered it as far, was 2 hours ago (I attempt to send the HTTP PATCH 5 times before giving up) but if it was after that, I will then update if I see anything else yes yes.
UNIX of when it happened: 1749060633
[discord/discord-api-docs] Issue opened: #7596 Buttons don't look right in light mode across devices
Description
The colour of buttons doesn't stay consistent across devices when using light mode.
Example 1 - screenshot from mobile
Example 1 - screenshot from desktop
Example 2 - screenshot from mobile
Example 2 - sc...
Hey @brotomoe! We recognize that the background colors between desktop and mobile are not the same. We intend to address in the future to bring parity between the platforms. For now though, we recommend using icons that are not just outlines and that are dependent on transparency.
IS_COMPONENTS_V2 allowed as interaction message callback
I am pretty sure IS_VOICE_MESSAGE can be set as well.
3c47a44 updated description - vassjozsef
| 4022 | Disconnected: Call Terminated | Disconnect all clients due to call terminated (channel deleted, voice server changed, etc.). Should not reconnect. |
Can the "description" values be made unique? that field is used as the opcode name in enums
Done.
| 4022 | Disconnected: Call Terminated | Disconnect all clients due to call termination (channel deleted, voice server changed, etc.). Should not reconnect. |
"terminated" is bad grammar here.
+1 for this feature, its been nearly 5years since this feature was requested
8316e25 Better project setup wording - anthonydiscord
bbd2919 Discord Social SDK Release 1.3 (#7597) - colinloretz
Just set up a matrix instance and use double puppeting! Discord will not incorporate this, but it can all look perfect on Matrix.
Hey, I’d like to add a bit:
If there's no user in the voice channel except ourselves, and we move ourselves to another channel, the status code that appears will always be 4022.
But if the voice channel has at least 1 other user in it when we move ourselves, then it will first trigger a 4014, and when we return to the previous channel, the code that appears will be 4022.
Example: self move to other channels
🟢 (VC has at least 1 person)
Channel A → Channel B (4014)
Channel B → Channe...
6b8ab98 APPLICATION_DEAUTHORIZED - colinloretz
34836b7 fix link - colinloretz
Adds new webhook event type: APPLICATION_DEAUTHORIZED
Description
If there is a link in a text component (type 10, using the components V2 update), the search filter supposed to find messages that contains links ("Links" on mobile, "has: link" elsewhere) won't display it. I tested in the Discord mobile app and browser version of Discord (still on mobile but with desktop mode enabled), so I guessed that it is an issue with the API.
Steps to Reproduce
- Make a bot send a message using the components V2 update, that contains a text compo...
Description
When I normally connect to a voice channel and kick the bot from it (when im in the voice channel) all works - the bot doesnt reconnect...
If nobody (only the bot) is in the voice channel and I then kick him the bot automatically reconnects...
Is that wanted behavior?
Steps to Reproduce
/
Expected Behavior
That if I kick a bot from a vc it doesnt reconnect...
Current Behavior
It reconnects only if im not in the voice channel
Screenshots/Videos
/
###...
As said, I dont know if this is wanted behavior or not.
Using Install Package from Disk in Unity actually references that package wherever it lives. Temporary here makes it sound like you can delete that folder after and it will still work but it won't.
[discord/discord-api-docs] Issue opened: #7603 attachment_size_limit does not give the correct limit
Description
Im a nitro user, this bot was tested with UserInstall and GuildInstall, using code to create a file with a specific file size and try and detect the limit, from an interaction you can obtain attachment_size_limit in my case it gave 500MiB, from this i tried sending a 500MiB file, it didnt work, what i ended up finding its that, the limit on both UserInstall and GuildInstall in my case was 200MiB (non-inclusive).
On the discord developers guild, ive also created a [new post...
What library are you using?
Because there are new status codes there: 4014 and 4022.
Does your library handle that and cause a reconnect?
i tried it with JDA
Description
When uploading images to https://discord.com/developers/applications/{id}/emojis, some images are completely mangled.
See :
- screenshot of the problem : https://i.ibb.co/GfgtKv4L/Screenshot-2025-06-07-23-59-09.png
- image I was trying to upload as 'ramona_small' : https://i.ibb.co/Q7BnM0jB/ramona-small.png (164.7kB)
- image effectively uploaded as 'ramona_small' : https://cdn.discordapp.com/emojis/1381028208958378087.webp?size=64&quality=lossless
- image I was trying to upl...
Note : the images discussed her are PNG format, but I also encounter the problem with WEBP & JPEG format.
This is a way to stop raids from alt accounts that get banned from servers right now we have a simple way of doing by checking discord user info we can get straight from the discord API using discord.py or something but if we could see what servers or friends the user has could help really to find alt accounts and see if its a alt and if we should investigate the user to see if we need to ban from the server don't make this a public endpoint as this could be exploited but make it so people ca...
This is exposing private information, I know this seems useful but requesting a user's friend and servers can already be done via OAuth2, so you could have a verify channel that authorises a bot with those scopes and do a scan or something.
This wouldn't help against a lot of raids from accounts made specifically to raid (and thus won't have mutual friends/servers with each other).
Even if it would help, it's a big cat-and-mouse game so it won't stop dedicated malicious users for long. :c
It would be great if apps could not only fetch them, but also accept and reject them, or perhaps use the interview feature and create a group with the applicant.
This would be useful for automatically managing applications or using apps to see and manage them on mobile.
The Mod View shows a lot of useful information about a user, some of which is currently inaccessible to bots. It would be great if bots could access these information:
- Join method, including the user who created it if it's an invite
- Total message count, including specific details of how many links or attachments were sent
My usecase would be allow my bot a way to post accepted applications to a #introductions-like channel and also auto give the basic role for them if approved.
Just the possibility to automatically give a role for the approved would be sufficient for my use case (the posting of the applications on the introductions i can be via print screen, honestly).
"a permanent spot" feels a touch ambiguous to me? 🤔
2. Unzip the zip file and [Install Package from Disk](https://docs.unity3d.com/Manual/upm-ui-local.html). Make sure the folder is in a directory that won't get moved or deleted as your Unity project will load it from that location.
Maybe that is clearer?
You can already request the server and friend list of a user via OAuth, if they authorise your bot.
Besides that, raid accounts are usually created for this specific purpose, they don't have any friends or belong to any server, so this wouldn't really help either.
Feature requests relating to the client don't belong here. Please use https://feedback.discord.com instead, even if the process there is more complicated.
This would be great, having to manually change the emojis every time you switch to your development bot isn't really a viable solution.
It would also make sense to include a roles/user/channel select, given that these are already part of dropdowns or slash commands.
This has been resolved a while ago. The '(edited)' text now renders at the bottom of the message.
This has been resolved a while ago. The '(edited)' text now renders at the bottom of the message.
Thanks for the additional details. This repo is for reporting bugs; please reach out to support for policy concerns. Thank you!
2025 and still not added? 😒
Would have come handy, now even if a member boost 5x times we can only reward them 1x time for it since getting that data is nearly impossible unless u self bot your account and scrap their "/boots" page on the server which is against ToS... 🥲
@13eckdev Looks good! Mind adding IS_VOICE_MESSAGE as well?
d6a8cba Better Unity Social SDK project setup wording (... - anthonydiscord
Andrewthus go back to wse
snowy just bc u saw my name in the discord server's commit channel doesnt mean u gotta intervene like that in a serious discussion thread 💀
@13eckdev Looks good! Mind adding
IS_VOICE_MESSAGEas well?
Done!
Apologies for the delay, was OOO for the week. Thanks for the submission!
I'm just checking internally if this is something we want to document, or if it's something that may not be stable==.
Context
This post will focus on Components V2
I believe libraries should be able to automatically retain attachments when editing messages, this will go toward an effort to:
- Improve the developer experience (no manual attachment management)
- Improve the user experience (faster response times)
- Reduce the bandwidth costs for Discord
The issue
To implement this, one would currently have to parse the unfurled media URLs, to obtain the attachment ID which is the 2nd snow...
| flags? \* | integer | [Message flags](/docs/resources/message#message-object-message-flags) combined as a [bitfield](https://en.wikipedia.org/wiki/Bit_field) (only `SUPPRESS_EMBEDS`, `EPHEMERAL`, `IS_COMPONENTS_V2`, `IS_VOICE_MESSAGE`, and `SUPPRESS_NOTIFICATIONS` can be set) |
|-------------------|----------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
I added ` around IS_VOICE_MESSAGE and messed up the tables 🤦 so sorry could you pull and run the table fix and then it's good to go.
I’m at work all day until about 20h (is currently 12h here), but I’ll do it when I get home
Sent from Proton Mail for iOS
On Tue, Jun 10, 2025 at 12:00, Anthony @.***(mailto:On Tue, Jun 10, 2025 at 12:00, Anthony <<a href=)> wrote:
anthonydiscord left a comment (discord/discord-api-docs#7598)
I added ` around IS_VOICE_MESSAGE and messed up the tables 🤦 so sorry could ...
No rush at all. This is a lesson for me not to commit things through the git UI on other people's PRs. Sorry about that!
It’s a learning experience for me, too. My first PR so…be kind! lol
Sent from Proton Mail for iOS
On Tue, Jun 10, 2025 at 12:22, Anthony @.***(mailto:On Tue, Jun 10, 2025 at 12:22, Anthony <<a href=)> wrote:
anthonydiscord left a comment (discord/discord-api-docs#7598)
No rush at all. This is a lesson for me not to commit things through the git UI on other people's PRs...
Description
Trying to send a webhook using the new WebhookClient API results in error 50006 'Cannot send an empty message'.
Steps to Reproduce
The following code snippet (with redactions) creates the error in my enviroment.
`const { WebhookClient, MessageFlags, TextDisplayBuilder } = require('discord.js');
const templatesWebhook = new WebhookClient ({ url: 'https://discord.com/api/v10/webhooks/_redacted_/_redacted_?with_components=true' });
const textComponent = new TextDisplayB...
looks like this is because your discord.js code is not actually sending the with_components query parameter. ask in the discord.js server for help: https://discord.gg/djs
Im heading over there now, I don't understand why the query parameter would not be sending?
thanks for bringing this issue to our attention! it turns out this was an inconsistency not only in Components V2 messages but also in image rendering of regular attachments & thumbnails (they share some underlying code). my fix will ship in the next release of the android app!
I have implemented attachment_id as a field on UnfurledMedia when they are backed by an attachment via the attachment://<filename> protocol. You should now be able to know what attachment ids are in use on the message and use those when sending the attachment array to properly retain them.
Description
File Display Component
If you send a file display component, the download button cuts-off at the moment
See:
Media Gallery Item
If you send a media gallery item with a gif, the favorite button exists, but is invisible
See:
It should look like this (normal message):
 request object | Details about the poll
|
| content? | string | Message content
|
| attachments? \*\* | array of partial [attachment](/docs/resources/message#attachment-object) objects | Attachment objects with filename and description
|
11c132a Update receiving-and-responding.mdx (#7598) - 13eckdev
Thanks again for your first contribution! Table was still wonky so I fixed it through the github UI and merged it in.
a85a1b4 add approximate_user_authorization_count to app... - foxfirecodes
i just shipped a change that adds a new approximate_user_authorization_count field to applications. this new field includes all oauth2 authorizations for the application, whereas approximate_user_install_count only includes those that have the applicaiton.commands scope.
description -- authorizations instead of installs?
Would you mind adding how approximate_user_install_count and approximate_user_authorization_count differ in the description? (even if it's just the scope)
a701b7d change description - foxfirecodes
164c4a0 add clarification to user_installs - foxfirecodes
fixed the desc for authorizations and added clarification to installs!
1d7d83e fix tables - foxfirecodes
thank you for reporting! this was fixed a couple weeks back :3
Is the expires_at field still optional? If so, when is it not returned?
Thanks for filing this issue @Goz-0 !
I was unable to repro your issue exactly; however, we identified some recent changes to this API endpoint that could have caused problems, and rolled out subsequent fixes on June 10.
Can you please try to repro this again on your side?
dc91f07 docs: Document attachment_id for unfurled media... - Lulalaby
hi there! thank you for reporting this. could you please provide the exact Components V2 JSON payload you're using? I was unable to reproduce with the following payloads:
// wine glasses
{
"flags": 32768,
"components": [
{
"type": 10,
"content": "Wine Glasses"
},
{
"type": 12,
"items": [
{ "media": { "url": "https://m.media-amazon.com/images/I/31mmrfSju%2BL._SL500_.jpg" } },
{ "media": { "url": "https://m.media-amazon.com/images/...
| name | string | The name of the file. This field is ignored and provided by the API as part of the response |
| size | integer | The size of the file in bytes. This field is ignored and provided by the API as part of the response |
I don't think we need...
Apologies for the delay.
Since this isn't in our Open API Spec, it's not to be documented or relied on as stable.
So I'm going to close this PR for now. If there is a strong use case for this particular field to be made stable, please file an issue and we will route the feedback internally.
Nevertheless - appreciate your contributions!
67905f9 fix: CV2 File Display Component is missing name... - Lulalaby
5c8cf02 Added nameplate documentation - anthonydiscord
Documents collectibles on a user and nameplate in collectibles
looks like palette is some sort of string enum, not a hex code. can the possible values be documented with their meaning?
collectibles: {
nameplate: {
sku_id: '1349849614198505602',
asset: 'nameplates/nameplates/twilight/',
label: 'COLLECTIBLES_NAMEPLATES_TWILIGHT_A11Y',
palette: 'cobalt'
}
}
the guild_count returned in the discovery endpoint is a value that is updated as part of a task that runs every 24 hours. the approximate_guild_count value returned as part of the /applications... endpoints is computed on request but then cached for 24 hours. as far as i can tell any discrepency between the two is simply due to drift between the two cached values. so if one is higher than the other im pretty confident that its due to an actual change in the number of guilds
@thomasgtay...
Is it possible that one includes applications.commands guild installs and one only includes bot installs?
@foxfirecodes the issue described by @thomasgtaylor reads as different from mine. You're likely correct about his discrepancy due to the 24 hour delay, but I am concerned with the server counts returned from the API vs. the server count displayed in the app directory. The latter is unknown to me, as in I don't understand how it's calculated. It isn't returned in the API response. FYI I got the below reply in the original discord thread, and it is similar to what @advaith1 offers here I think....
To me this is an issue of two different values with two different underlying calculations being presented as the same thing. That was the source of my confusion
I can add more detail on my discrepancy. At the time, I didn't have the bot scope added: ie. users could only install the application to servers and users directly. I used the HTTP interaction gateway and the only server count gauge for me was the static / cache endpoint. The other remained at 0 and did not start increasing until I added the bot scope.
I do not think there was a 24 hour delay in this case as it was like this for a few weeks. Even to this day (after adding the bot scope...
Thanks for jumping in to help @foxfirecodes 😄
ah yknow what you're all absolutely right. the approximate_guild_count is computed based on the number of guilds that the bot user is apart of. the table we're using for approximate_user_install_count and approximate_user_authorization_count has a guild_count col that uses the total number of guild authorizations, just like the app directory. so i will discuss with the team about migrating approximate_guild_count to use this other col instead of counting guilds the bot user is apart...
Hello,
I still have an issue uploading the same images, as well as pretty much any png/webp image that I have on hand.
see https://cdn.discordapp.com/emojis/1382858913677967454.webp?size=64&quality=lossless
and https://cdn.discordapp.com/emojis/1382858854198673409.webp?size=64&quality=lossless
for the failed uploads as of 2025-06-13 as captured on video here : https://www.youtube.com/watch?v=pc5cElIvFFA
Animated emojis (or rather, .gif uploads) work fine for me on the other hand (ex : https:...
@foxfirecodes Thank you for confirming the suspicion! You've been immensely helpful!
Thanks @foxfirecodes !
And sorry to claim you had a different issue @thomasgtaylor . Was trying to account for the fact that something still seemed off, and it's been a long time since I've visited this issue haha
Looking into getting the palette values documented! We're going to leave the label blank for now until it returns a value.
Thanks for the contribution! I'm using this as a template but doing some rearranging and edits in another PR for nameplates. Closing this PR
Apologies for the delay.
Since this isn't in our Open API Spec, it's not to be documented or relied on as stable.
It was my understanding that the Open API Spec is currently unstable and non-complete. I fail to see how something being undocumented within an incomplete specification is grounds to further leave it undocumented within what is supposed to be a complete specification.
re: README.md on the OpenAPI Spec Repo:
⚠️ The pu...
Update, it continues to happen today
I can also confirm it still happens, but perhaps a) less frequently and b) less severely (time duration), but admittedly my sample size is rather small now as we've mostly migrated to web pages and away from bots.
341aad2 Add better example and palette strings - anthonydiscord
8e9bd1c Added nameplate documentation (#7614) - anthonydiscord
@foxfirecodes I literally just used the same payload that you provided and it has done it hehe
Maybe you need a larger monitor?
i shipped a fix to include application.commands authorizations in the guild count. please confirm the numbers look right now, if not lmk!
Description
https://discord.com/developers/docs/quick-start/getting-started#installing-slash-commands
https://discord.com/developers/docs/interactions/application-commands#get-global-application-commands
https://github.com/discord/discord-example-app/blob/main/utils.js
commands = await DiscordRequest(endpoint, { method: 'PUT', body: commands });
console.log(`commands: ${JSON.stringify(commands, null, 2)}`)
It returns an empty object
Steps to Reproduce
Description
https://discord.com/developers/docs/quick-start/getting-started#installing-slash-commands
https://discord.com/developers/docs/interactions/application-commands#get-global-application-commands
https://github.com/discord/discord-example-app/blob/main/utils.js
commands = await DiscordRequest(endpoint, { method: 'PUT', body: commands });
does not update / add new command at all.
Steps to Reproduce
https://github.com/discord/discord-example-app/blob/main/utils.j...
To access the response body json from fetch, you need to use await res.json()
This PUT returns:
{
"id": "<id>",
"application_id": "<appid>",
"version": "<version>",
"default_member_permissions": null,
"type": 1,
"name": "join",
"name_localizations": null,
"description": "Basic command",
"description_localizations": null,
"dm_permission": true,
"contexts": [
0,
1,
2
],
"integration_types": [
0,
1
],
"options": [
{
"type": 3,
"name": "name",
"name...
What do you see when you run the command? You might need to reload Discord with ctrl+r to see the updated data
Description
const JOIN_COMMAND = {
name: 'join',
description: 'User requests to join the community and need to provide his/her profile information',
//type: 1,
options: [
{
type: 3, // STRING
name: 'name',
description: 'Please provide your name',
required: true,
},
{
type: 4, // INTEGER
name: 'age',
description: 'Please provide your age',
required: true,
min_value: 18,
max_value: 90
},
{
typ...
A lot of servers get webhook messages for new issues. Maybe try troubleshooting your code a bit first before you open one
Description
Possible to let user select multiple choices on a single /command?
Steps to Reproduce
Possible to let user select multiple choices on a single /command?
Expected Behavior
Possible to let user select multiple choices on a single /command?
Current Behavior
Only a single selection out of a list of choices presented to the user.
Screenshots/Videos
No response
Client and System Information
Ubuntu 25.04
node v23.11.0
No, it's not possible, but you can use selects to do so.
Depends on the lang/lib you use, the discord docs are at: https://discord.com/developers/docs/components/reference#string-select
If you are using discord.js you can refer to https://discordjs.guide/message-components/select-menus.html#building-string-select-menus
https://discordjs.guide/message-components/select-menus.html#multi-selects
This selects from a range of values. How about a list of strings or dictionary items?
| limit? | integer | Max number of pins to return (2-50) | 50 |
Setting the limit to 1 throws the following:
400 Bad Request (error code: 50035): Invalid Form Body
In limit: int value should be greater than or equal to 2.
probably better to support limits of 1 for consistency
Totally understand the confusion -- broadly speaking, if it's not in the OpenAPI spec, it's a pretty strong indicator it's not something that we want to be publicly referencable (i.e. it might go away in the future, or change).
That being said - quadruple checking with the team who implemented the API to make extra sure, and like I said, if you strongly feel like the API field is useful, please do file an issue!
what's there to say? the scopes are private, that's the expected behavior and there isn't anything that needs to be changed. maybe the scopes will be open at some point, maybe not.
The music apps that want to integrate rich presence into discord have to use the deprecated rpc module, which in turn says "Playing a game" instead of the wanted "Listening to musicAppName"
Last year I added support for listening and watching statuses to RPC, so you don't need these scopes for that if that is y...
что тут можно сказать? области действия являются закрытыми, это ожидаемое поведение, и нет ничего, что нужно менять. возможно, области действия будут открыты в какой-то момент, а может и нет.
Музыкальные приложения, которые хотят интегрировать Rich Presence в Discord, должны использовать устаревший модуль rpc, который, в свою очередь, говорит «Играю в игру» вместо желаемого «Слушаю musicAppName».
В прошлом году я добавил поддержку статусов прослушивания и наблюдения в RPC, так ч...
That is the behavior that is intentionally private currently. You cannot use it, and that is not a bug, it is the current intended situation.
Это поведение, которое в настоящее время намеренно является приватным. Вы не можете его использовать, и это не ошибка, это текущая предполагаемая ситуация.
I think this is extremely unfair. Since this application can use this area: https://discord.com/oauth2/authorize?client_id=503557087041683458&response_type=code&scope=identify+activities.write
This is not the only issue relating to the deletion of messages when banning a user. I can't rely on this feature at all because, even in text channels, some messages simply don't get deleted, even if they fall within the specified timeframe.
@khteh please use this repo for bugs and documentation issues only.
for more general discussions and questions please consult the Discord Developers Server https://discord.com/invite/discord-developers
documentation issues only
Isn't it documentation issue that I raised here!?!
This updates two things:
- To the latest link mappings file for the Social SDK
- Implements a change in the link map generator such that the first matching signature is selected as the link rather than the last. This means that when methods are overloaded, the user is directed to the top of list (the first), rather than the bottom (the last).
Example:
With this update, documentation references https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a91716140c699...
Dependent On:
- #7619
Since I wanted the updated links in this PR. Can be moved out of draft once above has been merged.
Guide for making and managing voice chat when utilising lobbies.
Components are sent as part of a message or interaction response payload, it's not part of the command interaction, but a separate approach altogether; that naming is consistent across the API and docs [^1]. For commands themselves you cannot have multi selections, neither in choices nor in auto complete options. If you want to suggest an API feature, there is also the GitHub discussions section: https://github.com/discord/discord-api-docs/discussions
[^1]: <https://discord.com/develope...
- Makes a new home for a series of specific how-to guides we have coming up for Social SDK
- Handling special characters in Display Names guide
Description
I have a webhook and use it to send a container to a channel. If I fetch the webhook message at a later time and then want to edit it with a new container, nothing happens. I have also tried it once with a normal content and everything works.
Steps to Reproduce
- send a webhook container message
- try to edit the result message with another container
Expected Behavior
The old message should be edited to include the new container.
Current Behavior
That noth...
It almost feels like option #2 is the best one and the easiest fix. Could we order it so it's first?
22486b6 Reorder and drop numbers. Not in ranked order - colinloretz
FYI - super-double-quadruple checked with the team, and yes, this should not be documented at this time 👍🏻
Even just adding selection menus (like the already possible list selections in messages) would be a great step in the right direction. The current system of modals is very clunky, especially when you start needing Text and Selection input/buttons.
It's been over 8 years since this limitation was introduced due to Cassandra fragmentation, and there's still no official purge endpoint. Are there any updates on the promised "proper purge channel" solution? Deleting messages one-by-one is painfully slow and easily hits rate limits, and cloning channels isn't always viable or appropriate. Just hoping for clarity on whether this is still being considered or officially abandoned.
for some reason it only occurred for me when i zoomed out, but i was able to reproduce it. my fix for this just went out a few minutes ago! thank you again for reporting
I mean it’s been 8 years, do you really need an answer to the question “this this abandoned”?
for some reason it only occurred for me when i zoomed out, but i was able to reproduce it. my fix for this just went out a few minutes ago! thank you again for reporting
Thanks! I still see the pictures with different sizes in my server from messages that were just created. Is it still not in production?
I am requesting a feature that would allow for Discord to display what a user is listening to on their profile through Youtube Music, identically to this same implementation with Spotify. I understand if this is not possible because of Youtube terms of service or something similar, this is nothing more than an average flippant request.
Officially, general client suggestions like this should be posted and/or upvoted on Discord's Feedback Site.
This GitHub repository is more for API & Apps (Bots/Activities) & SDK related suggestions.
hmmm. did you restart your client to get the latest changes? the issue is no longer present for me with the given payloads:
<img width="348" alt="Image" src="https://github.com/user-attachments/assets/4f214023-bd20-4b89-bd7b-54922db8ace1" />
@foxfirecodes yeah, I am on:
stable 410706 (4719017) Host 1.0.9196 x64 (65020) Build Override: N/A Windows 11 64-bit (10.0.26100)
Is this latest?
I think it fixed for that specific picture, but not all the cases:
m.media-amazon.com/images/I/314zzgcLwaL.SL500.jpg?format=webp
m.media-amazon.com/images/I/41LXxnpl0bL.SL500.jpg?format=webp
m.media-amazon.com/images/I/51Li3nY7RyL.SL500.jpg?format=we...
Officially, general client suggestions like this should be posted and/or upvoted on Discord's Feedback Site.
This GitHub repository is more for API & Apps (Bots/Activities) & SDK related suggestions.
+1, this bothers me more than it probably should
The package contains methods to integrate fully secured endpoints to ASP.NET for handling discord webhooks. Users are able to add handling of those webhooks by adding one or two lines of code to their code.
app.AddDiscordHttpInteractions();
and
app.AddDiscordWebhookEvents();
The libray is a small addition to DSharpPlus to make using webhooks securely easy for users. Methods for validating webhook signatures are included in the main DSharpPlus package which is also already in the ...
Could you post your request and response here? They are helpful for debugging
When I request Discord directly, I do this via Partch: /webhooks/{webhook.id}/{webhook.token}/messages/{message.id}. There I have sent this body.
{
"type": 0,
"content": "",
"mentions": [],
"mention_roles": [],
"attachments": [],
"embeds": [],
"timestamp": "2025-06-18T06:48:03.316000+00:00",
"edited_timestamp": null,
"flags": 32768,
"components": [
{
"type": 17,
"id": 1,
"accent_color": null,
"components": [
{
"type": 10...
When I request Discord directly, I do this via
Partch: /webhooks/{webhook.id}/{webhook.token}/messages/{message.id}. There I have sent this body.{ "type": 0, "content": "", "mentions": [], "mention_roles": [], "attachments": [], "embeds": [], "timestamp": "2025-06-18T06:48:03.316000+00:00", "edited_timestamp": null, "flags": 32768, "components": [ { "type": 17, "id": 1, "accent_color": null, "compone...
Whelp! We let this one languish way too long. Our apologies.
Would you mind fixing up the merge conflicts, and we can get this in?
We're in the process of redoing the guidelines (and content!) for this community page as we speak, but this looks like a mature enough library that it's a good addition.
Thanks! 👍🏻
8f8f1d7 Add BotForge tools to Community Resources (#7612) - Berk404
Thanks for the contribution! We're in the process of redoing the guidelines (and content!) for this community page as we speak, but this looks like a mature enough library that it's a good addition.
Thanks! 👍🏻
79bfea3 Add DSharpPlus.Http.AspNetCore to libraries for... - Plerx2493
For this I suggest submitting an issue since we would likely want the endpoint to be able to return one pin.
8c0dda7 Update links - anthonydiscord
404b074 Document new pin endpoints (#7585) - RedDaedalus
Description
Hi, I encountered an error that I wanted to report so you can fix.
When I purchase Server Boost packages for some reason, it only shows me that I've received one Boost.
This error has been happening for a month, so it's not the Boost Recovery issue. Thanks for reading, and I hope you fix this.
Steps to Reproduce
1
Expected Behavior
2
Current Behavior
3
Screenshots/Videos
4
Client and System Information
5
This repo is only for API and bot related issues, for Discord support go to https://dis.gd/support
So... this pull request has merged immaturely?
Hey @markmandel !
My library (hikari) opened a pull request like this one a while ago and was closed due to it already being listed in the libraries section (https://github.com/discord/discord-api-docs/pull/5329)
Would it be fine under the new guideline to add it then?
🛠️ Proposed change
Added documentation to cover the case of an undocumented embedded field in the Client Status object.
🧪 Justification
Observed in payloads for some customers, although not mentioned in official documentation. This field may appear alongside desktop / mobile / web.
📎 Links
- Current documentation](https://discord.com/developers/docs/events/gateway-events#client-status-object)
- Observed on
presence.client_statusfield
I wasn’t able to provide a description for this field because I don’t know what its purpose is
| embedded? | string | User's status set for an active embedded (Xbox, PlayStation, in-game) application session |
That field initially meant console's status, but if you connected through new social SDK embedded key will be set too
When I request Discord directly, I do this via
Partch: /webhooks/{webhook.id}/{webhook.token}/messages/{message.id}. There I have sent this body.{ "type": 0, "content": "", "mentions": [], "mention_roles": [], "attachments": [], "embeds": [], "timestamp": "2025-06-18T06:48:03.316000+00:00", "edited_timestamp": null, "flags": 32768, "components": [ { "type": 17, "id": 1, "accent...
Update: setting the limit 1 works as it should now.
yup, they still didnt solve it
You can set spoiler: true on media gallery items, file components, and container components. This lets bots spoiler these images in a more precise way.
Description
When editing an embed description to 4096 Japanese characters it gives a DiscordServerError: 500 Internal Server Error.
It works correctly when given 4096 English characters.
This is clearly a bug because the documentation says the limit is 4096 characters, and when the character limit is exceeded (e.g. with 4097 Japanese characters) it correctly gives a HTTPException 400 Bad Request.
Steps to Reproduce
...
Looks like this happens when using >3383 characters too, not only 4096
Adds documentation for this [change](#api-announcements message) from 2021 which somehow never made it to the docs
Some bump on this as the is an ongoing issue of the same topic. The solution had been fine in past years, but has since become more restricted over years:
- In 2022 (#5279), it was stated that the external emoji permission was changed to follow the everyone permission, bots were able to bypass the everyone permission to use emojis by using edit original response endpoint.
- During 2023 and 2024 (#5357), bots may use defer reply or edit follow-up that utilizes webhook to grant the external e...
Any update on when this is going to get merged?
Will be taking a look at it this week now that it's released!
fea0c77 Get Pins has no after param - advaith1
This endpoint only has before and limit, since scrolling down fetches older pins (before a certain timestamp). looks like this was incorrectly added to the docs in https://github.com/discord/discord-api-docs/pull/7585/commits/8c0dda785a90c1fa32cc59d21eca7d7e5861ef2d
8ef0380 Get Pins has no after param (#7630) - advaith1
I let the team know about the issue, thanks for digging into it!
this pr fixes the broken table on receiving-and-responding interaction callback data
82f3d7b Update tag docs with new terminology. - kirbycool
7443093 Add nullable fields - kirbycool
Thanks for this! I was also wondering about this, so I went and asked the eng team, because it's complicated apparently!
This is what I heard back (and I merged together into something a bit more actionable).
This change is correct but could be more explicit. I'd suggest reframing the documentation to better clarify the default behavior and scope.
Missing Context on Default Behavior:
We could make the documentation clearly explain that default allowed_mentions behavio...
f6149c3 remove ? for optional - Rodentman87
thank you for reporting this! i've shipped a fix to identify CV2 messages with links in text components as having links, so has:link should work as expected for new messages going forward (its too expensive to reindex old messages and not worth it for something this trivial).
i've also merged a fix for the display of the suppressed notifications icon. you can expect to see that in the next mobile app release, you can expect that within the next week.
| identity_enabled | ?boolean | whether the user is displaying the primary guild's server tag |
identity_enabled is nullable as well
087c544 Guide: Managing Voice Chat (#7620) - markmandel
our standard format would be making the type column ?[user primary guild](link) object and not linking to the object in the description - see the avatar_decoration_data and collectibles objects in https://discord.com/developers/docs/resources/user#user-object-user-structure
looks like those fields don't show in this PR since its old (needs to be updated to fix conflicts)
So long, and still nothing done 😔
0c650b7 Bump @types/node from 20.12.12 to 24.0.3 - dependabot[bot]
fddaf3b Bump eslint-config-prettier from 9.1.0 to 10.1.5 - dependabot[bot]
turns out the holographic role colors are validated. this needs to be documented
@maanex I think this was fixed in the components v2 launch, are you still having this issue?
@advaith1 yes, this was indeed fixed just before the launch :D https://discord.com/channels/1317206872763404478/1363614470600921280
okay, I just commited more changes based on your response
It's been a long while and I have finally updated the discussion post again!
Here is a list of notable changes:
- Rewrote the example codes so they can be compatible with components v2
- Added a note for the components that are only deployed as a message component yet (such as Text Displays)
- Updated information and example code for Text Display Component since it is already out as a message component
I've recently become an admin of a Discord server and JUST ran into this issue. I'd like to add that the inability to delete system notices from threads also applies to pinned message notifications. Very annoying...
that’s not true, the pinned message system message is deletable
[discord-api-docs] Branch clans/user-documentation was force-pushed to `eb40fbc`
[discord-api-docs] Branch clans/user-documentation was force-pushed to `96a6b93`
@advaith1 I rebased this on main
| primary_guild? | ?[user primary guild](/docs/resources/user#user-object-user-primary-guild) object | the user's primary guild | identify |
not seeing a metadata field in events, the label seems to just be sent in the existing details field?
{
"status": "online",
"processed_at_timestamp": 1750801425901,
"guild_id": "1134425783864143942",
"client_status": {
"desktop": "online"
},
"activities": [
{
"type": 4,
"state": "testing",
"session_id": "b201d02f8e879cd23b056c71a2f3e512",
"name": "Custom Status",
"id": "custom",
"details": "question",
"cr...
I'm receiving this payload on the client somehow.
{
"status": "idle",
"since": 0,
"activities": [
{
"name": "Custom Status",
"type": 4,
"state": "OwO",
"emoji": null,
"details": "question",
"metadata": {
"label": "question"
}
}
],
"afk": false
}
But the details field is also populated.
label in metadata is send only and never replicated. The details field is what gets formatted by the client.
Updated contact link for Global Rate Limits to: https://dis.gd/rate-limit
Now goes directly to Developer Support team
ab1429f Updated contact link for Global Rate Limits to:... - mel-work
yeah that provided payload has afk and since so it's a send payload - this is not a received field and it's an implementation detail that we don't want to document.
talked to the team working on this feature, closing this out
When sending `tertiary_color` the API enforces the role color to be a holographic style with values of:
`primary_color = 11127295`, `secondary_color = 16759788`, and `tertiary_color = 16761760`.
| colors | [role colors](/docs/topics/permissions#role-colors-object) object | the role's colors |
| primary_color | integer | the primary color for the role |
| secondary_color | ?integer | the secondary color for the role, this will make the role a gradient between the other provided colors |
| tertiary_color | ?integer | the tertiary color for the role, this will turn the gradient into a holographic style |
| color* | integer | RGB color value |
I'd update this to have a disclaimer below
*color will continue to be returned but with our gradient roles it is recommended to use colors for requests. primary_color will contain what color does even ...
| color* | integer | integer representation of hexadecimal color code |
I'd update this to have a disclaimer below
*color will continue to be returned but with our gradient roles it is recommended to use colors for requests. primary_color will contain what `color...
I really like this change to the numbers not being so close 👍🏻
fixed, limit=1 works now
Discord stickers currently support this type of file.
I think it would be a good idea to add support for animated PNG files in Discord messages and apps. Animated PNGs (.apng) have higher quality than GIFs because they support more colors.
I propose adding a new Boolean option to the CHAT_INPUT Application Command Options.
- This option would be called, for example, "multipleAnswers?"
- This option would be available for USER, CHANNEL, ROLE, MENTIONABLE, and ATTACHMENT options.
This option would allow multiple answers to be added in a single option. Some examples could be:
- A /lock command that allows multiple channels to be selected at once.
- A /roleadd command that allows multiple roles to be assigned to ...
If Discord does not want bots relying on the name field, what does Discord suggest that bots should rely on instead for determining which command the "Message Component Interaction" is associated with?
Description
In a private messages conversation, when communicating with someone that hasn't sent any message in the channel, Discord can show a captcha to prevent spammers from annoying people by sending messages or using commands. That's understandable, except for auto-complete (and modal) interactions that doesn't send anything to the other user.
On mobile, it makes auto-complete interactions unusable. I'm scared that Discord will flag me as a spammer.
(In this case, I wanted to make m...
thank you for reporting! both of these issues are now fixed in canary and should hit stable tomorrow.
https://github.com/user-attachments/assets/5ed05ffe-8a79-46c8-8694-a4f0077c69b3
https://github.com/user-attachments/assets/7b39fcb5-bf34-4f89-96e8-40668a3abff3
oh no, markdown formatting issue! 😱
1 files contain markdown tables to format:
- docs/resources/message.mdx
If you run npm run fix:tables in the project root, it should format all your tables appropriately, and we should be good to go.
fb0f191 Bump eslint-config-prettier from 9.1.0 to 10.1.... - dependabot[bot]
7ae5d09 Bump esbuild and tsx - dependabot[bot]
Bumps esbuild to 0.25.5 and updates ancestor dependency tsx. These dependencies need to be updated together.
Updates esbuild from 0.20.2 to 0.25.5
Release notes
Sourced from esbuild's releases.
v0.25.5
Fix a regression with browser in package.json (#4187)
The fix to #4144 in version 0.25.3 introduced a regression that caused browser overrides specified in package.json to fail to override relative path names tha...
[discord-api-docs] Branch dependabot/npm_and_yarn/types/node-24.0.3 was force-pushed to `0a09716`
Rather than make an info box, let's add ? suffixes to each field, as per: https://discord.com/developers/docs/reference#nullable-and-optional-resource-fields
So we're consistent with the rest of our docs 👍🏻
| colors | [role colors](/docs/topics/permissions#role-colors-object) object | the role's colors | [default role colors object](/docs/topics/permissions#default-role-colors-object) |
Just realized this spot could also use the disclaimer too:
| color* | integer | RGB color value | 0 |
* color will still be returned by the API, but using the colors field is recommended when doing requests.
this info box is quite common fwiw, esp for PATCH endpoints
Description
I know for sure it was working before.
Problem may have occured after I updated Discord client (but I'm not 100% sure)
All the buttons get cropped, almost like the entire embed has set max-width to specific size and the Content block has min-width fixed, forcing the button to go outside the container.
Steps to Reproduce
Send component with long text and accessory button.
Expected Behavior
buttons should have margin-right the same as on the left side of the cont...
Make sure to run npm run test:links to figure out which links aren't formatted properly and then npm run fix:tables when you're done to auto format the tables
I really do think the behaviour of this being None meaning a new identity hasn't been affirmed should be documented. It is very unclear otherwise.
How delightfully inconsistent 😁
@advaith1 unsurprisingly - you are not wrong. In which case - lemme do a check to make sure it previews connectly, and then I'll approve!
Not sure what the asterisk is doing here, as this does not support GIFs, and the asterisk isn't present in the icon routes for example. Just to improve clarity.
Let me know if that covers it better @advaith1
Added our Figma community resource for Friend's Lists to the Unified Friends List design guidelines.
Let's see how much people like it!
For fun, here is a preview!
Description
When a bot deletes a webhook the audit log entry (action_type 52), the user_id field returns null. This does not happen when a user deletes a webhook.
Steps to Reproduce
- Create the webhook (manually or via curl)
curl --request POST \
--url https://discord.com/api/v10/channels/{channel_id}/webhooks \
--header 'authorization: Bot {token}' \
--header 'content-type: application/json' \
--data '{"name":"Captain Hook"}'
- Delete t...
Make sure to run
npm run test:linksto figure out which links aren't formatted properly and thennpm run fix:tableswhen you're done to auto format the tables
Done
+1 for this, it would be awesome to be able to reward players properly for helping the server with boosts. With the new boost perks it became even more interesting.
Amazing!! Thanks again for the in depth contribution!
be4846c Document role gradient colors (#7549) - DA-344
a single space on each line caused this haha, should be fixed now though!
99140d7 mark onboarding parameters as optional (#7636) - Droid00000
In **interactions** and **webhooks**, only user mentions are parsed, which corresponds to the following:
In **regular messages**, all mention types are parsed, which is equivalent to sending the following data:
are codeblocks supposed to render with two tones of black?
are codeblocks supposed to render with two tones of black?
Yeah, they've been doing that lately. Something got updated - at some point we'll go find out what it was.
16e0558 Add caveat for allowed_mentions in interactions... - AlmostSuspense
Description
Members who join a guild voice channel via a guest invite have joined_at set to null, which is either a bug or a silent breaking changem as it goes against what's documented for the Guild Member Object.
First mention of this (or an extremely similar) issue seem to be #3152, then it was mentioned in this pr
Steps to R...
Also have this issue since like yesterday? i think.
Very new.
before:
now:
I believe these issues have been fixed, can you try reloading Discord?
Includes updated social-sdk-mappings.json as well.
Preview
The user never joined the server, so he doesn't have a joined_at value. That seems intentional to me.
Description
Hello !
Discord status since to have an issue, I just restart my discord app and see that a lof of discord bot have missing status displayed in member list. I think there is a issue on ur side
Steps to Reproduce
- Openn app
- Go to member list
- Search a bot
Expected Behavior
Activities show undername (watching/playing etc)
Current Behavior
Activities not showing for some bot under there names
Screenshots/Videos
 - markmandel
[discord/discord-api-docs] Issue opened: #7648 Component v2 being sendable when forwarding a message
Description
When you forward a message, you are able to send components v2 and api doesn't return any errors.
It doesn't render on mobile, but it does on desktop clients
Steps to Reproduce
- Make a POST request with
message_referencealong withcomponentsand providingIS_COMPONENTS_V2flag
curl -X POST "https://discord.com/api/v10/channels/{channel_id}/messages" \
-H "Authorization: Bot {token}" \
-H "Content-Type: application/json" \
-d '{
"message_reference...
Description
"May contain sensitive content" is being displayed on secondary images inside discord mobile app for all embeds.
Steps to Reproduce
1 - Create an embed with two images inside the embed
2 - On discord mobile app, click on one image
3- Swipe to the second image
4- It will display "May contain sensitive content" even when it shouldn't
Expected Behavior
I expect "May contain sensitive content" to only display on sensitive content images.
Current Behavior
"M...
This has already been fixed in version 286 which will release to stable in the coming week.
Does Discord want bots to store the interaction ID and match it when subsequent messages are sent? That is a stateful option, but I would prefer the stateless option of just parsing the name field.
Though, I suppose that a hidden component ID could work also...
https://github.com/daveshanley/vacuum
The 28 errors might not be fixable...
% vacuum lint -d api.yaml | grep error
..
api.yaml:2342:3 | error | paths are ambiguous with one another: `/guilds/templates/{code}` and `/guilds/{guild_id}/audit-logs` | no-ambiguous-paths | Operations | $.paths['/guilds/{guild_id}/audit-logs']
api.yaml:2515:3 | error | paths are ambigu...
For anyone who may stumble upon this as it seems like this thread ranks highly in search engines:
As of the time of writing this, you cannot receive user signals via the API.
The issue is that joined_at is not marked as nullable. This may break some apps.
For anyone who may stumble upon this as it seems like this thread ranks highly in search engines: As of the time of writing this, you cannot receive user signals via the API.
Fwiw, three out of four all of these signals have been in the public API for some time.
- "Timed Out" is the
communication_disabled_untilflag in the Guild Member object (API Docs link) - "Unusual Account Activity", I believe, is t...
For anyone who may stumble upon this as it seems like this thread ranks highly in search engines: As of the time of writing this, you cannot receive user signals via the API.
Fwiw, ~three out of four~ all of these signals have been in the public API for some time.
- "Timed Out" is the
communication_disabled_untilflag in the Guild Member object (API Docs link)- "Unusual Account Activity", _I beli...
- "Unusual Account Activity", I believe, is the
SPAMMER(1 << 20) Flag in the User object'sflags/public_flagsfield. (Could be wrong since this one is based on my observation. This flag is not officially documented though)
Pretty sure it is officially undocumented, see https://github.com/discord/discord-api-docs/pull/3961#issuecomment-944786710
Good to know. I'm also interested in programmatically getting the Members tab info that says if the member joined through Server Discovery or a invite link.
I think it's useful as another signal to curb spam, as many of these fraudsters doing commissions join through there.
Currently, there is no OAuth2 scope that allows apps to access/list applications accessible by the authorizing user.
It would be really helpful to add support for that instead of having to rely on undocumented endpoints and asking users to enter an app ID, mostly to verify ownership of an app.
I know https://github.com/discord/discord-api-docs/discussions/6646 exists, but its specific to verifying ownership rather than listing.
https://ratemyopenapi.com/report/bb4a92c5-d34c-4390-b22f-bdd4616743ba is a report covering many of these warnings.
@onihilist @PitchiMC @Sashannel What exactly do you mean by not working?
@turkerwtf For me each time i'm login on the developer portal, the page just refresh and told me to login again, indefinitly.
@onihilist Can you post a video about it here?
Answering myself, the Members tab seems to use the undocumented https://discord.com/api/v9/guilds/:guild/members-search API.
More info here: https://github.com/discord/discord-api-docs/issues/6781 (a common complaint seems to be that it's slow to show new members, a bit of a shame to enforce a stronger verification for people coming from Server Discovery, which is a spammer magnet), https://github.com/discord/discord-api-spec/issues/34.
Each returned object has the following fields:
...
3bd60ee feat(invite): Guest invites (#6247) - elenakrittik
merged pr #6247 so the docs are now correct. this is unfortunately a breaking change, but this has been live for years and app functionality relies on it, so nothing we can do about that now other than correcting the docs.
Looks good. Will preview, make sure there are no rendering issues, and if none, merge 👍🏻
Devs keep running into the issue that they aren't aware that to use communication features, they need to enable communication OAuth scopes (mainly because we're not explicit about it anywhere).
This aims to fix this! This PR includes:
- Reorganize core concepts page to prioritize OAuth scopes
- Add implementation details to OAuth guide
- Add warnings to guides using Communications features about scope requirements
that you can use when setting up your OAuth2 flow, for integrations that only need the above functionality.
Not sure which is grammatically correct but I think this reads better
The communications features are currently available but have limited access. Those features **require** the scope
I think this reads a little better
8e93a93 Social SDK: Add OAuth Communications Scope warn... - markmandel
Description
Strings with specific case in the text input label field have their case ignored and changed to Title Case
Steps to Reproduce
- Reply to an interaction with a modal that has text inputs named with normal case (eg "Describe your issue")
Expected Behavior
The label should keep the provided case
Current Behavior
The case is overwritten to Title Case (in the previous example: Describe Your Issue)
Screenshots/Videos
This is how the modal looks like when...
The problem with storing the interaction ID is that you're unable to detect the name of commands from other bots. This is a must-have for transcript systems.
1520a81 add unusual_dm_activity_until to member objec... - ManHatos
64a2eb6 Bump @types/node from 20.12.12 to 24.0.8 (#7654) - dependabot[bot]
The guild member object's unusual_dm_activity_until property is now documented. https://github.com/discord/discord-api-docs/pull/7650
6faeb15 Update badge path and add null identity_enabled... - kirbycool
96e17b6 Clarify null case - kirbycool
5b010b7 Update guild tag badge name - kirbycool
thanks for reporting! this is now fixed in the latest version
https://github.com/user-attachments/assets/31fea27f-1571-4681-9a5d-5277db646a18
Hey folks - apologies on this one, my fault - hold off one second. I searched the wrong field when I went to check this out 🤦🏻 so I may have to roll this back. Double checking that this is actually good to be used.
This reverts commit 1520a812cdfebc74098e1e73aa79344be16af9b0.
Apolgies folks - I looked up the wrong attribute on the PR. Rolling back while we work out if this should be enabled as public or not (looks unlikely tbh). Totally my fault for not looking properly.
The version of the docs platform will make these issues far less of a problem (or 🤞🏻 get rid of them entirely).
Apologies for the run around - rolling this back in #7656.
Apologies folks - rolling https://github.com/discord/discord-api-docs/pull/7650 back - I read the wrong attribute on the PR 🤦🏻
5d2eb03 Revert "add unusual_dm_activity_until to memb... - markmandel
Description
If you try to update someone elses message (which 9/10 its accidental), while also providing CV2, you get the wrong error message
Steps to Reproduce
curl -X PATCH -H "Authorization: Bot you-wish" -H "Content-Type: application/json" -d '{"components": [{"type": 17,"accent_color": 5793266,"components": [{"type": 10,"content": "::33"}]}],"flags": 32768}' https://canary.discord.com/api/v10/channels/868830230503100426/messages/1389750749797552168
Expected Behavior
...
Adds a section to the Managing Lobbies documentation covering how to use Client::GetLobbyMessagesWithLimit to get a lobby's chat history.
The plan has always been to allow bots to use the search API, with a pretty high rate limit, and no message context, however this has always been considered a really low priority task, relative to other things the team and myself are working on. However, if you’re interested, replying to this issue with your specific use case and thumbs upping this comment will help me make a case for prioritizing this internally.
Hello, @jhgg! It’s been close to 7 years, and there have been over a hundr...
Why are you asking him? He’s just a contractor.
Why are you asking him? He’s just a contractor.
You make good point Broman. I only ask him because he was the one who originally commented with some info about this feature and when it could add. Do you know who I could ask about feature and when it will come to the API?
Please keep this discussion for productive comments like use cases, rather than bumps. It isn't necessary to ask individual devs about this. You can show support by upvoting the discussion if you haven't already.
Please keep this discussion for productive comments like use cases, rather than bumps. It isn't necessary to ask individual devs about this. You can show support by upvoting the discussion if you haven't already.
Ok thank you for info. I will follow this. Sorry for all trouble caused!
@onihilist Can you post a video about it here?
Yea i guess i can no problem
Please make a new issue with new information, as this one is very old
Ok i will make that soon
Following the instructions provided, I'm unable to reproduce this issue. Do you have any more details about the way in which the app is installed to the server, what permissions it has, etc. that might help with reproducing this?
Note: Should take this live with the updates to the lobby chat history documentation as well.
e892f6c Social SDK: Getting Lobby Chat History (#7659) - markmandel
yeah, we really need this. would be a great internal to add now after the new guild boost perks have fully rolled out !!
cbbd76c Social SDK: Chat History Design Guide (#7660) - markmandel
f269a0e New message formatting (emails and phone number... - ManHatos
This adds the deprecated field to color on guild roles and the changelog for both gradient roles and guild tags now that they've been released!
Apologies, the original instructions I provided missed a tiny detail.
When deleting a webhook, the url that causes the "bug" is actually https://discord.com/api/v10/webhooks/{webhook_id}/{webhook_token}.
Looking at the API documentation, that seems like it might be an intended behavior? even when providing authentication?
That is intended behavior, that endpoint doesn't actually check authentication.
Well, this was a waste of everyone's time. Apologies
We've documented gradient role colors and guild tags in the API. Guild tags let users rep their favourite server with a 1-4 character badge next to their display name. They can be accessed using the `primary_guild` field in the user object. Servers can now give gradient colors to their roles instead of a single, solid color. Gradient colors now use the new `colors` field inside the guild object. As part of this change, the `color` field on roles is now deprecated, but it will s...
- Guild tags can be retrieved through the `primary_guild` field on the user object.
Description
After changing the server tag, the server ID of the tag will still appear at /users/:id of the person who previously used the tag
Steps to Reproduce
- Enable the server tag.
- Get the server tag from an account.
- Change the server tag in settings.
- Check the
primary_guildvalue of a person by sending aGET /users/:idrequest
Expected Behavior
If the tag is removed from everyone's profile when it is changed, the server ID should also be updated in the AP...
Description
When going to the teams page, the description at the top states every team member has admin privileges, however this isn't true anymore since Team Roles were released back in 2023.
Steps to Reproduce
- Head to https://discord.com/developers/teams
- Notice the following statement
"Each team member has admin privileges for anything owned by that team"
Expec...
98c219d Update docs/change-log/2025-07-02-gradient-role... - anthonydiscord
3c0d0cd Update docs/change-log/2025-07-02-gradient-role... - anthonydiscord
We've documented gradient role colors and guild tags in the API. Guild tags let users rep their favorite server with a 1-4 character badge next to their display name. They can be accessed using the `primary_guild` field on the user object. Servers can now give gradient colors to their roles instead of a single, solid color. Gradient colors use the new `colors` field on the guild object. As part of this change, the `color` field on roles is now deprecated, but it will still work...
ff3fddc Update docs/change-log/2025-07-02-gradient-role... - anthonydiscord
We've documented gradient role colors and guild tags in the API. Guild tags let users rep their favorite server with a 1-4 character badge next to their display name. They can be accessed using the `primary_guild` field on the user object. Servers can now give gradient colors to their roles instead of a single, solid color. Gradient colors use the new `colors` field on the role object. As part of this change, the `color` field on roles is now deprecated, but it will still work ...
75807fe Update docs/change-log/2025-07-02-gradient-role... - anthonydiscord