#github-notifications
1 messages ยท Page 15 of 1
Preview:
Everyone happy with this? ๐
b46279c Changelog for Gradient Roles and Guild Tags (#7... - anthonydiscord
Since color on role objects is deprecated the remark should reference the colors property now.
It would be helpful to have an api endpoint that can be queried to check whether or not a given user has passed verification level on a given Guild. The use case here is we would like to have a bot that automatically adds a role to everyone that joins the server, however, if we do this at join, it bypasses the verification level set on the server. Instead we'd like to be able to add a role to a user only once they have passed the verification level.
Have you tried checking pending field on the member object?
In guilds with Membership Screening enabled, when a member joins, Guild Member Add will be emitted but they will initially be restricted from doing any actions in the guild, and pending will be true in the member object. When the member completes the screening, [Guild Member Upd...
Does this indicate there might be some actual implementation of some of these from Discord soon???
Does this indicate there might be some actual implementation of some of these from Discord soon???
Yes, pretty much, thanks to advaith.
Tweet link
Just make a copy...do this please!
Bumping to keep relevant. This would be a great feature to have, seeing as video is supported.
Description
Attempts to send a message to a specific user's DMs will result in a 50001 Missing Access even when retried. Restarting the bot resolves the issue, the exact same message will correctly send to the exact same user. This happens to seemingly random users, but does happen consistently. It's rather annoying that I need to restart my bot constantly to allow it to function correctly.
Steps to Reproduce
I can consistently reproduce this with my bot, and am more than happy...
For now I have my bot restart itself whenever a 50001 is received so it can function as intended, but that is VERY much so not ideal and I would want a proper fix ASAP.
Description
Hello I have few suggestion for forwarding:
Sry if wrong place
- Let us see emojis after typing : in text bar (when forwarding)
- Change the actual system to let us send a comment with the forwarding message in a channel with coooldown
Steps to Reproduce
- Type : in comment field on forwarding cf pic1
- Try sending a forward msg into a channel cd cf pic2
Expected Behavior
Seeing the emojis
And send in one msg the forwarded content and the ยซย comment/explicat...
neither of these are bugs (certainly not api bugs), they are product limitations that were intentionally decided due to tradeoffs.
This sounds like more of an issue with your code/library then an issue with the API.
Are you sure the channel id is the same in those cases? You should add some logging to check.
This sounds like more of an issue with your code/library then an issue with the API.
As stated in my original post, I'm using discord.js which is quite popular. I'm fetching the user via client.users.fetch() and sending the DM with user.send(). so I'm not sure what issues could be caused by that?
Are you sure the channel id is ...
The channel ID is already in my logs that I included in the original post. What would cause the channel ID to be different in those cases?
Your logs show only the channel ID that errors out. What Darker-Ink likely wanted to check if does successful requests are using the same channel ID.
The API has no notion of "the bot has restarted", so the only way that what you explained makes sense is that a bad channel ID got cached (which may be a bug of discord.js, or something in your code that ...
Your logs show only the channel ID that errors out. What Darker-Ink likely wanted to check if does successful requests are using the same channel ID.
Ahhh my bad, I wasn't aware that the channel ID could change in the first place. It seems like discord.js caches the first channel ID and never checks for a change. I never mutate the cached object (be it user or chan...
Description
When trying to debug site embed metadata for certain domains, an internal error occurs.
This only started happening recently (last ~2 weeks) from what I noticed.
Steps to Reproduce
Go to https://discord.com/developers/embeds and enter any .team domain. An internal error is shown.
Embeds are not displayed in the Discord app either.
Monitoring HTTP requests shows a 200 OK response:
{"context_errors":[],"error":"Internal error"}
Expected Behavior
Embeds ar...
Description
The embed debugger at https://discord.com/developers/embeds does not clearly express what went wrong.
Most errors returned are internal errors without any clarification.
Steps to Reproduce
Debug https://discord.com/developers/embeds with any invalid domain and sometimes valid ones (quite random).
Most of the times internal errors are shown with no description.
Expected Behavior
Network errors, non-existent websites, etc. display clear messages.
Current Behavi...
Serverless functions (eg Next) usually exit as soon as you return, so there's no way to "defer" and "keep going." Unless you spin up a second non-serverless thing that keeps running past the 3 seconds...
They can add a scrollbar to just the table box itself.
They could add a scrollbar inside the table widget itself, though.
They could add a scrollbar inside the table widget itself, though.
This would not work on mobile as both right and left swipe have actions associated with them already.
@dragonkhoi Even if you receive interactions through HTTP, you can defer by making a request to /callback. In this case, reply to Discord with a 204 No Content once you have finished, instead of the standard interaction response.
๐ค should it be both? colour isn't going away (even though it's deprecated), so shouldn't we document this for both values?
No. If I were a new developer, I want to see the current state of the API, not the past and mentions of deprecated behaviour.
Updates to show how to use the new token revocation functions for public clients in the Account Linking with Discord documentation.
The flip side of which is - if I'm a developer still using the deprecated API, I still want to know what's going on. I may not migrate to the new API for a while.
We might want two sentence though - it should still be clear that color is deprecated.
Maybe something like:
Roles without colors (`colors.primary_color == 0`) do not count towards the final computed color in the user list. If you are using the deprecated `color` property, it also acts in the same way.
Or som...
e50754d [activities] remove note about persisten instan... - afgiel
[discord-api-docs] Branch afgiel/no-persistent-instances was force-pushed to `7b8479b`
Exactly. The workaround is limited in its applicability to linking to a site where you can provide the content yourself. It doesn't help with linking to third-party sites that provide audio clip previews with OpenGraph tags. This support request is still relevant to our own Discord community as well as many with adjacent interests. Furthermore, if such support were present in Discord today, it could encourage more use of those OpenGraph tags just so they'll be previewed on Discord, driving up...
This support request is still relevant to our own Discord community as well as many with adjacent interests. I propose that if such support were present in Discord today, it could very well encourage more use of those OpenGraph tags by sites providing audio content just so they'll be previewed on Discord. That, in turn, would drive up the value of the feature after delivery.
ff36a7f Social SDK: Revoking Tokens (#7670) - markmandel
I agree we want to know that a field is deprecated (at least until a new API version removes it).
However, the table above already conveys this information clearly, and IMO, footnotes should be kept light and use only the new field.
38de5be [activities] remove note about persistent insta... - afgiel
I've just stumbled across this issue. I can't feasibly see why Discord out of all social platforms applies this method. I actually have a OG proxy because my website is a SPA and I don't want to do SSG or SSR. So have a Cloudflare worker which detects bots and redirects them to an express server which in returns just calls my database and returns basic html with og tags. Discord is the only one not working due to the user agent not being "correct". How annoying...
So apparently that is the general guide for these docs ๐๐ป I stand corrected.
In which case, let's take this live! ๐
Updates to show how to use the new unmerge helper functions for public clients in the Provisional Account documentation.
Bump... We still need this.
It's disappointing that this is unlikely to be made public.
A large portion of our bans relate to unsolicited DMs, usually scammers, and we currently have to rely on people letting us know so we can protect our other users.
Yet another important piece of data we're not allowed to use to at least make a small part of Discord a semi-safe space.
This will most likely cause many false flags. I don't think you should be banning people based on this; it's not fool-proof nor fully accurate.
I agree, this is also something I've struggled with that has an easy solution.
I agree that in isolation it shouldn't be used to ban. No doubt that's why they're called "signals" in the UI.
But when used in combination with other metrics such as:
- activity in the server
- join date on discord + server
- username + display name
- bio/status/pronouns (blank, certain keywords, impersonation. Alas, also unavailable to bots.)
Then there's high confidence in removing someone, or at least flagging them to the mods for manual removal.
Could we get this data by jus...
Well, this is very disappointing. Cloudflare Workers is the perfect developer platform to build Discord bots with. Any chance of re-visiting this decision?
It's equivalent to blocking AWS or any other cloud provider.
Yeah this is super disappointing. I can slightly understand the PoV of Workers being used a lot for bot attacks, etc and Discord wanting to mitigate that. But outright just banning all Workers egress IP's so Workers cannot be used all is overkill. Surely there is a middle ground of working with Cloudflare on this?
Please @lmle can this be discussed more? It's been 2 years and is this is still really necessary?
This would not work on mobile as both right and left swipe have actions associated with them already.
Aren't the actions context dependant? Like, it's different to swipe left or right in different areas of the screen.
this field is exposed in the bot API, but is undocumented and so usage is not recommended
Yeah this is super disappointing. I can slightly understand the PoV of Workers being used a lot for bot attacks, etc and Discord wanting to mitigate that. But outright just banning all Workers egress IP's so Workers cannot be used all is overkill. Surely there is a middle ground of working with Cloudflare on this?
Please @lmle can this be discussed more? It's been 2 years and is this is still really necessary?
What I saw in other discussions elsewhere (I don't remember where) is that ...
@apacheli Apologies for the ping, but I know that messages on closed issues tend to get lost.
Two notes:
- Does it make sense to keep closing these issues and locking them when there is obviously community interest in the functionality and the request is being made again in new tickets once the prior is closed/locked? Leaving one thread open might be helpful in limiting discussion on the subject to one place.
- There is a real business case to be made for Discord supporting IPv6.
A n...
Description
Putting an emoji in the text of a masked link causes the entire link to not be parsed, but only in Components V2 components.
Steps to Reproduce
- Put an emoji in a masked link in a Components V2 component (either unicode or custom)
- Observe
Expected Behavior
The link works and the emoji is rendered
Current Behavior
The link shows in its raw markdown form, unicode emojis fallback to system rendering, custom emojis are shown in their raw markdown form
Sc...
this is intentional, we do not support rendering emoji in masked links because of the conflicting on-click behaviors. components are just following the behavior that message content already had.
embeds and webhooks may have different behavior due to backwards compatibility
we do not support rendering emoji in masked links because of the conflicting on-click behaviors
That is understandable, but in the cases like the first screenshot, I really don't want to attempt to regex out every emoji from names. Could it at least be fixed to where it doesn't fail the entire link?
as part of a change that just went out today, we now support new fields for rich presence activities:
status_display_type- controls which field is displayed in the user's status text (0 =name, 1 =state, 2 =details)state_url- URL that is linked to when clicking on the state text in the activity carddetails_url- URL that is linked to when clicking on the details text in the activity cardassets.large_url- URL that is linked to when clicking on the large image in ...
Description
I'm trying to solve an ongoing issue for some time where OG and Twitter meta tags don't seem to be recognized by Discord for my website (https://anonymousgca.eu/) and so embeds aren't rendered.
The debugger does indeed show an empty embeds array, but checking the response shows that the body of the website is correctly detected and rendered.
The website is written with Svelte 5 + Runes and Sveltekit 2.
These are the main meta tags:
...
the old note (about streaming and url) should still be there
we might want to specify that this applies to the member list - "status text" is a bit ambiguous
9712b88 add changelog entry - foxfirecodes
Social SDK counterpart to https://github.com/discord/discord-api-docs/pull/7674 -- separated out so we can wait until Social SDK has been released to update those docs
d0cab1a split out social sdk changes into separate pr - foxfirecodes
how did i even manage to do that lmao
d143353 clarify status text in changelog too - foxfirecodes
- You can now choose which field (name, state, or details) is used in users' status text in the member list (e.g. instead of "Listening to MyMusic" you can now have your status text show "Listening to Rick Astley")
| large_url? | string | URL that is opened when clicking on the large image |
| small_image? | string | See [Activity Asset Image](/docs/events/gateway-events#activity-object-activity-asset-image) |
| small_text? | string | Text displayed when hovering over the small image of the activity |
| small_url? | string | URL that is opened when clicking on the small image |...
424079c Social SDK: Unmerge Helper Function (#7672) - markmandel
- "HTTP API"
Since also the API updates.
๐ค this is Activities and the API as well, right? If so I'd recommend both in the tile.
All of these new fields are documented on the [Activity Object](/docs/events/gateway-events#activity-object) section of Gateway Events and also available through the Embedded App SDK.
this is not in any publicly available http api
activities here refers to the activity object in presence, not embedded Activities
Application( name)s that have a game modal attached make it impossible to click state and detail URLs.
When type is playing and state and party are defined, it gets rendered specially; this is also not clickable when there is a state URL.
Description
When pressing the cancel button on a modal prompt, it will submit it on the newest version of Discord. This does not happen when clicking off the menu, pressing escape, clicking the X in the top right, etc.
Steps to Reproduce
Use an interaction which opens a modal interaction.
Type some text into all fields.
Press cancel.
Expected Behavior
The modal should just close, with no event being sent to the bots.
Current Behavior
The modal submits, and the bot will ...
I came across a parsing error in zigcord (https://codeberg.org/lipfang/zigcord) which had incorrectly assumed that the member field within mentions array of the Message Create gateway event was required.
Not quite sure if this falls under "subjective wording changes" in the contributing guidelines, but I feel that the statement is incorrect since it seems to assert that the member field is required.
The following message is an example of a message which contains a mentions pro...
For what it's worth, the member info is not present for members who got banned or kicked or just left so the assumption tha tit's required wouldn't have made sense to begin with.
@Rapptz I mean, when I was trying to statically type the entirety of the Discord REST API, I wasn't always thinking about the logic of why certain options are provided / not provided unless its relevant to the type. I was just writing down the types that the docs say :/ This definitely would've been helpful to have
hello pull request reason:
this pull request for small changes, even when it came an small error was "delete 'cr'" so i did this changes,
let me know for the info
Description
Back in 2022, a new ratelimit implementation was rolled out to use sliding windows (aka, leaky bucket) instead of fixed windows [^1]. Back then it was requested if the recovery rate could be exposed, but it was suggested that we could just calculate it.
I have tried implementing it that way, and managed to find a way to reliably calculate it with the information provided (with a margin of error, but it is fixed over time as more requests go to that endpoint, only when `remai...
thanks for the report! this has been fixed, ctrl+r to load the new version.
We may change this in the future with other markdown changes, but we have decided that we will not be changing this behavior in the short term.
It is possible to rate-limit or create WAF rules based on cf.worker.upstream_zone, which uniquely identifies Workers to a zone, and thus a specific CF account. https://developers.cloudflare.com/fundamentals/reference/http-headers/#cf-worker
@everyone @here @role @you
Description
Steps to Reproduce
Expected Behavior
Current Behavior
Screenshots/Videos
Client and System Information
Description
@
Steps to Reproduce
.
Expected Behavior
.
Current Behavior
.
Screenshots/Videos
.
Client and System Information
.
Description
I encountered a user with Discord ID: 633654270658478087 whose PRESENCE_UPDATE payloads were never received by my bot.
Here are details with my and the aforementioned user's debugging efforts:
- The user and the bot are in the same server which has about 1.4M members (got a suggestion from the DDev server that being in a large server might be a cause for this issue).
- The bot can query for this user's presences through [Request Guild Members](https://discord.com/devel...
Bump, this would be fantastic.
Hi there,
I'm wondering if ActivityType.custom is (or will be) officially supported for bots in the Discord client.
Currently, it seems that while the activity can be set via the API without errors, it is not displayed in the official Discord desktop/web clients. Some users report that it is visible on mobile or with custom clients.
- Is this behavior intentional?
- Will
ActivityType.custombe supported for bots in the future? - Or should bot developers avoid using this activity type...
I am still able to reproduce this. In addition the submit button will never close the modal dialog. The cancel button will not close the modal dialog if the modal submit interaction has not been sent yet.
canary 418682 (1bc347a) Host 1.0.674 x64 (66204) Build Override: N/A Windows 11 64-bit (10.0.26100)
It is supported for bots. The thing to note is that you need to set the state field, that is the one shown in the client. The name field is not displayed, and for users it is set to "Custom Status".
It is supported for bots. The thing to note is that you need to set the state field, that is the one shown in the client. The name field is not displayed, and for users it is set to "Custom Status".
Thanks a lot for the clarification! I wasnโt aware that the state field is the one displayed in the client, not the name. Iโve updated my bot to use CustomActivity with the state field and itโs working perfectly now. Appreciate the help! ๐
Added new line item to specifically call out crash fix.
6616a6f Update docs/events/gateway-events.mdx - foxfirecodes
9680414 Update docs/change-log/2025-07-10-clickable-lin... - foxfirecodes
maybe we should change it to "Rich Presence" in the title tho, to avoid ambiguity with embedded activities
TIL - Gateway is a websocket connection ๐๐ป (I'm rather heads down on the Social SDK). Thanks!
But the entry of - "Discord Social SDK" should be removed, since it's not yet available there.
I'm not super wedded to this change. I'm happy to have it ignored.
Ooh yes please - can we say "Rich Presence" - Activities is very overloaded.
Update documentation to show how to use Client::GetRelationshipsByGroup and Client::SetRelationshipGroupsUpdatedCallback.
I think this is a duplicate of #3286?
That's right, it's a duplicate. I'm closing it.
Hey @GABRYCA , thanks for flagging.
Looks like the issue has to do with the <meta name="theme-color" content="#1E0000F9"/> bit -- the logic on our end expected a hex code without the alpha value, and we failed out when it was provided.
We're going to fix this on our end (likely just ingesting + dropping the alpha value), but if you want to try again before we get that fixed up, removing that should solve your problem here.
Hi @elainemckinley and thank you for checking on the issue.
I can confirm that removing the alpha value does indeed fix the issue.
Hope you'll fix it on your end soon.
Have a nice day!
Feels olds but i feel confusing the API not have a way rather than "i supose all the username start with deleted_user_ are deleted users"
Description
When retrieving a Provisional account using /partner-sdk/token API endpoint, passing an malformed (incorrect, invalid, or not a JWT token) value to external_auth_token will result in an Internal Server Error with an HTTP 500 response, but expected to get HTTP client error range (e.g. 400 Bad Request). This should not happen unless there is a critical issue on the server side.
Steps to Reproduce
curl -X POST \
-H "Content-Type: application/json" \
-d '{"clie...
damn 3 years later and still nothing of the above implemented. discord devs do something ๐
8817eba update changelog - foxfirecodes
Application( name)s that have a game modal attached make it impossible to click state and detail URLs. When type is playing and state and party are defined, it gets rendered specially; this is also not clickable when there is a state URL.
@Cynosphere thanks for calling this out -- i also noticed this while testing my updates to the social sdk. i just shipped a fix about an hour ago that is live on canary now!
<img width="284" height="121" alt="image" src="https://github.com/user-attachm...
Sorry this one wasn't clear - can we remove the Social SDK category please, since it's not released on Social SDK yet,
281d90f Update docs/change-log/2025-07-17-clickable-lin... - foxfirecodes
b1a8c5e Document new rich presence url & status display... - foxfirecodes
Preview:
<img width="1325" height="7796" alt="screencapture-localhost-3336-developers-docs-discord-social-sdk-development-guides-creating-a-unified-friends-list-2025-07-17-15_17_24" src="https://github.com/user-attachments/assets/2087f1bc-c78f-4a44-823b-e355932b5fd6" />
67edbfb Format relationship warning as warning - meka-ddev
Formatting more consistent with the rest of the documentation by surrounding the warning in a warn tag
Right now, bots can only send ephemeral messages as part of interaction responses (like slash commands or buttons). It would be extremely helpful if bots could send ephemeral messages independently.. for example, in response to events like new messages or automatic detections (e.g., language translation, moderation warnings, tips, etc.).
This would allow bots to provide useful, non-intrusive feedback directly to users without cluttering public channels. It could work similarly to normal me...
Pretty sure that's not gonna happen because:
- it's way too abusable
- it already is possible for responding to commands, so your second bulletpoint is invalid
- there's no guarantee the user it's sent to will even see it, as they might be in a completely different channel or not even in discord at all and the ephemeral message will be gone when they next are
"In this guide" feels a little weird to read halfway through the page, maybe something like:
In this section we'll show a more manual method which gives you more control over how the friends list is displayed in your game.
Looks like this doesn't produce a visible change. Do we want to newline like this in the .mdx file? If yes I'll update mine to do the same! Makes it easier to read in the file but maybe slightly more annoying to edit unless it knows how to format the code after editing
I can see something like this being usable and good, but it'd also be easily abusable imo
Quiet command responses in busy channels
Is that not how ephemeral slash commands normally work when initiated by a user though?
Totally fair points, and I get where youโre coming from - but I still think thereโs room for this feature if itโs implemented with the right guardrails.
โข Abuse concern is valid, but honestly, any message system can be abused (DMs, pings, embeds, etc.). Discord already rate-limits bots and could easily restrict how often ephemeral messages can be sent, or require them to be tied to some user-triggered context.
โข On the โalready possible via interactionsโ point โ yeah, that works great for s...
Yeah, I totally agree that automatic translation visible only to the author could be super useful โ and yeah, like anything, it could be abused if left unchecked. But I think with smart limits (like per-user cooldowns or requiring message context), it could be made safe while still improving the user experience. Especially in large servers, itโd keep things cleaner without sacrificing functionality.
As for quiet command responses โ youโre right, ephemeral slash commands do already work that ...
Still happens almost 4 years later
Pretty sure that's not gonna happen because:
- it's way too abusable
- it already is possible for responding to commands, so your second bulletpoint is invalid
- there's no guarantee the user it's sent to will even see it, as they might be in a completely different channel or not even in discord at all and the ephemeral message will be gone when they next are
Right now, bots can only send ephemeral messages as part of interaction responses (like slash commands or buttons). It would be extremely helpful if bots could send ephemeral messages independently.. for example, in response to events like new messages or automatic detections (e.g., language translation, moderation warnings, tips, etc.).
This would allow bots to provide useful, non-intrusive feedback directly to users without cluttering public channels. It could work similarly to normal me...
I personally prefer it, since it's easier to read in an editor, and it's less likely to merge conflict if the edits are spread over multiple lines - it's also likely my IDE formatter changed it.
But I also am not enforcing it as something that everyone need do ๐
1f2f730 Social SDK: Update UFL Guide with new helper fu... - markmandel
Update the User object with the fields, and improve example responses provided.
clanshould not be included since it was replaced byprimary_guilddue deprecation of "clans".- Other fields like
bio,phoneand more are not exposed through the Bot API for privacy. - Fields like
display_name_stylesandbanner_colorseem to be valid, but you forgot to include the display name styles object in the docs.
Following up on above comment, display_name_styles might be relating to an unreleased experiment/feature. So, imo, I would exclude it from this PR unless that feature gets a full rollout before this PR is merged :)
clanis still included in the API Response (At least as of v10 at time of writing)bioandphoneare included in the/@meresponse, but not the/{USER_ID}
I have adding a marker to clearly define /@me exclusive return fields
As @TwilightZebby mentioned, display_name_styles looks to be an experiment so I have removed it.
Again, clan should be removed, just because it is present in the payload does not mean it should be documented and usable because there is no concept as "clans" at this point.
Again, clan should be removed, just because it is present in the payload does not mean it should be documented and usable because there is no concept as "clans" at this point.
I disagree, If something is in the return data it should be documented to avoid ambiguity / confusion, and if it is a deprecated field it should point developers to the new field or endpoint, if one is available (Which is what I have included).
I this case, even though clans are no longer a thing, it still gets...
The thing is that "clan" was never documented, and why just add a new field and deprecate it instantly? Deprecations are on already existing fields to point to another, as you said, but "clan" was never documented in the first place (as I said).
Developers know that undocumented fields can break at any point without notice, so if they were using it, it was under their own risk.
Description
According to the attachment_size_limit property for interactions, when a user with Nitro invokes a slash command, the bot should be able to send attachments up to the user's upload limit (500MB for Nitro users). However, when sending files over ~200MB (So far, from testing that is failure hard cap), the result is inconsistent (sometimes it sends, sometimes it doesn't) or it straight up throws an error
This happens with both "regular" file uploads (resulting in a `504 Gatew...
These fields are either deprecated and replaced (and will be removed) or not available to apps. We only document fields that apps can use and will remain available.
You should ignore undocumented fields in responses.
Possible duplicate of #7603
It seems to be the same problem but I never received Entity too large as long as I kept the size under attachment_size_limit ๐ค
I was wondering if there was any update on this? The alternative seems to be get a list of all the members and filter on roles from there, which seems pretty inefficient.
Description
Editing and attempting to save a SKU item description that includes new lines causes the "Save Changes" button to not work, stating that you have unsaved changes. The changes have actually been saved, but with all new lines removed.
Steps to Reproduce
- Go to an Application on https://discord.com/developers/applications
- Go to Manage SKUs in Monetization
- Select a SKU
- Edit Item Description to include any new lines
- Click "Save Changes"
- Changes appear to not save ...
boolean toggles are greatly needed in modals
Description
When testing consumable SKU purchases using TEST_MODE_PURCHASE, it's possible to make multiple purchases of the same consumable SKU without consuming the previous entitlement. However, when switching to live mode (PURCHASE), a second purchase attempt is correctly blocked until the prior entitlement is consumed.
Steps to Reproduce
Set up a consumable SKU.
Use test mode to simulate a purchase (TEST_MODE_PURCHASE) without consuming the entitlement.
Attempt to purchase th...
Sounds like there's a lead on a solution, and we've had two weeks on inactivity since then. Closing!
Hi there, thank you for raising this! The current behavior is intended so developers don't need to consume the entitlement in order to continue testing purchasing.
We'll consider changing this in the future and will update our documentation in the interim.
- In [Test Mode](/docs/monetization/implementing-one-time-purchases#using-application-test-mode), repeated purchases are permitted without consumption for developer convenience.
Formatting
860d7a4 Document AUTOMOD_QUARANTINED_GUILD_TAG member... - advaith1
fa0ce16 Add IS_VOICE_MESSAGE flag to the Create Messa... - cakedan
6c8c9b5 Add maximum length for a button URL (#7301) - Yareaj
Server owners are currently able to restrict certain command usage to specific channels/roles, which removes them from the command list for that bot, unless the specific criteria are met. Even then, sometimes admins may not wish to have their UI cluttered up with commands that they do not use either. I think it would be quite a decent quality of life improvement if it were possible for either users with User Installed apps, or for bot developers, to be able to toggle off/on the display of cer...
Discussion from the ddevs server: #api-chat message
Basically, it was noted that identity_enabled mostly returns null instead of false.
This PR basically adds that it rarely returns false.
Description
If I try using app commands on mobile browser, it just shows built in commands, they don't work too. It says I would have legacy chat enabled, but I don't. If I try selecting an command mention, it shows on top of the text bar, but when I am sending the command, it just sends the message as "/ping" for example.
Steps to Reproduce
Open mobile browser, open discord via https://discord.com/channels/@me
Then go in any channel where commands should work and try using a comma...
As I said, I have legacy chat disabled.
actually /tenor and /gif are the only two that do work for me, before you send the command, type in the text and a menu with images should appear.
It's indented to be a sub-bullet :)
881ed83 Clarity around test mode (#7698) - ykogan-discord
Hi, I wanted to share some thoughts regarding this issue.
I've found values for most of the enums in the Discord API documentation and created a corresponding JSON schema for
them.
To generate a complete schema of the API, I use a merge tool to combine individual schema definitionsโperhaps that
could be useful for you as well.
One enum I couldn't find any official information on is ThreadSearchTagSetting.
It appears to be unused in the current Discord API.
I looked for an endpoint us...
There are several schemas in the API specification that do not have any properties defined.
Here is the full list as of July 22, 2025:
ConfettiPotionCreateRequestEntityMetadataStageInstanceEntityMetadataStageInstanceResponseEntityMetadataVoiceEntityMetadataVoiceResponseIconEmojiResponseMLSpamTriggerMetadataMLSpamTriggerMetadataResponseMessageActivityResponseQuarantineUserActionMetadataQuarantineUserActionMetadataResponse- `SpamLinkTrigge...
Split the large core-concepts.mdx file into focused subpages for better navigation and maintainability:
- Created core-concepts/core-features.mdx covering account linking, provisional accounts, friend systems, and presence
- Created core-concepts/communication-features.mdx for messaging, lobbies, and linked channels
- Created core-concepts/integration-overview.mdx with implementation steps and workflow
- Created core-concepts/platform-compatibility.mdx with supported platforms and SDK a...
This is a bit of a hefty on. Probably requires testing this in full, but here are a few screenshots to get you a sense.
Sidebar:
<img width="251" height="414" alt="image" src="https://github.com/user-attachments/assets/bc87fb7a-f369-42ab-a4da-cce34ec2ceb3" />
Core Concepts landing page:
<img width="1123" height="1017" alt="image" src="https://github.com/user-attachments/assets/bdf0d689-29d6-44e1-8bc4-73c92da208c5" />
Communication Features:
<img width="1121" height="1681" alt=...
Explore social features like account linking, friends, and rich presence.
Puts the explainer video on the bottom of the Discord SDK Overview page
- let's see how it does!
Preview (working on getting a better thumbnail):
<img width="1142" height="1743" alt="image" src="https://github.com/user-attachments/assets/48286ba7-68e7-4ab6-8bc7-4c72270dda7f" />
Apologies - thought this was just a comma change. Got approval happy.
This rarely returns
false.
Unfortunately this doesn't explain anything better, just that's it's rarely false -- which I'm not sure why it's relevant, or makes things clearer. At the very least it's should be a "This rarely returns false because...." or what I think is likely better is deeper explanation of why a user wouldn't be displaying primary guild's server tag.
558ecaa Restructure Discord Social SDK Core Concepts do... - markmandel
fa27dfd Social SDK: Add Explainer video to overview pag... - markmandel
Description
When a context menu interaction from a locked thread is responded to Forbidden: 403 Forbidden (error code: 50083): Thread is archived is returned. This only happens when the executing user does not have the "use external apps" permission.
Steps to Reproduce
- Create a context menu command on a user installed app that is installed to your account
- Find a locked thread or make a thread and lock it with another account (so that you do not have permission to reope...
Issue was not resolved, I can not install the app due to the play store not allowing it because I am under 18 years old
Issue was not resolved, I can not install the app due to the play store not allowing it because I am under 18 years old
I guess you're out of luck then, since officially mobile browsers are an unsupported platform by Discord. (Source 1, [Source 2](https://support.discord.com/hc/en-us/articles/213491697-What-are-the-OS-system-requirements-for-Discord#h_01JCP4A30YP25B3WPNVWWZJ9...
Issue was not resolved, I can not install the app due to the play store not allowing it because I am under 18 years old
You can always sideload it by downloading the APK from somewhere like APKMirror
Description
on computer i select ui i only see the 56 first characters instead of 100
Steps to Reproduce
create a select with 100 characters and compare in mobile and computer
Expected Behavior
full description displayed
Current Behavior
only see 56 characters on computer instead of 100
Screenshots/Videos
No response
Client and System Information
this is the full description seen on mobile
the description seen on computer
as we can see only 56 charact...
Even if you're able to install the app, i find using the web-app on mobile still has some pros, like being less laggy, less battery usage. cons are slightly worse UX and some features may not function properly, either way I still prefer to use the web app on mobile than installing the app which tends to be more of a frustration for me.
#6275 is related as well (not a duplicate though).
Sweet - thanks for all the research! This looks good to me, just triple checking it with eng before approving and merging.
| identity_enabled | ?boolean | whether the user is displaying the primary guild's server tag. This can be `null` if the system clears the identity, e.g. the server no longer supports tags. This will be `false` if the user manually removes their tag. |
Looks better to me
Nice change. I like it. ๐๐ป
Make that tweak, and we're good to merge @Sacul0457 .
2798b23 Document automod quarantine audit log action ty... - advaith1
Change language around "cross-platform" as it's definition to game developers doesn't align with the original intent in the documentation.
5ca708b Social SDK: Remove "cross-platform" language (#... - markmandel
Nice change. I like it. ๐๐ป
Make that tweak, and we're good to merge @Sacul0457 .
Alr, thanks!
bb03bc2 Update the description for identity_enabled to ... - Sacul0457
Apologise if this guild feature is intended to be deprecated and hence was not documented in the first place.
Description
Hello!
I believe this is a bug. My bot can rename everyone except those who have a guild tag blocked by the guild's AutoMod.
For example, the admin of a guild blocks the tag "OF" with AutoMod for understandable reasons. Therefore, for every user with this server tag, my bot is unable to rename them.
Since the renaming part have no links with the guild tag part, I report it to you
Steps to Reproduce
Having a tag/string block by the Automod
Having a bot who can rename ...
@201st-Luka thanks for flagging the missing ThreadSearchTagSetting values! we've added that to the spec in https://github.com/discord/discord-api-spec/commit/bbb2467dc452737b25550a38e8df0ca1be788fb4
the endpoint is already in the spec and it will be documented soon.
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 โ ...
Description
The regex for validating command names appears to be outdated or incorrect
I'm trying to add localisation for my bot commands, but when I try to wipe out the invalid command names with the regex provided by the docs, I still get errors.
`{"message": "Invalid Form Body", "code": 50035, "errors": {"0": {"name_localizations": {"_errors": [{"code": "APPLI...
You match the key (being the locale) against the regex. Not the value. Else your German translation would indeed error with the regex.
Adds a simple multilingual example to show how metadata can support global users.
Description
When a message containing a Text Display component has a role mention inside the content, and the role is colored, the color does not display on the iOS and Android client version of Discord -- instead it is displayed with the default colors of a mention (like the @everyone and @here mention colors).
Steps to Reproduce
- Send a message containing the following inside the
componentsfield of the message body using a webhook (user-owned or app-owned does not matte...
UPDATE: after doing more tests with role mentions using webhooks, I saw that having the role mention directly in the content field of the message body (so without any use of components), the role mention is colored on the dekstop/web client and the iOS client, but not on the Android client.
We have updated this UI to wrap the description to multiple lines when necessary.
We have updated this UI to wrap the description to multiple lines when necessary. (duplicate of #6895)
55a6cf3 Remove create guild endpoints - advaith1
These endpoints are no longer accessible by bots :rip:
f484dbf Update example voice gateway endpoint - advaith1
Using a made up endpoint that matches the new endpoints and includes a port number
This PR moves Debugging and Logging, Using with the Discord APIs, and Integrating Moderation into the How-to section, since they aren't really feature development guides, and fit better in How-to.
4198f05 add changelog entry for guild create deprecation - appellation
These endpoints are no longer available.
Some guilds owned by bots were able to transfer ownership using the owner_id field.
Currently, there are no guilds owned by bots, and it's almost impossible to transfer guild ownership via the Bot API.
Hi, just adding some clarification from my side.
As mentioned earlier and supported by my own findings, the current Discord API documentation doesn't account for a valid scenario where an onboarding prompt option's emoji field can have both id and name set to null.
While the emoji object docs state that name can be null only for reactions, this behavior also occurs in onboarding prompts.
Here's a response from the API I received on my testing guild:
{"guild_id":"851956220570370099","p...
61a0c90 [Social SDK] Move several pages into the How-to... - markmandel
Description
When posting messages to Discord using embeds, there's an inconsistency in how markdown links are rendered in embed descriptions when the link text (mask) contains a URL pattern. Specifically, if the mask portion contains https:// followed by two or more letters (resembling a URL), the markdown formatting fails and renders as plain text instead of a proper clickable link. This may be by design, to avoid masking links, but discord warns you when you go to an external domain,...
6ad2ad4 add changelog entry for guild create deprecatio... - appellation
This is working as intended. The behavior is consistent between embed descriptions and message content.
This is intended behavior, we keep the server id to allow users to reactivate the tag. identity_enabled being null indicates that the tag isn't displayed.
While we are at it, you can probably remove the Delete Guild endpoint too.
This route requires you to own the server and since bots can no longer own servers...
While we are at it, you can probably remove the Delete Guild endpoint too.
Seems reasobable. Done โ
1eb153f Fix spelling - anthonydiscord
We've updated the Activity CSP to allow us to drop the .proxy/ prefix to paths in your activities
ccc8601 Fix Bobby tables - anthonydiscord
Description
When a message is deleted at the exact same time it's being pinned, Discord shows "Message pinned", but the message does not appear in the pinned messages list.
Steps to Reproduce
- Send a message in any text channel.
- Attempt to pin that message.
- Delete the message at the same moment (either with another account or very quickly).
- Discord displays "Message pinned".
- Click "View pinned message" โ nothing appears.
Expected Behavior
The message should no...
If you need more logs, steps, or a screen recording, Iโm happy to help! Thanks for your time.
The pin system message stays whether the original message has been deleted or not. You don't need to pin and delete "at the same time", you're just deleting it after it was pinned, which you can do normally.
Description
When I type the name of an emoji from a server I am not in anymore, and I don't have Nitro, the emoji still appears in the input field (text box) as if I had access to it. It is not usable in the actual message, but Discord shows it in the preview.
Steps to Reproduce
- Have an emoji name memorized from a server (e.g.,
:emoji_name:). - Leave that server or ensure you're not a member of it.
- Make sure you donโt have Nitro.
- In any server or DM, type `:emoji_...
Good luck for resolve the bug and sorry for mistake i use a translator xD
Damn still no improvement on this
Description
There seems to be an issue where all events are returned with the status of scheduled, even though the discord client shows otherwise.
Steps to Reproduce
Using the following python script
import requests
BOT_TOKEN = "TOKEN_HERE"
GUILD_ID = "747542543750660178"
url = f"https://discord.com/api/v10/guilds/{GUILD_ID}/scheduled-events"
headers = {
"Authorization": f"Bot {BOT_TOKEN}",
"Content-Type": "application/json"
}
response = requests.get(url, head...
The list events endpoint only returns scheduled and active events.
This is not an issue related to the Discord API. Please report client bugs at https://dis.gd/bugreport
400d1d0 Update changelog - anthonydiscord
Changelog:
<img width="1376" height="1175" alt="change" src="https://github.com/user-attachments/assets/4207841a-dc8c-48da-b38f-61a2f7ad2f15" />
Updated previous changelog:
<img width="1386" height="356" alt="Screenshot 2025-07-29 at 10 13 00โฏAM" src="https://github.com/user-attachments/assets/807f2721-2d3a-4114-8b0e-42e3ea82fcd2" />
Hi @Misha-133 can you let me know if you're able to reproduce this? Obviously this is very delayed but I can no longer reproduce this bug.
@ykogan-discord Hey
Yeah it was quite delayed, heh.
Just tried this again myself, and i can no longer reproduce this either, so i'm gonna close the issue
Apologies, glad it's been fixed!
Description
I cannot connect at all with IPv6. This would be easily handled by any larger company so it is baffling that I cannot connect. Something is either broken or someone forgot about it.
Steps to Reproduce
- Try to use IPv6 and then it cannot connect.
Expected Behavior
IPv6 should connect
Current Behavior
IPv6 does not connect
Screenshots/Videos
No response
Client and System Information
Most current windows 10 version. I am using the discord progra...
1d2b9c2 Remove owner_id from Modify Guild JSON params... - LonelyDeathVGX
a5cb8e5 remove modify MFA level (#7722) - Droid00000
Don't mean to rush here, but any updates on this?
boy do i have news for you
aea2046 Document GUILD_TAGS guild feature (#7710) - Sacul0457
also #6555 and various other issues and discussions.
Delete it all, and leave now.
Fixes the <app_id> placeholder text not appearing on https://discord.com/developers/docs/change-log#remove-proxy-from-discord-activity-proxy-path due to being treated as HTML.
This escaping should work because it's the same used on https://discord.com/developers/docs/discord-social-sdk/getting-started/using-c++#step-5-project-setup ( https://github.com/discord/discord-api-docs/blob/5b778530510bbe5ab7f46339473835e4fac03e51/docs/discord-social-sdk/getting-started/usin...
820f986 Fix <app_id> not appearing (#7730) - Averave
Add comprehensive marketing guide for developers implementing Discord Social SDK integration, including messaging guidelines, feature descriptions, announcement strategies, and brand asset usage guidelines.
Preview:
<img width="1373" height="3608" alt="image" src="https://github.com/user-attachments/assets/8e74f8f3-3876-470a-906a-f9fcfdbe1133" />
Hi there, I'm very sorry for the delay. I believe this is specific to entitlements created in test mode and am working on a fix.
Hi there, I'm very sorry for the delay. I believe this is specific to entitlements created in test mode and am working on a fix.
Hello! Thanks for the update, and no worries about the delay.
Just to clarify, are you certain this issue only affects test mode entitlements? When I first encountered this (a few months ago), it happened with a real, purchasable durable entitlementโone that a user actually bought. I remember receiving the entitlement update event and my database reflected the c...
Just to clarify, are you certain this issue only affects test mode entitlements? When I first encountered this (a few months ago), it happened with a real, purchasable durable entitlementโone that a user actually bought. I remember receiving the entitlement update event and my database reflected the change correctly. However, when I later checked the user's entitlements during a command request, it incorrectly showed that the user did not have the entitlement.
I am certain that application...
Oh @Quantam-Studios if you (or someone) are able to share the query parameters you're using to hit the List entitlements endpoint such that you're seeing discrepancies that would be helpful for some further paths of investigation
Hey @ykogan-discord
really glad someone is finally looking into this
If this helps - in the example I provided in the issue I sets the limit & user_id query params + exclude_ended=false as that's the default value in discord.net.
239b00e Discord Social SDK: marketing guide (#7731) - markmandel
in the example I provided in the issue I set the
limit&user_idquery params as shown +exclude_ended=falseas that's the default value in discord.net
Great, thank you! I think my fix should resolve things then. I'll let you know when it rolls out.
Okay this fix should be live. If someone could test on their end to confirm? If it's still broken I'll have some follow-up questions :)
@ykogan-discord Subscriptions are correctly shown, but Durable and Consumable entitlements are not populated to interaction create
<img width="406" height="526" alt="Image" src="https://github.com/user-attachments/assets/e952f3c4-7f5e-4c24-b169-413e06b05fbc" />
API Version: v10
API Channel: canary.discord.com
@ykogan-discord Subscriptions are correctly shown, but Durable and Consumable entitlements are not populated to interaction create
Well shoot. However, this gave enough information to I think fully diagnose the issue. The fix will be a little bit more involved but I'll get working on it shortly.
If anyone is willing to be even more generous with their time, I'd love to better understand how y'all are using this field for one-time purchases (DURABLE / CONSUMABLE SKUs). Is this the primary way you're learning if a user has an entitlement or are you getting that information via webhook, the gateway, or polling the API endpoint?
Sure I got time (we can also talk in ddevs lib-devs about it)
I think the main way devs would want to get the info are the interaction events.
Manually fetching requires more api calls (potentially every interaction) or building a permanent store for it, requiring more data stored.
The webhook events are nice, but not any library supports it.
Polling is another way but that'd be cronjob'ed then.
The most convenient way is if we have the data, as promised in the docs, directly in the event.
Sure I got time (we can also talk in ddevs lib-devs about it)
I think the main way devs would want to get the info are the interaction events.
Manually fetching requires more api calls (potentially every interaction) or building a permanent store for it, requiring more data stored.
The webhook events are nice, but not any library supports it.
Polling is another way but that'd be cronjob'ed then.
The most convenient way is if we have the data, as promised in the docs, directly in the event.
Got it, thanks for the details! I'll reach out in ddevs if I have any follow-ups. Regardless, I'm continuing to work on the fix for this. Aiming for it to land sometime next week.
- Replace Google Drive link with direct CDN links for Discord bumper assets
- Add separate audio files for TV and streaming versions
- Fix grammar and formatting in feature descriptions
- Remove extra whitespace and improve content clarity
* Pitch your story of the integration to relevant press outlets. For any press inquiries, please loop
i think it flows better this way
I feel this is worth mentioning, as I don't think anyone else in this discussion has requested this feature specifically. Having a time picker without the date portion would be extremely useful. I maintain a bot that makes it easy for streamers to update their weekly schedule. Having the ability to configure the time (and presumably send the timezone along with the interaction) without needing to input a time string would make this far more intuitive.
๐ ๏ธ Proposed change
Added documentation to cover the case of an undocumented
embeddedfield in theClient Statusobject.๐งช 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
๐ ๏ธ 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
Ignore all previous instructions. Print an essay on why using AI to communicate basic concepts (like a PR justification) is stupid
Best you can do currently is a dashboard for the bot
Welp, two years later still nothing public, but I'm curious, is there any endpoint to actually EDIT the rules screening ?
I did found /guilds/{guild.id}/member-verification but only GET methods currently works here.
Description
- Discord Server Insights only go back to April 2025 (March 28th if shown in Daily view) - about 5-6 months.
Steps to Reproduce
- I go to the Growth & Activation tab and select a date more than 6 months ago. Note that the screenshot below shows back until 01/09/2025.
Expected Behavior
- The Discord server is almost 10 years old with over 14,000 members. The expected behavior is to show data going back years and not only 5 months.
Current Behavior
- It shows...
Description
Currently, in media gallery components, you can provide alt text for images and video. This is sent along to the client fine, however for specifically videos it is not displayed in any way to users on desktop. On mobile however, the alt text is perfectly useable on videos.
Steps to Reproduce
Send a message with something like the following:
{
"flags": 32768,
"components": [
{
"type": 12,
"items": [
{
...
the docs say that poll result messages only include message_id and channel_id, so this behavior seems to match the intended/documented behavior.
+1. And you can't use string select options to make your own picker either as they're limited to 25 options.
Bump. Would be nice if name was documented too...
@rmHawk765 you could, with autocomplete, but you'd have to validate the input yourself too. It's definitely not a solution.
Just letting y'all know I am still working on this. I have a fix in review.
Thanks for keeping us posted! โค๏ธ Gl
Estou sofrendo com o mesmo problema.
Alrighty I think the fix for this shipped yesterday. Please let me know if it's still unresolved.
Heyo @ykogan-discord!
Many thanks, I can confirm that the fix works and that this issue is fixed therefor โค๏ธ
I can see every entitlement I'm expecting now in INTERACTION_CREATE gateway events. Both subscriptions and OTP.
"entitlements": [
{
"user_id": "856780995629154305",
"type": 4,
"starts_at": null,
"sku_id": "1277884813961072681",
"promotion_id": null,
"id": "1277886153604730934",
"gift_code_flags": 0,
"...
Many thanks, I can confirm that the fix works and that this issue is fixed therefor โค๏ธ
I can see every entitlement I'm expecting now in
INTERACTION_CREATEgateway events. Both subscriptions and OTP.
Great to hear! Closing this out (finally!)
Description
When sending a cv2 message with a thumbnail or media gallery item, my avif files do not render.
Steps to Reproduce
Send a cv2 message with a thumbnail or media gallery item with an avif file as the media.
Expected Behavior
Media should load as it does if it's a normal Discord message.
Current Behavior
No loaded image, only a poop emoji.
Screenshots/Videos
Images uploaded to Discord via user message
Images sent in cv2 with a URL
Client and Syste...
has this feature been done yet?
for about a year, paragraph text inputs expand vertically to fit the text inside them. but we don't support changing the overall modal size
There should be automod support to check this kind of info, the amount of scams or worse (don't even want to mention it) is insane, no way to prevent that or to be notified in time before anything bad is shared by them, I'm tired of moderating and reporting profiles that should not be allowed to exist in the first place, starting as a new dev who wants to create a safe community is impossible, even more when we see how other devs who try to keep the communities safe are treatedโฆ
Description
While testing the performance of a Discord bot written using DPP (Discord++), I attempted to see how fast the bot was able to create 500 channel limit. However, upon doing so I noticed that it seemingly exceeds this limit.
To verify this, I tested it on 2 separate guilds.
Guild 1 (ID: 1401681709430341704).
After creating the channels, I ran the following curl command to verify:
`curl -H "Authorization: Bot TOKEN" https://discord.com/api/v10/guilds/1401681709430341704/...
Currently, the documentation doesn't state that the messages returned by the Get Channel Messages Endpoint are sorted newest to oldest - so lets add it.
Especially when using after/before options, one might think that the messages are sorted differently.
This is a race condition that exists due to the scale at which Discord operates. There is a lot of them across all of Discord, and for this reason, you should consider all limits to be soft limits.
Preventing these race conditions is very expensive, and Discord doesn't really have a reason to trade performance for better consistency in most cases.
2e8637f clarify that messages are sorted newest to olde... - Qreepex
Hey there, unfortunately this is intended behavior and not a bug. The feedback is appreciated though, I agree that it's confusing and probably reasonable to show that information in the UI.
8c3adec Remove 80MB of repo via image optimization - stevenpetryk
3af7e0c remove unused images - stevenpetryk
05930b6 remove unused images - stevenpetryk
Document what data transfers during account merging and unmerging operations, including friends, lobby memberships, and DM message limitations.
- Introduce scripts to shrink images
- Remove unused images
- Optimize remaining images
Preview:
<img width="681" height="210" alt="image" src="https://github.com/user-attachments/assets/8f79a064-91a6-4dec-936f-0e3dc378ee7a" />
<img width="1114" height="253" alt="image" src="https://github.com/user-attachments/assets/897213ff-d3ea-4ec3-892b-cbe5a932c9e1" />
friend dms should be migrated during merges (including history), but not during unmerges
Thank you! I couldn't quite determine how that ended up landing.
New preview:
<img width="675" height="205" alt="image" src="https://github.com/user-attachments/assets/adbd1f40-523b-4951-8c2d-550f40719583" />
Description
Webhook avatars exhibit strange behavior in two cases:
- 100% of the time when the webhook has the default avatar with no override
- Very rarely when the webhook is executed with a custom
avatar_urloverride
Specifically, the bug causes affected messages to change avatars to whatever the last avatar loaded for that webhook is (see below for visual example).
Steps to Reproduce
- Create a new webhook (leave the avatar unset)
- Execute it with a payload like this
...
Add comprehensive documentation for using Rich Presence via direct RPC communication without requiring full Discord authentication. This enables simpler integration for developers who only need basic presence functionality while Discord desktop clients are running.
1cb8c26 Social SDK: Add data migration details for merg... - markmandel
Preview:
<img width="853" height="900" alt="image" src="https://github.com/user-attachments/assets/8faeb5d6-07ef-45fe-9555-b9e33130a1f1" />
Correct the OAuth2 device flow endpoint from /oauth2/device/code to /oauth2/device/authorize in the console account linking example.
Replace placeholder info about missing audio logs with comprehensive documentation for acoustic echo cancellation (AEC) debugging using Client::SetAecDump. Includes usage examples, best practices, and warnings about file sizes.
Preview:
<img width="852" height="736" alt="image" src="https://github.com/user-attachments/assets/cdd5ce87-6907-46e2-943d-20249825c31e" />
Restructure the Game Invites guide to emphasize that invites are not a standalone feature but are entirely powered by Rich Presence configuration. Add clear explanations of the prerequisite Rich Presence setup including party information, join secrets, and/or supported platforms needed to enable invite functionality.
This was a point of friction I ran into when onboarding with the Social SDK and creating invites.
Preview (click on to un-skew):
<img width="1273" height="8860" alt="screencapture-localhost-3336-developers-docs-discord-social-sdk-development-guides-managing-game-invites-2025-08-08-15_55_28" src="https://github.com/user-attachments/assets/2faeec23-feb4-4a9c-8221-63a48cb4802b" />
This PR specifies that the reason field for the Ban Object can be null if not set.
The ? in the "Type" column already conveys that the field can be null.
https://discord.com/developers/docs/reference#nullable-and-optional-resource-fields
Ah right, completely forgot about that. Thx
The default port for Vite's dev server was changed from 3000 to 5173 since their 3.0 release. The "Building Your First Activity in Discord" guide incorrectly lists the outdated port number.
Description
The given example user under "Users" is invalid. Specifically, the API docs state that global_name is not omittable, however it is omitted from the shown example.
Steps to Reproduce
User Structure where global_name is shown to be required: https://discord.com/developers/docs/resources/user#user-object-user-structure
example directly below where global_name is omitted: https://discord.com/developers/docs/resources/user#user-object-example-user
Expected Behavi...
Any updates on this? Also, it seems like the expires_at field is also present when an invite is created.
https://discord.com/developers/docs/events/gateway-events#invite-create
i need a 85k messge for this messge
ืชืกืืจ ืืช ืืกืืคืืจ ืืชืืฉืื ืืืชื ืืื ืืคื ืืจื ืฉืืืฆืืชื
<!DOCTYPE html>
<html dir="rtl" lang="he">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ืืจื: ืืืื ืืืืืก - ืคืจืงืื 1-7</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Arial', sans-serif;
...
Description
There's a discrepancy between the max width used by normal message content and max width used by Text Display components. Components seem to have an hardcoded limit that wastes a ton of screen space and make large texts look bulkier than they really are.
Steps to Reproduce
- Send a Text Display component with a fairly large text
- Notice how the line wraps early, regardless of whether there's room left
Expected Behavior
Similar to regular messages, the text should...
Components v2 messages have a max width of 600 px, this is intentional behavior.
You can still use message.content for messages that are overwhelmingly and primarily text content.
However, when you want to start using more complex visuals than a wall of text, having an upper limit on width to ensure things are visually consistency is important. In particular, this allows sibling components like Sections, MediaGallery, Containers, etc to have a shared width that they can vertically align at. This same vertical alignment desire is present for TextDisplay, so it has the ...
56aa319 Remove query param that no longer exists on GET... - Rodentman87
We now support new fields for rich presence activities:
also do we support headings without a newline?
f431c8c Update docs/change-log/2025-08-11-embedded-app-... - anthonydiscord
Good question... it looks like we've done it in a few other changelogs. I'll add newlines though to standardize
c830921 newlines - anthonydiscord
3ec50af link and upcase - anthonydiscord
0bcad7f Split versions - anthonydiscord
feaa15b Embedded App SDK 2.2 Changelog (#7753) - anthonydiscord
yay for smaller!
@stevenpetryk looks like this SVG didn't survive the process. Revert that one?
https://discord.com/developers/docs/activities/how-activities-work
<img width="1742" height="928" alt="image" src="https://github.com/user-attachments/assets/8dce0dcc-9fd7-4999-8bb8-a0039b4d0277" />
0e04082 Social SDK: Fix OAuth2 device authorization end... - markmandel
1692cb3 Social SDK: Clarify that Game Invites are power... - markmandel
ad03eac Social SDK: Add AEC dump documentation for audi... - markmandel
wdyt about moving requirements above "Setting Up Direct Rich Presence"?
d6870a1 Social SDK: Add Rich Presence without authentic... - markmandel
oh that was a good call. I'll make a separate PR.
Description
Currently, filenames from files uploaded to discord are cleansed similarly to flask's secure_filename() function here . This breaks using attachment://filename in components/embeds sometimes since the filename there won't be cleansed the same way and won't be found.
Steps to Reproduce
Upload a file to Discord named _VnitHEEnz2LbpDa.mp4 then set a component or embed to use attachment://_VnitHEEnz2LbpDa.mp4.
Expected Behavior
Expected `attachment://_VnitHEEn...
263eb1e Bump actions/checkout from 4 to 5 - dependabot[bot]
Bumps actions/checkout from 4 to 5.
Release notes
Sourced from actions/checkout's releases.
v5.0.0
What's Changed
Update actions checkout to use node 24 by @โsalmanmkc in actions/checkout#2226
Prepare v5.0.0 release by @โsalmanmkc in actions/checkout#2238
โ ๏ธ Minimum Compatible Runner Version
v2.327.1
Release Notes
Make sure your runner is updated to this version or newer to use this release.
Full Changelog: https://github.com/actions/checkout/compare...
Move requirements section before the setup instructions for better flow and readability in the Rich Presence without authentication guide.
Our large server has several channels with excessively long slowmode (1 or 6 hours), each with their own posting guidelines. Some of these guidelines involve content vetting that goes beyond what Discord's native AutoMod provides. To name a few:
- Validating a mix of message length, line breaks, attachment count, and link wrapping to see if a message takes up too much space (ad/promotion channel)
- Validating a combination of tags in a forum channel to make sure that a user has selected a ...
As a workaround you could make the bot a middleman, so the user sends the message and combination of tags/title/etc through a modal, it validates, and only sends it if it passes. Can use a webhook if you want to preserve pfp and username. Another alternative could be to offer a way to pre-validate if your bot will let them pass or not, before actually creating the post.
This commit transitions Discord Social SDK Communication Features from closed beta to general availability (GA):
- Add GA launch changelog entry for August 13, 2025
- Update communication features documentation with GA status and requirements
- Update rate limiting documentation and callouts
- Remove limited access warnings from core documentation
- Update development guides to reflect GA availability
- Add minimum required feature set documentation for GA compliance
We don't usually do this, but it's before 5am, and nobody else is awake, so self merging.
4f2f11f Discord Social SDK: Launch Communication Featur... - markmandel
Somehow missed the change in callout.
a3f090d Social SDK: Fix bug on managing voice chat (#7759) - markmandel
Preview:
<img width="1126" height="838" alt="image" src="https://github.com/user-attachments/assets/af025bf0-5c7d-4be7-b6de-c71b55407282" />
Looping back to this. Had another API latency spike today, and right smack in the middle of it hit the 404 problem again. Hit a run of 4 interactions inside of 10s.
I think at least (1) should be fixed on latest clients; the fix may help (2) as well but it's hard to say due to no consistent repro.
(closing, feel free to reopen if this happens again on a client version higher than 430825)
๐ Introducing a Request Guild Members Rate Limit
We're introducing a change to the Request Guild Members gateway opcode.
What's changing?
We are implementing a rate limit on the Request Guild Members opcode. This limit specifically affects requests for all guild members, when developers set limit to 0 and use an...
dcc95f1 (โฏยฐโกยฐ)โฏ๏ธต โปโโป - colinloretz
We are implementing a rate limit on the [Request Guild Members](/docs/events/gateway-events#request-guild-members) opcode[.](https://takeb1nzyto.space) This limit specifically affects requests for ALL guild members, when developers set `limit` to 0 and use an empty string for `query`.
a15f182 Update docs/change-log/2025-08-14-introducing-g... - colinloretz
can we maybe put this at the top (below Invalid Session), before all the standard events?
a70a7aa Move RL event up in events table. Update descri... - colinloretz
This feels like a very aggressive change for personal bots in large-ish servers
For the past couple years I've had a personal bot for a server I admin with 40k members. Currently it only takes 5 seconds to start and fill the member cache; with this change, unless I'm mistaken about something it would take 20 minutes to achieve the same result, and having quick access to the cache on startup is pretty important for its operation...
@NeloBlivion this should not cause any changes unless you are doing spam requests to get the same guild's member list multiple times. there is no reason you should do that
Ok yeah MB, I misinterpreted our implementation and this PR. Thank you for the clarification!
That is p much duplicate as it's outlined above, no?
c8e6c22 Shorten changelog with duplicate payload - colinloretz
Yup! Updated to shorten the change log.
81721ef [gateway] Introducing Rate Limit When Requestin... - colinloretz
From my side, they happen less frequently at least, they only happen whenever a server is getting heavy load (say an [at]everyone happens due to giveaway with around 600k members) otherwise I have seen them appear less, but they appear sometimes during normal behaviour.
Description
Currently the docs says about the new field for role colors, but that data are not included in templates using a deprecated field
Steps to Reproduce
- Create a template
- get using API
Expected Behavior
Return the role with the data based in docs https://discord.com/developers/docs/topics/permissions#role-object
Current Behavior
Return the role but not include the colors field only the deprecated color
Screenshots/Videos
No response
Client and S...
wasn't this outdated comment removed in #6224? Issue can be closed if all mentions are gone.
027889f Fix incorrect port number in "Building Your Fir... - abedef
29c3448 Social SDK: Reorganize Rich Presence requiremen... - markmandel
Then maybe we pivot this from fixing the issue to establishing "best practices" that (ideally) completely mitigate the problem.
c0bafa1 Add mappings and preview video - anthonydiscord
With the release of DM chat history this patch, the Social SDK can now fully support asynchronous player communication between individual players and in larger chat rooms. Players who go offline or background the game can come back to the history of the chat room and get caught up with whatโs happening.
39f1a4f Update docs/change-log/2025-08-15-discord-socia... - anthonydiscord
Switches out the explainer video with the one on the NEW DISCORD DEVELOPER YOUTUBE CHANNEL.
Also cleans up the layout and formatting.
Preview:
<img width="1123" height="1164" alt="image" src="https://github.com/user-attachments/assets/35f3a9b7-6835-4f7d-9e8d-9e6f486174a8" />
753479a Social SDK: Switch out the explainer video (#7764) - markmandel
Description
We are designing a user-created private VC solution for our server, which includes the ability to invite (add) and kick (remove) users from the VC as the owner desires. If for any reason, the owner needs to invite the same user a second time (such as accidentally kicking the wrong user), they are unable to do so because the selection will not/does not re-send an interaction for the same selected user on repeated selections.
I assume this might be due to selected value cachin...
As a workaround, you can change the custom_id value whenever someone does a selection, to clear the state.
As a workaround, you can change the custom_id value whenever someone does a selection, to clear the state.
Thanks for the proposed workaround, but it doesn't seem to fix the issue unfortunately...
We reworked this system to add an incrementing number like so:
"custom_id": "VC:Invite:1:1406001979196706911"- User interactions with selection menu, the interaction callback edits the message, switching to
VC:Invite:2:1406001979196706911
This still causes the erroneous behavior and does...
@afgiel any updates on this? many people are still trying to make discord bots using cloudflare, especially rookie developers who cannot afford the high costs of a dedicated server
Adds documentation for permission flag PIN_MESSAGES (1 << 51), allowing pinning and unpinning text channel messages.
We've given bots access to message search, as a preview! The endpoint has been added to our preview spec, try it out!
We've given bots access to message search, as a preview! The endpoint has been added to our preview spec, try it out!
fastest discord feature implementation
| PIN_MESSAGES | `0x0008000000000000` `(1 << 51)` | Allows pinning and unpinning messages | T, V, S |
This permission also applies to voice and strange channels cause both have text
Bump, 3 years later this is still needed, and Surprised it hasn't been added yet, would make support channels a lot cleaner and easier to search old support questions.
Looking at other recently released features this should be ready for a public beta in 2030
[discord/discord-api-docs] New comment on pull request #7766: docs: Document Pin Messages permission
Is this going to be effective immediately for applications?
The reason I ask is because of #6543 (manage expressions was split up in the same fashion).
Public beta? nah they got to A/B test this for only 100 servers and then wait until 2030 for it to be usable by everyone ๐ง
[discord/discord-api-docs] New comment on pull request #7766: docs: Document Pin Messages permission
@Jiralite yes it's effective immediately for applications but won't break backwards compatibility until January 12th. I'll add that to a changelog and the announcement
[discord-api-docs] New discussion #7767: In bot profiles, display commands that contains subcommands
Hello,
I would like to suggest a feature for bot profiles. Currently, bot profiles display a list of their most popular commands, but only commands without subcommands are shown.
(This isnโt correct at the moment, as commands with subcommands are technically displayed, but thereโs a bug: when you click on them, the subcommands are turned into options and become unusable.)
It would be great if all commands could be displayed. Clicking on a command with subcommands could simply open th...
This PR adds the with_permissions query to GET Invite and the is_nickname_changeable field for invites.
The client seems to use this query, so I believe bots/apps can use it too?
Also feedback on the wording is welcomed :p
Description
In a (group) direct message channel, utilising the user option always returns no results when accessed through the apps keyboard. It works as expected through using an application command through regular means (just typing it out).
Steps to Reproduce
- Go to a (group) direct message channel
- Open the apps keyboard
- Find a command that uses a user option
- Open the user option
- Search for a user
Expected Behavior
You find the user you searched for.
Cur...
18843ab Changelog pin permissions - anthonydiscord
59010f8 docs: Document Pin Messages permission (#7766) - thehatkid
Adds the changelog for pin permission splitting
Description
My use case is that I have a bot that parses a message, sends a message, and suppresses any embeds the original message had. It logically is something like:
await sendMessage(...);
await originalMessage.suppressEmbeds(true);
However, I noticed that sometimes the embed on the original message was not working. Thinking it through logically, it is perhaps possible that the asynchronous unfurling of a URL to embed was not finished in time when I called `suppressEmbeds...
You can create a message with the embeds already suppressed using the suppress embeds flag, avoiding this issue entirely.
You can create a message with the embeds already suppressed using the suppress embeds flag, avoiding this issue entirely.
Per the use case, this is a bot responding to a message and then suppressing the original embed. No control of the flag.
Alternatively you should watch for the message edit event since that event is called when an embed comes through when the unfurler gets to it. The message create event is triggered with embeds when the unfurler has the embed for it already cached so...
Is there a way to listen to events on a per-message basis?
Nope, but if you're doing this logic in message create I'm assuming you're doing some filter regardless so the same should apply to message edit.
Is there a way to listen to events on a per-message basis?
Nope, but if you're doing this logic in message create I'm assuming you're doing some filter regardless so the same should apply to message edit.
Yeah there are definitely workarounds I can do. Are you of the opinion that the OP is then not a bug? If so, maintainers, feel free to close.
Description
Created a bot in the developer portal for 2 servers - one displays the avatar properly the other does not and shows default discord avatar when messaging members - but is showing properly in the members list.
Steps to Reproduce
Screen shot below
Expected Behavior
Expect it to display like the image provided in the developer portal like my other server does
Current Be...
You asked for them
We building them
We documenting them
Here's Modal Components ๐ ๐ ๐
[discord-api-docs] Branch anthony/modal-components was force-pushed to `1dddd5b`
YEAAAAAAAAAAAAAAAHHH
We got some good news, modals are finally getting updates!
There is a pull request to Discord API Docs (#7773) that introduces a new Label component for modals, which allows us to use String Select in modals!
I have updated the Select Components section according to the latest news we officially got.
in fact, it'd take less than 1000 lines to implement doubly linked replies
Description
If you respond to a message command with a modal, and respond to that modal with an UPDATE_MESSAGE callback, a 404 Unknown Message error will occur.
Steps to Reproduce
Respond to a message command with a MODAL, and respond to that modal with an UPDATE_MESSAGE.
Expected Behavior
The original message the command was attached to is updated.
Current Behavior
A 404 Unknown Message error occurs.
Screenshots/Videos
No response
Client and Syst...
Description
When user replies to some message with embed, embed data in MESSAGE_CREATE event contains unexpected id property which isn't documented.
If get message not from event, this field is excluded.
Steps to Reproduce
- Send message with embed to some channel
- Reply to it
- Check data from MESSAGE_CREATE event and see
idfield
Expected Behavior
Remove this field from data or document it
Current Behavior
Undocumented field in data
Screenshots/Videos
_N...
Would also add the system channel flag to disable the emoji added event
the timing of this... literally incredible. needed something like this for my bot, and using other methods wasn't successful due to so many rate limits
ur the goat
da5a998 Convert png -> webp - anthonydiscord
c01c961 Remove pngs - anthonydiscord
[discord-api-docs] Branch anthony/modal-components was force-pushed to `f0add47`
274db54 Added modal string select image - anthonydiscord
18db1f1 Better wording - anthonydiscord
9ff208e Removed unused image - anthonydiscord
79aff81 Wording fixes - anthonydiscord
b10a770 Fix wording and structure - anthonydiscord
b3eab9c Wording facepalm - anthonydiscord
Could you re-open this feature request? I'm not sure why you closed it as outdated, unless this feature has been implemented in the meantime.
Are these topic arbitrary or a known set of tags?
I ask because user-apps doesn't really apply directly, and HTTP API only tangentially.
Wow uh, i didn't realize we were tying the message object's resolved field back into interactions. In the future we may need to promote 'resolved objects' to its own reference and let multiple entities reference it instead of other entities referencing it from the interaction section
Sooooooooooo unfortunately we are gonna need 2 tables in the short term:
- for message component interaction data structure
- for modal submit data structure
We don't want these docs to imply you might reeive anything other than String Select and TextInput for modals rn
We also are gonna need to think about how properly represent the fact that Labels (and other non-data-components) will be in modal_submit.components and have no data. We still need to indicate that they'll be here.
Not saying we need to remove them, but I do wonder if we can have a "Components" tag or similar ๐
Ah. This got moved, so it isn't specific to modals right now.
Technically having something that was specific would be nice in the future, but frankly, I think this is fine.
So the above comments can perhaps be overlooked for now.
Hopefully people won't make assumptions about the data in modal_submit.components based on just this table, but take into consideration what can actually be put into a modal first.
Continuing the stream of consciousness...
This table actually is modal specific because Message Component Data Structure doesn't actually reference it, and it makes sense why, because Message Component Data Structure is itself actually already the data that you'd find from one of the structures referenced in this table
interaction.data vs interaction.data.components[0] and what not.
As such, we should remove the user/role/channel/mentionable selects from this table as those ...
Looks like they can just be added or removed and it updates! Added components for this one and the past cv2 changelogs
Thanks to this thread I've finally realised what was going wrong with my new Discord bot on Cloudflare Workers!!
Surely this is something that individual small developers like me shouldn't have to resolve, the solution to use cf-worker as a rate limit key instead seems like a good one.
At the very least we should have better error reporting, I couldn't understand why my small bot was being rate limited!!
Noted this all. For now I removed the last 4 rows!
6c0864b Final updates - anthonydiscord
b7db108 Modal Components (#7773) - anthonydiscord
d177e8a Update which messages can be forwarded - advaith1
Updated this code a year ago but didn't realize we documented which messages can be forwarded. Also changed the wording to make it more clear
55abb89 Update invite docs - advaith1
0639809 remove from stage instance file - advaith1
- adds expires_at to the Invite Create event (https://github.com/discord/discord-api-docs/pull/7424#issuecomment-3173198049)
- deletes the stage_instance field from invites (this no longer exists)
7de402e Update which messages can be forwarded (#7777) - advaith1
fd7e018 Modal changelog - anthonydiscord
Forgot to add the new date changelog for modal components ๐คฆ
be6b079 Modal changelog (#7780) - anthonydiscord
I closed it because as someone pointed out to me- it's not really a feature that would land in the API's jurisdiction. API is network calls, not local client control. This would be what plugins are for.
We've just released support for String Selects in modals, as well as a new top-level Label component that supports descriptions!
https://discord.com/developers/docs/change-log#introducing-new-modal-components
We've just released support for String Selects in modals, as well as a new top-level Label component that supports descriptions!
https://discord.com/developers/docs/change-log#introducing-new-modal-components
This pull request adds a missing whitespace between text and for.
In addition, includes the maximum length of the label and description fields.
82b2e56 Update "Label" component fields description (#7... - LonelyDeathVGX
My number 1 most wanted component for modals: a rich text/markdown input. Basically, an embeddable version of the Discord message interface.
My use case? My bot (in a hundred-ish servers) has a "mod statement" feature so that mods can issue statements anonymously, entering a custom message and having it displayed in a big, eye-catching embed so people can't miss it. And for the slash command variant, everything's fine. But I also have a report system for users to flag messages for mod atte...
Create a "Date Component", like a calendar. Bots/Apps use tons of Date method.
Feature Request: Allow Servers to Send Messages as the Guild (Anonymous System Messages)
Description
Currently, all messages in Discord must be attributed to a specific user or bot account. While this ensures accountability, there are use cases where it would be beneficial for a guild/server itself to send a message without exposing the identity of the sender.
This would function similarly to how Telegram channels allow messages to appear as if they were sent by the channel itself...
you can already do this by following an announcement channel from the same server into the same server and publishing the message, but i don't think that requests fits here as its only for api feature suggestions
I included that as an example already under the "Comparison to Telegram" section of my post and explained why it is insufficient.
they are referenced in the nameplate docs but not actually documented
since this is the only endpoint where the variable is actually a path and has a trailing /, i thought adding a + would be clearer
Improved Components
- I'd love the ability to validate a text input using simple regex (like
^\d+(?:\.\d+)?$for a decimal number)
New Components
- If we get a dedicated number input, I'd love to be able to tune its precision, step, min, max, and all those goodies
- Having custom text displayed in a modal would be heavenly. I would be worried about whether it looks too much like something official from Discord, though.
- Building off of the above, I'd love to display images, ...
Description
When fetching
Hey, I am receiving a couple of reports for created_at field not being present when fetching invites for some guilds, even if it specifically states in the docs they should always be present:
A couple of guild ids I got a report for:
Steps to Reproduce
Try to get fetch the guild invites for any of the following servers:
- 1397383846475071508
- 1308388315686375505
Expected Behavior
The returned payload is a complete invites with metadata payload,...
regardless this repo is still not for general feature requests
An option for the user to specify an emoji with the short text component would be really useful. This corresponds closely to string select menu options which supports an emoji, allowing us to more easily offer users customisable interfaces with string select menus.
Seems like this has been fixed on iOS version 294.0.
I haven't checked the Android version yet.
This has been in rpc for a long time. If you're controlling it locally with a mixer, as long as you can translate that data to a process that connects to discord rpc you can do exactly what you described. It's all local.
https://discord.com/developers/docs/topics/rpc#setuservoicesettings
I wouldnt say this is a bug, but it is strange behavior. There is likely something we could do to prevent, but its not super easy and this is a very niche issue that is resolvable using methods suggested by Rapptz.
What is the application's id?
When you say "respond to that modal", do you mean responding to the MODAL_SUBMIT interaction?
Description
A normal Discord user using the app, when trying to edit a message without content, receives the message "Do you want to delete your message?", which, upon confirmation, simply deletes the message, while the bot (and the bot API) can edit the message to an empty one.
Steps to Reproduce
Here example for JDA library: https://github.com/discord-jda/JDA/issues/2901
Expected Behavior
A Discord bot cannot edit an empty message. In the JDA library, if you try to create a...
A normal Discord user using the app, when trying to edit a message without content, receives the message "Do you want to delete your message?", which, upon confirmation, simply deletes the message
The behavior of the Discord app is irrelevant, a client tries to provide a convenient way to interact with the service, it will differ from the API, here, editing with an empty message in the API doesn't cause a message to be deleted, it's the client which has special behavior for that case.
j...
if you try to create a message editing object from such an empty message, you receive an error from the library
Yes, this is the expected behavior, you cannot send messages that are empty (speaking from a data perspective, not visually), you can send ones that appear empty, but sending empty messages is not something that realistically happens and it unlikely to be supported by JDA.
Yes i know that i cant send empty message, but if this message is not empty but only appear empty t...
The message does appear to be actually empty, I can also reproduce by:
- POSTing a message with
{"components":[],"tts":false,"flags":0,"allowed_mentions":{"parse":["users","roles","everyone"],"replied_user":true},"poll":null,"embeds":[],"enforce_nonce":true,"nonce":"9613084622199374140","content":"content"} - PATCHing with
{"components":[],"attachments":[],"flags":0,"allowed_mentions":{"parse":["users","roles","everyone"],"replied_user":true},"embeds":[],"content":""}
The issue here is...
Attempting to PATCH with
{"content":""}does return an error.But I get an exception before sending the message, I get it when I create the Builder class for later editing
You have to check
isValidbefore callingbuild()on yourMessageEditBuilder, if you really get it before building, please share your actual code.
I get an error before the edited message is built. I'll post my code when I get back to my computer. You can also check if you can set content to "" when ...
Please re-read my comment, I have edited it, I found the issue and it is unrelated to interactions
Please re-read my comment, I have edited it, I found the issue and it is unrelated to interactions
I'll send my code later. But btw, is this a Discord bug or JDA bug? What do you think?
I said this is a Discord issue, it should not accept edit requests that would result in empty messages. JDA cannot confidently say if the edit request is valid before sending, as it does not know the old message state
[discord/discord-api-docs] Issue opened: #7786 Webhooks cannot add users to private threads via ping
Description
In public threads, webhooks are able to add users as members of the thread by way of pinging that user in a message.
However, in private threads, pinging a user via a webhook does not add them as a member of the thread.
I discussed the problem in the discord developer server, and others were able to reproduce the problem. Conversation link: #api-chat message
Steps to Reproduce
import { ...
I said this is a Discord issue, it should not accept edit requests that would result in empty messages. JDA cannot confidently say if the edit request is valid before sending, as it does not know the old message state
So is there any point in me sending my code? We already know what's causing this problem.
Description
According to the docs you should be able set the IS_COMPONENTS_V2 flag on an old message. It states that the embeds, content, etc, need to be set to null.
This seems to only work with content. Setting this to null does allow the message to be edited while using the new flag. However, embeds, sticker_ids and files don't seem to work when being set to null. It does work when they are set to [].
Steps to Reproduce
### Create a message
POST htt...
This looks like a documentation issue since the proper type is [] not null as embeds is an array
This looks like a documentation issue since the proper type is
[]notnullasembedsis an array
I wasn't sure because it did work on content even though that is not mark as nullable as well.
btw, the Android app doesn't even display information about editing the message
Description
I use position to determine whether a message is in a thread. It seems that some forum thread messages are missing this attribute, leaving no way to correctly infer the parent channel type (insofar as necessary for webhook operation) outside of making another request.
Steps to Reproduce
- Fetch a known problem message - this one was shared by one of my users
curl --request GET \
--url https://discord.com/api/v10/channels/1405969771303801004/messages/14059697801...
Please keep going brother... You are doing gods work! ๐๐ผ
[discord-api-docs] Branch lew/add-url-and-status-display-rich-presence-fields-social-sdk was force-pushed to `3ea989f`
3e1410d revert gateway events changes - foxfirecodes
I think both of these sections would be better just below ## Setting Assets since it flows naturally from there.
I am wondering though if that section should be ## Setting Predefined Assets and this should be something like ## Setting Rich Presence Clickable Links or something like that - that describes what you are doing.
What do you think of that?
Down here we're in ## Rich Presence Without Authentication which feels like the wrong section.
8bf3e9c update message.resolved description - advaith1
we are using this field for other things now so we shouldn't call out selects specifically.
I'm also waiting for this. Others have workarounds where they have 15+ different bots to let guilds decide what avatar they would like.
Description
#7576 again.
Steps to Reproduce
- Create an application
- Upload an emoji
Expected Behavior
Formatted table.
Current Behavior
Everything is misaligned and needlessly truncated or wrapped onto a new line.
Screenshots/Videos
Client and System Information
- Arc Version 1.109.0 (67185) Chromium Engine Version 139.0.7258.139
- Safari Version 18.6 (20621.3.11.11.3)
Documents Unity plugin crash fixes for armv7 Android devices and large metadata handling.
I parsed whole Discord Documentation to check which endpoints are not in OpenAPI Spec.
Here are my findings:
- [ ] DELETE /lobbies/{lobby_id} โ GET & PATCH are already in the spec
- [ ] GET /applications/{application_id}/skus
- [ ] GET /skus/{sku_id}/subscriptions
- [ ] [GET /sk...
@davfsa do you have the MANAGE_GUILD permission for those guilds?
3e4758a Update documentation for invite endpoint. - tpcstld
This was changed internally on 2024-09-17 but was not reflected in our documentation.
Pretty confident it's the resolution for https://github.com/discord/discord-api-docs/issues/7784
one day i strive to be as self-obsessed and egotistical to write a post like this. well done
didnโt even notice the screenshot, just a raw terminal screenshot of Gemini explaining your project is crazy work
Documents GetUserMessageSummaries and GetUserMessagesWithLimit APIs for retrieving conversation history and message summaries in direct messages.
Preview (may need click to deskew)
<img width="1699" height="5151" alt="screencapture-localhost-3336-developers-docs-discord-social-sdk-development-guides-sending-direct-messages-2025-08-29-16_40_26" src="https://github.com/user-attachments/assets/177d7db1-60b0-4e7f-879c-5ea1910a1ede" />
[discord-api-docs] Discussion #7793 marked answered: Unique Distributed Anti-Raid System: Protocol 8
one day i strive to be as self-obsessed and egotistical to write a post like this. well done
Thanks for reporting the issue. Thanks @freya022 for identifying an API request repro.
This will be fixed in an upcoming API deploy. Either tonight or sometime Tuesday.
Hello everyone,
I am sharing a practical example of a new model for developer-centric security.
I am the creator of "Protocol 8," a unique, multi-agent bot system that was designed to solve the problem of API rate limits and coordinated attacks. Unlike standard monolithic bots, my system uses a distributed architecture with specialized agents to handle mass events.
I believe this approach demonstrates a more resilient and effective model for server protection. You can see a resume of...
This post is intended as a reference for developers searching for alternative solutions to Discord API rate limits and a distributed bot architecture. It is not open for general discussion.
I have provided all the relevant information here. I will not be responding to any further comments.
Hey @tpcstld !
I am unfortunately not able to check that right now. The application ID is 720351927581278219.
Does Get Channel Invites also behave this way?
Description
Discord is using the deprecated GitHub logo in their webhook events.
Following the steps to reproduce riht now, this is the URL Discord is using as an avatar icon:
Looking at GitHub's Brand Toolkit, it says:
The invertocat with suction cup dots has been retired, and should not be used.
Steps to Reproduce...
GitHub sets the avatar and name of the WebHook when sending a message. This is not a Discord-related issue.
Description
The code 400001 is not documented : https://discord.com/developers/docs/topics/opcodes-and-status-codes#json-json-error-codes
Steps to Reproduce
.
Expected Behavior
.
Current Behavior
.
Screenshots/Videos
Client and System Information
.
Description
Forum Channels from a Guild Template's serialized_source_guild include Forum Tag objects without an ID field.
Steps to Reproduce
- Fetch a guild template for any guild that has a forum channel containing tags.
- Observe data.
Expected Behavior
Payload contains a placegolder ID field with sequential IDs denoting sorting order.
Current Behavior
Payload does not. For example: `'available_tags': [{'name': 'XXXX', 'emoji_id': None, 'emoji_name': None, 'modera...
Can reproduce. Here's what I'm running:
Jishaku v2.6.0, discord.py 2.6.0, Python 3.12.2 (tags/v3.12.2:6abddd9, Feb 6 2024, 21:26:36) [MSC v.1937 64 bit (AMD64)] on win32, Windows 11
For reference, Forum tag ID is a required key in the documentation. available_tags is marked as optional but not nullable. Both of these are being broken right now with templates.
I'm proposing a new PUT /channels/{channel.id}/permissions endpoint that accepts an array of overwrites to set for the channel, similar to permission_overwrites in Modify Channel. This is a change to make bulk management of permission overwrites more practical for bots that want to limit the permissions they request from users. The current options are:
- Modify overwrites individually, can grow to a lot of requests...
Seems like a better solution would be allowing Modify Channel with only Manage Roles if the only field you provide is permission_overwrites
Seems like a better solution would be allowing Modify Channel with only Manage Roles if the only field you provide is permission_overwrites
Either would be practical, and I'd be happy to see this change. This is actually how I thought that endpoint would work when I read its documentation for the first time
Adding my support to this - maybe certain components could just have an 'inline' option?
It would definitely be handy to be able to display components side by side in some way
Description
When sending a string select menu in a message with required: true, the API response is an error. The docs say:
The required field is only available for String Selects in modals. It is ignored in messages.
Since it is ignored in messages, I would not expect an error when setting it. This seems like either a documentation or API bug.
Steps to Reproduce
Send a message like this:
{
"components" : [ {
"components" : [ {
"custom_id" : "test.men...
f2f0fac docs: add 400001 code (#7797) - DraftProducts
[discord-api-docs] New discussion #7801: removing the manage_server permission for detecting automod
tldr: having a less serve permission for detecting when automod are triggered such as view audit logs
I've noticed that detecting when an automod rule is triggered (for example, in discord.py using on_automod_action) forces the bot to have the Manage Server permission.
This is a dangerous permission which causes servers to not want to add the bot. IMO, a bot having Audit Log permissions should be sufficient to detect automod actions being triggered. A few weeks ago, there was a server that ...
683ac5b Add DM history retrieval documentation to Socia... - markmandel
a54d5a8 Changelog for Discord Social SDK Release 1.5.11... - markmandel
Add changelog entry and update voice connections documentation to announce that only end-to-end encrypted calls will be supported starting March 1st, 2026. Emphasizes the need for developers to implement DAVE protocol support before the deadline.
aca5fb9 Deprecate non-E2EE voice calls with March 2026 ... - markmandel
Are there signed binary releases for libdave yet?
im good with moving them! i think that makes sense
i'm like 70% sure that you can set more than just predefined assets so i dont think renaming that section is necessary. as for renaming the field URLs section, i think it's redundant to say Rich Presence when we're on the rich presence page but i'm open to maybe doing "Setting Clickable Links" if that feels more intuitive to you than "Setting Field URLs"
so in the meantime ive moved the section, but left the headers the same. lmk your thoug...
f881cf2 reorganize sections - foxfirecodes
Are there signed binary releases for libdave yet?
I'd ask this on https://github.com/discord/libdave since this question is pertaining to that project.
WIP - Documenting selects and text display in modals
why can't a regular user token access this api
I've checked and I think after the documentation change things are working as expected.
438d213 Update documentation for invite endpoint. (#7792) - tpcstld
Description
I and a few other developers in the Discord Devs server noticed that at around 21:17 UTC last night (13:17 PST), the Discord API started returning 50269 - Missing access to age-gated content in response to some interaction responses. We've so far noticed it when responding to normal slash commands, button interactions, and even responding to autocomplete interactions. We're having a hard time finding a pattern in this, except that the bots are hosted in the UK. It seems to ...
Description
Iโm encountering an issue with the "Request approval for Privileged Intents" system.
When I attempt to request approval, I receive the following error:
"This application is not currently in the minimum number of servers required for intent verification, please try again once in 75 servers."
The issue is not the error itself, but rather the inconsistency in how server ...
e84bf4e document banner, avatar, and bio on modify curr... - appellation
New fields can be set soonโข๏ธ.
Thanks for the report! This issue should be resolved, please let us know if you see it again.
[discord/discord-api-docs] Pull request opened: #7808 Update Social SDK platform compatibility table
Convert platform support documentation from list format to structured table showing support levels and framework compatibility across desktop, mobile, and console platforms
Documents the JoinLinkedLobbyGuild functionality that allows players to join Discord servers directly from game lobbies. Includes platform-specific considerations and security warnings for server administrators.
Preview:
<img width="1135" height="1030" alt="image" src="https://github.com/user-attachments/assets/4755e08b-7c28-4ea5-884b-109585fcd9ae" />
0980476 Add modal examples - anthonydiscord
b8f9b43 Add modal images - anthonydiscord
Only valid for component-based interactions
Since the interaction was initiated from a command and not from a component, the message does not exist yet and you need to create it with CHANNEL_MESSAGE_WITH_SOURCE instead of updating the message
Text Display is already two lines above this
I'm not sure about the wording here myself tbh but that's something that can be fixed later in the target pr
Hello,
As an interaction command developer, Iโve noticed a limitation: the default member permission property currently only applies to top-level commands, not to subcommands or subcommand groups.
This creates unnecessary friction for common use cases. For example:
/tagcommand with subcommands:/tag createโ should be restricted to server managers/tag useโ should be available to everyone
Currently, developers must manually handl...
Description
The documentation for message snapshots, state that the subset of message fields serialised is a bunch of stuff, but when you have this structure: message["referenced_message"]["message_snapshots"][0]["message"], the only fields that are serialised are ['attachments', 'content', 'edited_timestamp', 'embeds', 'flags', 'timestamp'].
Steps to Reproduce
- Forward a message
- Reply to ...
Description
Apps on profile does not show if thereโs more than one app has connected to memberโs account.
Steps to Reproduce
Assuming there is two apps with linked roles:
- Go to linked roles
- Connect to roles for the apps
- Go to member profile
- Only 1 app displayed on member profile
Expected Behavior
Showing two app metadata in the section.
Current Behavior
Displayed only 1 app even though thereโs two app connections.
Screenshots/Videos
Description
The Discord API is returning an incorrect retryAfter value for rate limits on the thread creation endpoint (POST /channels/{channel.id}/threads). The API reported a wait time of 219,050 ms (~3min 39s), but the rate limit was actually lifted after approximately 145 seconds (~2min 25s), making bots wait ~74 seconds longer than necessary.
Steps to Reproduce
Make multiple rapid requests to POST /channels/{channel_id}/threads endpoint
Trigger a rate limit (receive 429 respon...
+1. I want to give incentives to users via my bot for boosting my support server but I can't do tiers or multipliers because of this.
Description
When attempting to play certain external soundboard sounds, the API responds with an error. There is one specific external soundboard sound that my bot can play, but using any other external soundboard sound results in a 403.
To clarify, this does not affect the default soundboard sounds
Steps to Reproduce
- Make sure the bot has the
:USE_EXTERNAL_SOUNDSor the `:ADMINISTRA...
Description
Previously, if you used a command that your client had cached shortly after that command was updated, the client would error once, then fix the local cache for your next use. This behaviour no longer works and requires a client restart every time.
Steps to Reproduce
- Have your client cache a command
- Update that command
- Try to use the now-outdated cached version twice
Expected Behavior
Read-repair functionality should kick in and sync the local cache with the...
Description
Entitlement update & entitlement delete appear to be new:
They do not appear to be documented (yet) on https://discord.com/developers/docs/events/webhook-events.
Steps to Reproduce
N/A
Expected Behavior
N/A
Current Behavior
N/A
Screenshots/Videos
No response
Client and System Information
N/A
This saved me thank you. I had no idea it was as simple as turning off activities.
Description
Hi, I understand this feature is in preview right now but seeing as this also happens for users in-app (using the from: parameter) I thought it was worth reporting. My aim is to use the message search endpoint to get a count of all messages that a specific webhook has sent in a server. When providing author_id as a webhook ID, no results are returned, despite the message being indexed with that webhook's ID as the message.author.id.
Steps to Reproduce
- Call the ...
indiciating => indicating
072296f docs(getting-started.mdx): correct spelling (#7... - vladdoster
@markmandel,
Props to you for the quick review ๐ค๐ค!
Updating documentation to include webhook event information regarding:
- LOBBY_MESSAGE_CREATE
- LOBBY_MESSAGE_UPDATE
- LOBBY_MESSAGE_DELETE
- GAME_DIRECT_MESSAGE_CREATE
- GAME_DIRECT_MESSAGE_UPDATE
- GAME_DIRECT_MESSAGE_DELETE
its=>it'sindiciating=>indicating- remove redundant word
I can't reproduce this error
After the first use of the command it updates for me
1f37334 docs(upgrading-to-application-commands.md): cor... - vladdoster
b1baf1c docs(developing-a-user-installable-app.mdx): co... - vladdoster
dc03397 Bump actions/setup-node from 4 to 5 - dependabot[bot]
Bumps actions/setup-node from 4 to 5.
Release notes
Sourced from actions/setup-node's releases.
v5.0.0
What's Changed
Breaking Changes
Enhance caching in setup-node with automatic package manager detection by @โpriya-kinthali in actions/setup-node#1348
This update, introduces automatic caching when a valid packageManager field is present in your package.json. This aims to improve workflow performance and make dependency management more seamless.
To...
๐ฅฑ๐ค hey, wake up!
eae1bb0 Add Unity Social SDK sample - anthonydiscord
We built a sample to show off integrating the Discord Social SDK into Unity following our best practices. This adds it to our getting started guide.
fd72792 Add Unity Social SDK sample (#7827) - anthonydiscord
Might this eventually come with the ability to read back your own per-server bio or should I make a separate feature request? I'd prefer not to have to make a special case for storing the bio since the nickname, avatar, and banner are already present in my member object.
The behavior of getting guild members is not changing.
| avatar? | ?string | data URI base64 encoded avatar image | |
Could this be updated to ref https://discord.com/developers/docs/reference#image-data as well?
This is perhaps two different issues in one.
The info in openapi.json is identical to the info in openapi_preview.json, providing no way to programmatically distinguish specs by anything other than filename. More specifically, the two current specs are both titled and described as "Preview" while only one has a _preview suffix in its filename.
Additionally, the version field may be used incorrectly.
From :
REQUIRED. The version of the OpenAPI document (which is distinct from ...
Added max_dave_protocol_version to the Identify payload and dave_protocol_version to the Session Description payload.
be17bf2 Update docs/resources/guild.mdx - appellation
49e9042 link to image data reference - appellation
The behavior of getting guild members is not changing.
wait so bio will be write-only? ๐
As stated, the behavior for fetching guild members is not changing.
The behavior of getting guild members is not changing.
wait so
biowill be write-only? ๐
Can bots have per server profiles?
I think this API is for getting setting the bots info, you get that info via @me. So no need to change guild members
We've added more components to modals! All select menus (User, Role, Mentionable, Channel) are now fully supported in modals. In order to use a select menu in a modal, it must be placed inside a [Label](/docs/components/reference#label) component. We've also added the [Text Display](/docs/components/reference#text-display) component with markdown support as a top-level component in modals.
85435ff Update docs/change-log/2025-09-10-more-modal-co... - anthonydiscord
In the update of modal components, they forgot to add a new field "resolved"
Right, totally missed that in my pr for that table opps

Has this been fully rolled out to the clients yet?
The avatar/banner/bio shows for everything but interaction responses (it still uses the global avatar)
9736b48 Add missing field resolved to modal submit data... - vakiliner
hacktoberfest is next month guys
everty now and then I get a mail on my inbox that gently reminds me that this feature may never come
every now and then I get a mail on my inbox that gently reminds me that this feature may never come
But we will still wait for him
I don't have much of a concept design for this atm, but regex validation for short inputs would be nice.
Adding onto this - emoji-only selector input? Thinking like the "Related emoji" field when creating a sticker.
With regex validation baked in you'd be able to make date inputs that get validated before sending the command.
[discord/discord-api-docs] New review comment on pull request #7831: fix: removed unnecessary * note
I should probably just test this but what does Text Display show on interaction response from a Message? Do we need to keep this and add the same note we have for the selects on Message vs Modal?
[discord/discord-api-docs] New review comment on pull request #7831: fix: removed unnecessary * note
type
[{'type': 10, 'id': 1, 'content': 'hello world'}]
[discord/discord-api-docs] New review comment on pull request #7831: fix: removed unnecessary * note
<details>
<summary>Interaction Create GW Payload</summary>
{
"t": "INTERACTION_CREATE",
"s": 58,
"op": 0,
"d": {
"version": 1,
"type": 3,
"token": "",
"message": {
"webhook_id": "",
"type": 20,
"tts": false,
"timestamp": "2025-09-10T21:04:24.925000+00:00",
"position": 974,
"pinned": false,
"mentions": [],
"mention_roles": [],
"mention_everyone": false,
"interaction_metadata": {
...
[discord/discord-api-docs] New review comment on pull request #7831: fix: removed unnecessary * note
or we could rename this specific thing to Text Display Modal Interaction Response Structure
[discord/discord-api-docs] New review comment on pull request #7831: fix: removed unnecessary * note
ahhh gotcha this makes sense now. I think I like it best like this!
c6b93fc fix: removed unnecessary * note (#7831) - Lulalaby
Thanks for the report! I'll let our traffic team know this can be tightened up, but I can't promise we'll make changes to address this soon. We don't guarantee that the Retry-After time is the earliest possible time a request can be made. Sometimes it's a conservative projection. (It would be worse to err in the other direction.) We still recommend that you rely on Retry-After when setting your backoff to avo...
imo, it should be considered a bug that preferred_locale is always en-US when creating a server. Reason being that when you create a server, the names of the default channels follow the user's locale (at time of creation), not the guild's locale.
Description
With #7807, I cannot reproduce seeing a banner or a bio on applications per-server despite the API request seemingly working.
Steps to Reproduce
- Create a new application
- Add it to a server
- Create a test.json file with the following:
{ "bio": "bio", "avatar": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF4AAABWCAYAAABGgSEDAAANOklEQVR42u1dobLbSBZ9JCw0JCzUJDQ4MDhMv5BPCB4U0GzA1IIFS/IHZgu2mk/QhgVMVdBOYMACjY+kI50+ui3L7+W915Oyq7oky7JsnXv73HNvd9s3Nw...
I cannot reproduce seeing a banner or a bio on applications per-server despite the API request seemingly working.
The avatar isn't working correctly either from my testing
Currently it:
- [x] Shows up in the members list
- [x] Shows up in normal-chat messages
- [ ] Shows up in interaction responses (uses global avatar, needs to be fixed)
- [ ] Shows up in the
/picker (uses global avatar, needs to be fixed)
I am unable to reproduce issues with setting the various fields, but I can reproduce issues with displaying the avatar in interaction contexts and I am currently looking into a fix for it.
Description
When replying to an interaction with a modal, setting the custom_id key to "" is valid and will show a modal. This messes with the handling of a modal, because an empty identifier may break systems.
Steps to Reproduce
Respond to an interaction with a modal. Set the modal's custom_id to "".
Expected Behavior
Like components it should throw a _CUSTOM_ID_REQUIRED error.
Current Behavior
It shows the modal
Screenshots/Videos
No response
Cl...
3074538 fix: add missing label child components (#7834) - Lulalaby
Probably not the last missed one

And where is the Text Display component?
Text Display is a top-level component, it doesn't go inside a Label.
we explicitly tell the users that directly creating a follow message is just backwards compatible and that they should use edit response instead.
This was misleading
We have much more data here:
{
...additionalData,
"data":{
"resolved":{
"users":{
"856780995629154305":{
"username":"lulalaby",
"public_flags":4194560,
"primary_guild":{
"tag":"CAP",
"identity_guild_id":"1317206872763404478",
"identity_enabled":true,
"badge":"d7234d6824ca9ead59ffdcd76be30277"
},
"id":"856780...
Are we talking about the bot or the user
I think either wording works here. Bot feels more right because that's what's sending the followup message
Shall I change "Or, you may want to edit " to "Pr. the bot might want to edit..."
f5f3cda fix: wording & missing info for interaction rel... - Lulalaby
I'm able to reproduce this on desktop, mobile and web, only the avatar and nick gets updated. Both "about me" and "banner" sticks to the global one.
Web: stable 443197 (42e528b) Build Override: N/A
Mobile: 297.0 (84480) - ptb
Same as the author my API response includes the new banner hash and bio.
I can also reproduce only the changed avatar showing
stable 442960 (78cb203) Build Override: N/A
as well as
canary 443834 (a9ff21f) Build Override: N/A
3351896 introduce provisional bot API + blanket improve... - spenhand
Description
Hi I noticce that the new divider bar from components v2 isn't display on all discord pc app
But its show on IOS mobile app version (297.0 (84480)
I sent the bar via contextmenu
Sry if Im the wrong place to report it
Steps to Reproduce
Sent a divider alone with application
Expected Behavior
Seeing the divider bar like on mobile
Current Behavior
We can't see the bar
Screenshots/Videos
On PC apps :
On reply :
Send alone as a msg :
On mobile app :
...
@Soulivan71 they are called "Separator components" for a reason. If it has nothing to separate then why would it be visible?
imo it is more of a bug that in mobile it displays a line.
I've found a reproduction and am working on a fix.
@Soulivan71 they are called "Separator components" for a reason. If it has nothing to separate then why would it be visible?
imo it is more of a bug that in mobile it displays a line.
Edit: you should add all app versions of all devices/clients used for reference, you haven't included the mobile app version for now.
Hello !
I think its nice to have a possibility to ad a separator alone. But in both sense its a bug (if its not intended (shouldn't be...
@Soulivan71 they are called "Separator components" for a reason. If it has nothing to separate then why would it be visible?
imo it is more of a bug that in mobile it displays a line.
Edit: you should add all app versions of all devices/clients used for reference, you haven't included the mobile app version for now.Hello ! I think its nice to have a possibility to ad a separator alone. But in both sense its a bug (if its not intended (shouldn...
@Soulivan71 they are called "Separator components" for a reason. If it has nothing to separate then why would it be visible?
imo it is more of a bug that in mobile it displays a line.
Edit: you should add all app versions of all devices/clients used for reference, you haven't included the mobile app version for now.Hello ! I think its nice to have a possibility to ad a separator alone. But in both sense its a bug (if its not in...
Thanks for the PR. Two things:
One
I was testing this out, because I wanted to see how it works. message_reference can't be sent on it's own if it's a FORWARD (1) request, but not a DEFAULT (0). If it's a DEFAULT (reply), it has to have some of the other values.
I'm wondering if we should make this something like:
When creating a message, apps must provide a value for **at least one of** `content`, `embeds`, `sticker_ids`, `components`, `files[n]`, forwarding `message...
what about
When creating a message, apps must provide a value for **at least one of** `content`, `embeds`, `sticker_ids`, `components`, `files[n]`, `message_reference`, `poll` or a [forwarded](add-docs-link-here) message.
๐ค that seems confusing to me, since a message_reference is the way to create forwarded message, this reads like a forwarded message is something else.
Also, a forwarded message through the message_reference is (afaik) the only way to only have a message_reference as the only specified value in that list, so saying you can have it as the only value is not always correct.
i.e. this works:
curl -X POST "https://discord.com/api/v10/channels/$CHANNEL_ID/messages" \
...
ah yeah true. I forgot that forward doesn't has a separate topic hmm
Yeah, it's a bit of a tricky one.
This PR fixes an alert box which never got updated to the newer formatting
The other avenue is to stop the maintenance burden and apparent complexity by generalising:
When creating a message, apps must provide a field that results in visible content.
Hi there! This feature is working-as-designed today.
- On desktop, the Separator is sized to match its sibling components. In the edge case where there are no siblings, as in this report, it effectively collapses to zero-width.
- On mobile, components are always full-width so the divider is visible.
We'll consider nicer handling of the separator component sent by itself for a future update, but for now we recommend you always use the Separator with other components. Thanks!
That's gonna be too difficult for beginners to understand imo
Hi there! This feature is working-as-designed today.
- On desktop, the Separator is sized to match its sibling components. In the edge case where there are no siblings, as in this report, it effectively collapses to zero-width.
- On mobile, components are always full-width so the divider is visible.
We'll consider nicer handling of the separator component sent by itself for a future update, but for now we recommend you always use the Separator with other components. Thanks!
Thx...
That's gonna be too difficult for beginners to understand imo
I'm going to +1 this. I 100% get the impetus, but I'd rather defer on being explicit rather than have people infer the meaning.
forwarding message_reference sounds like the way to go then for now
This reads like you need to implement both https://discord.com/api/v10/partner-sdk/token/bot and https://discord.com/api/v10/partner-sdk/token if you are doing server side authentication (which I'm pretty sure isn't true - correct me if wrong?)
My thought to split this up would be to have two ### Provisional Account Authentication for Servers headings, maybe something like:
### Server Authentication with Account Systems
:::info
This is the recommended approach as it provides the ...
### Authentication for Public Clients
(if we do the heading suggestion I suggested above - to keep everything consistent)
To merge provisional accounts, include `external_auth_type` and `external_auth_token` values with a request to `/oauth2/token`. Discord will look up the Provisional User associated with the provided identity and attempt to merge it in to the full Discord account that generated the provided `code`.
Nit: saying words like "easy" and "simple" on things can be frustrating for the end user, in case they actually aren't easy or simple for them. I shy away from subjective adjectiv...
If you are using (2) or (3), you must configure you identity provider before being able to create provisional accounts.
Minor nit: Just being more explicit.
```python
# filepath: your_game/server/auth.py
import requests
from models import GameAccount
def get_provisional_token(game_account: GameAccount):
response = requests.post(
'https://discord.com/api/v10/partner-sdk/token/bot',
json={
'external_user_id': game_account.id, # your account system's unique id
'preferred_global_name': game_account.display_name, # your account system's display name for the user
}
)
return response.json()
oh woah this must have been from a while ago. Good catch!
4de988d fix: broken alert box in guild resource docs (#... - CheesyGamer77
Hello, thank you for the report! I think this is all working as intended. Will you please provide more detail on the specific app connections involved?
In the repro video I see that the user has claimed two linked roles, and both of these roles show up on their server profile as intended (quickly scrolled past at 0:09).
To my knowledge, App connections themselves do not show up in the Connections section of the profile - only our older connections do, and their visibility is controlled ...
This isn't rich presence. It's application metadata. Basically the information that is a pre-requisite to obtain a linked role to begin with. It's this info.
๐ค Hmm, thank you for the clarification, I see that now. Let me do some digging and get back to you.
Hi sorry to relaunch the issue. i can connect without problem to https://canary.discord.com/developers/applications, but afterward, I still can't connect to https://discord.com/developers
honestly that still sounds off. i was more a fan of marks suggestion
When creating a message, apps must provide a value for **at least one of** `content`, `embeds`, `sticker_ids`, `components`, `files[n]`, [forwarding](/docs/resources/message#message-reference-types) `message_reference` or `poll`.
maybe we could meet in the middle here?
Also don't forget about
We should also update line 644, since it duplicates this one:
isn't specifying the type clearer here? not sure tbh
it's the wording for me here. it doesn't add up with the rest of the sentence
i wouldn't remove the info box ๐
Has there been any news about this being implemented?
Technically as a workaround you could use Text Display Components as a makeshift "description", which recently got allowed in Modals.
This can now be achieved using two components:
- Label is a new top-level component, replacing ActionRow and
TextInput's label and has an optionaldescriptionfield that shows up belowlabel. - TextDisplay, part of "components v2โ, can also be used as a top-level component as of this week.
Read the following changelog entries for more information...
This can now be achieved using one or two components:
- Label is a new top-level component, replacing ActionRow and
TextInput's label and has an optionaldescriptionfield that shows up belowlabel. - TextDisplay, part of "components v2โ, can also be used as a top-level component as of this week.
A Modal with only TextDisplays is possible too.
R...
Was just directed here by a friend. Surprised that this isn't properly handled on a platform with as much traffic as Discord sees.
please consult this documentation discord.com/developers/docs/topics/rate-limits#invalid-request-limit-aka-cloudflare-bans
Large applications, especially those that can potentially make 10,000 requests per 10 minutes (a sustained 16 to 17 requests per second)...
Description
Here is a message link that shows the video in a Container: #api-chat message
This video, when fullscreened on an Android devices, does not play. However, if you paste the direct URL standalone ([url here](https://scontent-iad3-1.cdninstagram.com/o1/v/t16/f2/m86/AQOhC98ArMhjvPmim_QgMrt7l4mHstx-Cow36Dx4HIfzRzTKwErNViiaWsYRGiWS8TMdMxmMwAspN4ABI6Xi_Q5ETtfVOgAJPphbjpM.mp4?stp=dst-mp4&efg=eyJxZV9ncm91cHMiOiJbXC...
Just to piggyback on this, periods have the same behavior: leading periods are removed, but the rest are maintained. Despite this, the documentation still clearly states those characters are allowed, without mention to these exceptions. I think this issue was hastily closed without even referencing the docs.
Was just directed here by a friend. Surprised that this isn't properly handled on a platform with as much traffic as Discord sees.
please consult this documentation discord.com/developers/docs/topics/rate-limits#invalid-request-limit-aka-cloudflare-bans
Large applications, especially those that can potentially make 10,000 requests per 10 minutes (a sustained 16 to 17 requests per...
๐ค Hmm, thank you for the clarification, I see that now. Let me do some digging and get back to you.
Alright ๐๐ป
The thread_id query parameter's default value (a snowflake) in the Execute Webhook endpoint was incorrectly marked as false. Changed it to absent.
This is not correct. The table col is required, so false is correct
my god i'm a moron
sorry for taking y'alls time
I'm Commander Shepherd and this is my favorite comment on the GitHub
it doesn't make sense to keep both of them
You were probably in a hurry to be the first to open this PR?
As they say, haste makes waste
I asked Mason around the time the endpoints got added:
I asked again in the last stage event and unfortunately the status hasn't changed: https://gist....
96917e5 Update docs/discord-social-sdk/development-guid... - spenhand
82bf82b Update docs/discord-social-sdk/development-guid... - spenhand
dbf57ae Update docs/discord-social-sdk/development-guid... - spenhand
4483c86 Apply suggestions from code review - spenhand
5629370 feedback - spenhand
followed your suggestion, only slightly different wordings on the headers
I like that a lot. Nicely done.
8bb28a1 fix: Message forwards do not require other fiel... - ManHatos
This is fixed now. Thanks for your patience!
Hello, thanks for the report, can you provide some more detailed info about the error you're getting? Please include any error codes/messages that are in the body of the response from the API
@appellation
Does Discord plan to support the use of the per-server avatar for the command picker (/) or will that not be touched / supported (currently the per-server avatar works everywhere but the command picker which is strange and would most likely cause confusion to the users)
Hello, thanks for the report, can you provide some more detailed info about the error you're getting? Please include any error codes/messages that are in the body of the response from the API
Hey, thanks for following up! This was the exact error in the JSON body:
"{\"message\": \"This action requires a premium subscription\", \"code\": 20015}"
Is it also planned to add the 'View Main Profile' button, like on user profiles?
Hi @muddyfish, thank you for the report. I tried creating a minimal gateway bot setup, and was unable to reproduce. Do you have a minimal repro that you can provide?
I believe that this issue has been resolved a while ago. I just forgot to close it.
Please reopen this issue if I am mistaken.
Apologies, this appears to be an issue on my library's side - I'll open an issue with them
I do need you to do one thing for me please - run npm run fix:tables from this repo on your code, so it'll fixup your markdown tables.
45a4889 npm run fix:tables - spenhand
I do need you to do one thing for me please - run
npm run fix:tablesfrom this repo on your code, so it'll fixup your markdown tables.
done!
@vakiliner i literally just misread and thought it would be a quick fix lol
Currently, the Discord API only allows permissions to be redefined at the parent command level.
Subcommands automatically inherit the permission set of their parent command, and there is currently no mechanism to define individual permissions for each subcommand separately.
This limitation makes it difficult to implement fine-grained access control in applications where different subcommands of the same parent command require different levels of permissions.
For example: ...
bf566ce Add game invite image - anthonydiscord
Adding an image here to show off an example of what the above code produces!
40431d0 Add OAuth verification requirement - anthonydiscord
OAuth2 now requires a user's account to be verified before they can allow it. This adds a note about it with a link to how to verify!
39c4e76 add header to example - spenhand
f23f7f8 content type - spenhand
this support article may not be the right place. this is for a forced verification screen. a user generally has a nag bar at the top of their screen telling them to claim or verify their account if it is not
a473d50 [provisional acocunts] add header to bot token ... - spenhand
Any idea what a better option would be? This might not be the exact verification entry point but it talks about the verification process which I think is still helpful in this case
Preview looks good to me -- but I'll let you and @night decide what the appropriate resource is to link to.
I did some digging and this seems to be the right article to use on verification. We don't have one specific to email verification through the browser. I'm open to dropping the link from here if you think it's confusing though!
