In what circumstances is this optional?
#github-notifications
1 messages · Page 4 of 1
In what circumstances is this optional?
I'd assume this is the same situation with banners where it's only returned via GW and /users. I'll check in a second
In what circumstances is this optional?
I'd assume this is the same situation with banners where it's only returned via GW and /users. I'll check in a second
From what I've seen, avatar_decoration seems to be always available, even on partial users.
That would seem to be the case yeah

The only user field that doesn't seem to have avatar_decoration is Widget.members

That makes sense, I guess?
it's present on normal user objects but not on bare user objects like webhook message authors
event listener that all it does is either reply or defer the interaction it receives. Let that sit for a couple hours with a good amount of interactions coming through and you should see the error. There's no reproducible__
I would try deferring the response first and then editing that with a modal to see if it gets around potential timeout issues.
This is actually not possible, sorry for the confusion
+1 to the idea of having specific choices to select from. I'm planning to build an integration for people who have subscribed to me on various platforms, and I want to be able to link specific roles to specific tiers. I feel like integrations similar to this- where roles are based on a limited set of strings rather than something like a random number- would be best handled with some kind of string choices instead of the current workarounds which would be either:
- create a boolean metadata fo...
Description
Hey! I've been working on a command that runs a webhook, however when I run the PATCH request to set the channel ID, it always ends up with a 404.
Steps to Reproduce
PATCH webhook request, and have the channel ID to the specific channel (I've checked and it's the correct ID) and it returns 404
Expected Behavior
Sets the webhook channel to the ID I inserted
Current Behavior
Gives 404 not found (no other info)
Screenshots/Videos
No response
Client...
If any other information is required then please ask me
+1, I am working on a bot that dumps large amounts of messages from my server's channels and I can't complete the bot because it needs to be able to read commands to fulfill the purpose I intended it for. May I suggest adding a new privileged intent, perhaps INTERACTION_DATA, which would allow a bot to read from this endpoint?
For clarity, the bot I have made uses an all messages sent in the server to train an RNN, and my main goal was to make the network generate bot commands (for comed...
+1, I am working on a bot that dumps large amounts of messages from my server's channels and I can't complete the bot because it needs to be able to read commands to fulfill the purpose I intended it for. May I suggest adding a new privileged intent, perhaps INTERACTION_DATA, which would allow a bot to read from this endpoint?
For clarity, the bot I have made uses an all messages sent in the server to train an RNN, and my main goal was to make the network generate bot commands (for comed...
As you know currently bots aren't allowed to make requests to the end-point https://discord.com/api/v9/channels/XXXXXX/messages/XXXXXX/interaction-data, which is really rubbish. I think this API end-point should be accessible by bots since all non-ephemeral messages can be seen by all individuals rather there should be filters of deleted/ephemeral messages
@yonilerner i'm still getting this for guild 410479299347480576 (forum tag id 1027892492105941023)
The issue appears for me on the macOS client, and web client (safari, chrome). Slash commands work for me without issue on iPadOS and iOS. Other users on a discord I run are reporting similar issues as well.
Edit: I've seemed to resolve it by disabling Legacy Chat Input under Accessibility. I had turned this setting on to resolve and issue with not being able to copy/paste into the input field on the Windows client.
<img alt="image" width="683" src="https://user-images.githubu...
I'm not able to set this to null once set 🤔
Description
User Id snowflake is not seen in the server insights page of Discord Developer portal but can be seen in other pages
Steps to Reproduce
-Open discord developer portal
-Go to server insights page
-Observe the page
-Make sure user id snowflake is turned on
Expected Behavior
User id snowflake should be seen in the server insights page
Current Behavior
User id snowflake cannot be seen
Screenshots/Videos
No response
Client and System Information
...
Description
The current documentation regarding guild templates is highly unclear on what is and isn't allowed or expected data when working with the endpoints.
Primarily, serialized_source_guild is simply specified as a partial guild without any mention of additional fields, placeholder IDs instead of snowflakes, or any further considerations required for types referenced by this field (permission overwrites comes to m...
Description
The documentation for Forum Tag Objec is unclear as to the optionality and/or nullability of its fields. emoji_id and emoji_name, for example, claim to be mutually exclusive, but neither is optional and only emoji_name is nullable.
To add to the confusion, all fields except `name´ are implied to be optional by the notice at the top of the object related to an entirely different route and object.
Steps to Reproduce
Expected Behavior
Current Behavi...
Currently we can only have up to 5 metadatas, but it's too few because its option isn't variadic except 'greater than or equal', or 'lesser than or equal'.
I think it'd be better if we could have 2x increased limit (10).
Description
When I authenticate an OAuth2 request with /api/oauth2/authorize endpoint where response_type is token, I get redirected, but the URL Search Param prefix ? at the beginning of URL Search Param is #.
Steps to Reproduce
- open authorization request which response_type is token on browser like: https://discord.com/oauth2/authorize?client_id=1056824335203045376&redirect_uri=http%3A%2F%2Flocalhost%3A8990%2Fcallback&response_type=token&scope=rpc identify rpc.vo...
This is not a bug, this is how the oauth2 implicit grant flow works. https://oauth.net/2/grant-types/implicit/
If you want to do a full code exchange on the server you should use response_type=code instead.
Oh.. I searched the design but I missed it 🙏
Sorry for foolish issue
Description
When moving a channel to a different category, the channel may end up as the first or last channel of the receiving category. From what I was able to gather it ends up as the first if it was previously in the first half of the channels in its old category, and as the last if it was in the last half, but this could be inaccurate.
Steps to Reproduce
- Have 2 category channels with a moderate amount of channels in them
- Move one of the channels from one category to the...
Channels on discord are sorted by category, then type, then position. If you update one of these without ensuring the others are consistent, you may end up with unexpected results.
Hi so im a discord bot developer and i got the active developer badge using an application that i had 1 or 2 months ago. I heard the news about removing active developer badge from those who aren't real developers and i was very happy bout this. then, i realized that im not using that applicatin and im using a new application. i would like to see a feature to change the main application for developer badge.
i made a support ticket on support.discord.com about this and a helper replied to me ...
Description
If the user's username or channel name consists of characters that cannot be printed from keyboard, the user or channel simply cannot be selected from the list and it is also simply more convenient, just copying id than entering user's username or channel name.
This feature already done for slash command arguments, why not add it to message components
Steps to Reproduce
- Copy user or channel id
- Paste it to user or channel select menu
Expected Behavior
Th...
There are many replies already mentioning this.
Users can see a full list of commands already and tab them in. The only reasons for aliases I found is for hard-to-read smaller forms, and for translations such as color and colour - which localisation solves.
Since they used rust-flavour - which has no lookarounds, this should still be possible.
this is needed.
buttons
toggles
dropdown menus
When submitting an invalid select menu like so:
interaction.createMessage({
content: 'example',
components: [
{
type: Constants.ComponentTypes.ACTION_ROW,
components: [
{
type: Constants.ComponentTypes.STRING_SELECT,
custom_id: 'example',
options: [
{
label: 'Optio...
Description
While the version of electron supports webp, and discord itself converts gif emotes to webp, the cdn always returns an error of 415 unsupported type wherever it tries to load webp images, be this in embed or posted link or uploaded file
Steps to Reproduce
post a link to a webp image in discord, watch the dev console report that the cdn returned 415
Expected Behavior
Webp to be loaded as a supported image
Current Behavior
415 unsupported despite being used by...
@devsnek well I did that but the issue is that when passing both a parent_id and a position in the same PATCH call, Discord will first change the position of the channel in its old category and then move it, resulting in the bug I mentioned above so I believe this should be reopened because it's still an issue
In fact, Discord seems to ignore the position you pass when editing the channel, and just determines the resulting position with the logic explained in this issue initially. You can see it move the channel on the client but the resulting position will be with respect to the position the channel had before being moved
iirc this is disabled for oauth2 and bots, and only works for user tokens
has that changed?
Just tested with a bot token, worked fine for me.
Works on bot tokens too, so I would suggest removing the "(OAuth2)" text from this.
This permission functions now, it allows you to view the "Server Subscriptions" tab of Server Insights.

Description
I got an email saying someone was trying to log into my account from alameda and told me to change my password, but then my discord isn't working and I logged out of my discord acc to see if it would be fixed but it wasn't. now it says that I am being blocked from accessing your API temporarily due to exceeding your rate limits frequently, when I have not done anything bad.
Steps to Reproduce
i would like to see if i can my account back because i have not done anything ...
Adds a comment about supported schemas for the URL field of embed author boject similarly to how ICON_URL is commented.
gotta love how this issue is still unanswered after all this time
Description
We are running a fairly large bot with 15k server but for some reason we sometime get hit by a Global Rate-Limit on the Create Interaction Response endpoint.
i.e. /interactions/[{interaction.id}](https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object)/[{interaction.token}](https://discord.com/developers/docs/interactions/receiving-and-responding#interaction-object)/callback.
Discord docs clearly says that this endpoint is not boun...
This seems to be a discord.js bug, not a Discord issue.
I remember asking them about this and they said it was not related to discord.js and I should ask discord about this.
Description
So it says I’ve been banned temporarily for API exceeding rate limits, yet I have no clue what I have done.
Steps to Reproduce
I honestly don’t know this.
Expected Behavior
Being signed in.
Current Behavior
Saying that I’ve been blocked temporarily.
Screenshots/Videos

Client and System Information
I us...
You could probably have them all as optional?
That will work. I think it would be nicer to have one type of command that can take multiple images rather than having 6 image inputs, a text input and multiple Boolean inputs. It just seems cluttered as it is 😵💫
[discord-api-docs] New discussion #5802: Ability to configure bot's ability to send or receive DMs\.
For example, you might not want users to send the bot DMs if it uses DMs solely for notifying punishments, such as a /tempban command being used on a user, and the bot telling the user when the ban expires. For the sending DM toggle, this can be useful in if your bot doesn't need the send DMs, so if your bot gets compromised, the user who compromised the bot won't be able to send DMs. If you need to use DMs you could still enable it. The receiving DMs is already implemented by the Discord u...
This pull request adds https://github.com/more-cores/discord-commands to the PHP Interactions library list. This library includes:
- factories for building messages, embeds, commands, nested menus/options/buttons, etc.
- inbound request signature verification for verifying interaction requests are from Discord
- extensive documentation/examples, including using the Laravel framework
- test coverage and a github-action-based test suite UI
While the project has no stars at the mome...
This pull request adds https://github.com/TempestProject/KtDiscord to the list of Interactions libraries. KtDiscord is a Discord Interactions library for Kotlin that features:
- Request validation
- Support for Embeds and Components
- Helper functions for using Discord Interactions endpoints
Why?
I am currently using message content intent for my bot, but I would like to transition away from it. Currently, I have an interactive menu where users can select a requirement and then enter a numerical value in chat. However, I am considering moving away from this for several reasons. One concern is that modals, which is the alternative to message content intent, only allow for text input. If a user mistakenly enters text instead of a number, or does so intentionally as a form of d...
I believe, like for gateway libs, discord adds it when the user count is high enough for this lib, instead of letting maintainers pr the libs itself.
Make sure to have a valid client header in your requests.
Make sure to have a valid client header in your requests.
Will get that sorted shortly
DiscordBot (https://github.com/TempestProject/KtDiscord, v1.0.0)
That should be it
Pushed, should be included in the 1.0.1 release
Good. Discord is on holiday break rn, so they prob gonna respond to this pr around next week. Good luck.
I don't see any user agent in the lib? Did you forgot it?
This library doesn't actually make any http requests. It provides factories and various objects for building outbound messages, interactions and their responses, validating inbound requests, etc. So no user agent is necessary.
Apparently this was told to some users but not documented.
When setting metadata on a user, you would assume that you need to set boolean fields to true or false, but you actually need to use 1 or 0. This has caused problems (especially because no error is returned) so I added a warning box to make it clear.
Had a talk with a staff about it and they had a talk with the team. Apparently it's documented enough the way it is and the examples were updated accordingly to reflect this.
Don't think a warning is needed. Maybe use instead a footnote?
- only accepts 0/1, not true/false
I don't think sending a request without authentication is actually a documented/supported case (except for interactions/webhooks, but they aren't bound to the global rate limit anyway).
So, this looks out of scope for the bot API.
apparently it applies to webhooks
Maybe just a no permission box would be more appropriate? It can look "official" if it has the Thread Reserved message, which could lead to scams.
Currently, the Boolean option is essentially a String option with True or False choices. I believe that it would look and feel better for these option types to have unique UX for selecting true or false.
If the option is required, it could look like a toggle switch that can be pressed on mobile or selected on PC by just tapping the option. Similarly, an optional Boolean can be enabled by tapping on the option and disabled by tapping on the option again (and could be represented by a ballot...
Even 10 is too few in my eyes. Why not 50 or 100?
Description
When getting an Interaction Create event from the gateway the role snowflakes received in the member.roles array are ever so slightly incorrect.
Here’s an example:

It’s not a deleted role as was suggested in the DDevs server as 1) there were no roles deleted in this server and 2) im pretty sure most or all of the ids are incor...
If it's supposed to be a boolean field, 0/1 is just plainly the wrong type. This is a big fat major gotcha that really deserves the large warning label.
closing this as our new message input box seems to fix/improve this
@night Can you link to the docs that describe the new message input box? I'm having same issue in my channel and it's unclear to me what that feature is
Description
We occasionally see a 429 response when executing one of our webhooks with no X-RateLimit- headers and the response contains only:
{
code: 0,
message: "You are being blocked from accessing our API temporarily due to exceeding our rate limits frequently. Please read our docs at https://discord.com/developers/docs/topics/rate-limits to prevent this moving forward."
}
Is this a CloudFlare ban as mentioned on https://discord.com/developers/docs/topics/rat...
Yes, that is an IP ban, not a rate limit
On a technical level, there's no retry after info because the response is static, stored in cloudflare firewall rules. But more importantly, hitting this limit generally implies that the application code is broken, and so we don't really want this to be machine recoverable.
As for shared ips, yes you'll have to watch out for that. I believe with GCP you can use cloud nat to assign a static ip or range of ips.
As for shared ips, yes you'll have to watch out for that. I believe with GCP you can use cloud nat to assign a static ip or range of ips.
Thanks, I was looking at those docs. Right now this is only happening to us maybe once every week or two. But I wanted to better understand what we were seeing. Appreciate the response!
I can confirm that the issue has been resolved. I'm no longer seeing the behaviour described in this issue.
Currently, autocomplete does not actually complete the user input, replacing what was written previously instead. For example:
- User types
Hello, - Bot suggests
world! - User selects
world! Hello,gets replaced byworld!- Now the input is just
world!
I suggest adding an option so that the bot can append the suggestion to the end of the user input, so that in the above example the end result would be Hello, world!
While bot developers can workaround this b...
I've been thinking about it. Now it can be implemented if the bot will add the previous user input on its side. However, this is not the solution to the problem, since the enter will complete the input and the user will have to make the input field active again in order to continue typing.
I see two solutions to this problem.
- Adding a second mode of operation of the autocomplete (atocomplete: 2) in which the list of choises will be added to the user input.
- Or a more universal option. Add...
I don't think there should be any extra buttons in a modal, but you should be able to edit or add the submit buttons from the model...
I removed the warning about applications.commands being required even when using the bot scope (it's included in the bot scope now) and tweaked the text above to make it more clear that it can be used without a bot, but isn't required in the oauth URL when adding an actual bot account
I believe I already documented this in another pr
This would be absolutely amazing if it could be supported. In a project I have it would be absolutely a major QoL improvement for uploading screenshots.
Description
dear Discord,
I have repeatedly tried to ban my little account from a server, the username of my small account is: M Tester#6950, the username of my base son: MATEX#2524, when I watched the channel on the server about the 4th banning I managed to detect an error, the point is that if I go to the icon on the main page it shows a completely frozen screen and does not allow me to click on anything there, i attached a video in which i show what the point is, the phone i tried i...
i searched for it but couldn't find it before submitting - luckily and surprisingly our PRs don't overlap :^)
mine edits the application commands page while yours edits the getting started guide
i searched for it but couldn't find it before submitting - luckily and surprisingly our PRs don't overlap :^)
mine edits the application commands page while yours edits the getting started guide
oh ok, all good then!
I reloaded that guild, if you restart your bot (just to force it to get a new GUILD_CREATE), do you still have the bad forum tag id?
3ba867b Add ROLE_SUBSCRIPTION_PURCHASE message type to ... - johnnyataisg
[discord-api-docs] Branch johnny/role\-subscriptions\-message\-type was force-pushed to `ab576e1`
btw I have a PR with this and other role subscription docs at #5724
[discord-api-docs] Branch johnny/role\-subscriptions\-message\-type was force-pushed to `d12b7bb`
btw I have a PR with this and other role subscription docs at #5724
Oh nice! Gonna close this PR then. Do you have a rough idea when that PR might get merged?
It's most likely just waiting for a review from an employee.
Let's remove this one since it's been replaced
Let's remove MONETIZATION_ENABLED since it's been replaced
Because the INVITES_DISABLED feature is not fully rolled out, the cleanest way to support this is to just disallow the updating of public channels when the INVITES_DISABLED feature is provided. This limitation may go away in the future. This should be live some time tomorrow.
Please provide the exact endpoint you are using (you can replace sensitive parts with placeholders). Do you see the same behavior when you try to update something else, like the name of the webhook?
Because the INVITES_DISABLED feature is not fully rolled out
does "fully rolled out" here mean it will be released to non-community servers at some point? as it released to all community servers a while ago
done; are there any other features I should add?
Nope, it all looks good. Thanks!
We'll get this merged soon
e003051 Document role subscriptions (#5724) - advaith1
e97ce26 Document nullability of forum tag properties - mbialecka
a8a84a6 Add missing message types - johnnyataisg
Description
If user's username, role's name or channel's name consists of characters that cannot be printed from keyboard, user, role or channel simply cannot be selected from the list and it is also simply more convenient, just copying id than entering user's username or name of role and channel.
This feature already done for slash command arguments, why not add it to message components
Steps to Reproduce
- Copy id of user, role or channel
- Paste it to user, role or ...
Please contact discord support directly through help center https://support.discord.com/
Description
While the version of electron supports webp, and discord itself converts gif emotes to webp, the cdn always returns an error of 415 unsupported type wherever it tries to load webp images, be this in embed or posted link or uploaded file
Steps to Reproduce
post a link to a webp image in discord, watch the dev console report that the cdn returned 415
Expected Behavior
Webp to be loaded as a supported image
Current Behavior
415 unsupported despite being used by...
Unsure why this got migrated into a discussion considering this used to work back then so this must be a regression.
webp images work fine for me and always have, so this doesn't seem to be a Discord issue, maybe the file is malformed?
file isn't malformed and works fine with any other electron programs, the issue is with the api specifically returning 415 even though the program can render it
this attachment works fine and renders in the client, and most images displayed in the client (including user avatars and server icons) are loaded as webp, so the issue you are facing is definitely not the broad incompatibility with webp that your report is suggesting.
I'm interested in the reasoning behind the 25 Option Choice limit for Slash commands, as it does seem to be particularly restrictive. Is it purely a performance issue? I'm quite new to Discord and Bots, and have much to learn for sure, but I wouldn't have expected that serving up and handling a few hundred/thousand bytes of text as Choices for a Slash command would be that performance intensive, especially in the case of a non public server, and a Bot that will only ever run on that specific ...
Include that ephemeral messages are only sent to shard 0.
Not sure about this. Haven't noticed at least till yet. @advaith1 did you know that?
Afaik on our sharded bot you can work with ephemeral messages no matter which shard the guild is on.
Not sure about this. Haven't noticed at least till yet. @advaith1 did you know that?
Afaik on our sharded bot you can work with ephemeral messages no matter which shard the guild is on.
@Lulalaby the message create event for ephemeral messages is triggered on shard 0, no matter which shard the guild is on
Oh interesting. Haven't worked with that event in combo. Thanks for clarification!
If the type of Application Command Interaction Data Option is BOOLEAN the interaction will return a Boolean in the value field. This PR adds the Boolean type to the list of types returned as part of the Application Command Interaction Data Option value field.
I no longer get the bad forum tag, thanks!
There's just one space too many:
| GUILD_APPLICATION_PREMIUM_SUBSCRIPTION | 32 | false |
e13842f document audit log after parameter - devsnek
38f01b0 document audit log after parameter (#5821) - devsnek
This should make it clear that these are mutually exclusive.
We've got a fix for this that will be rolling out to canary and then stable clients, probably by the end of the day.
This PR updates the message component data structure to:
- Correctly type the
valuesfield as an array of strings, rather than an array of select options. Incidentally, this is already shown in the interaction response sample for select menus. - Add the
resolvedfield, which is sent with interactions on user, role, mentionable and channel select menus.
Further, I've described what the values field can be expected to contain; any of the defined options for string selects, and a ...
values is not an array of strings, the data type depends on the type of the select menu, which is why it is labeled as "select option values" (not "select options")
Ah, thank you for the clarification @advaith1. That makes sense. However, the existing docs link to the select option structure (https://discord.com/developers/docs/interactions/message-components#select-menu-object-select-option-structure) which I still believe is incorrect. If so, how best should it be noted that this could contain any relevant type, given that all values so far are encoded as strings?
This should be better now. Might require a hard refresh
<img width="993" alt="image" src="https://user-images.githubusercontent.com/310310/210679282-77d188f2-f295-4231-9982-1ffe637311e0.png">
c884e4a Improve message intent docs (#5752) - AlmostSuspense
given that all values so far are encoded as strings
to be clear, this is not true, it can be an integer or float for those select types.
@shaydewael wdyt
Closing this as it's not part of the developer api
97fd995 Document error code 40062 and add code to rate ... - advaith1
I think the bot needs the permission Mention @everyone and all roles..
I saw this field in /guilds/:id/threads/active
does this replace the per-channel limit or do both limits still exist?
per-channel limit was increased to 15 per type I think
oh why was this not announced
was kinda mentioned at https://github.com/discord/discord-api-docs/issues/5286#issuecomment-1362193443 but not really announced yeah
I believe @typpo has updated our crawler and search lib, so this should be fixed!
The problem here is that there isn't enough information here to actually debug anything. I recognize that people are occasionally receiving "Unknown Interaction", but that usually indicates a problem with the developer's code.
Personally, I would try capturing a variety of information:
- Capture network logs.
i) There are no retries
ii) The network request is actually being sent to discord, as opposed to being queued for # seconds due to some ratelimiting, and thus exceedin...
Hello! Is there a progress on this issue?
I plan to utilize command mentions to improve experience with my bot, but this bug causes inconvenience for Android users
Shouldn't this follow the normal api way of ignoring the other parameter if both are given
yeah, so this wording is imo not ideal. Yes, one of them is ignored, but you can pass both (api doesn't error out). Maybe it should be "The after parameter is ignored when before parameter is passed in`. But lemme check first if we can support both at the same time.
Yeah that wording sounds better imo and would fit to the rest of the docs iirc.
a6aa8d9 The 'value' field in 'Application Command Inter... - drakon64
411e6ce Document nullability of forum tag properties (#... - mbialecka
In general documented data structures represent response data. Usually patch/update endpoints just say that all fields are optional without redefining the data structure. I updated emoji_id to indicate nullability. Let me know if this is still unclear.
That's good; however, documentation that "usually" does stuff one way or another is never a good thing. It should always be crystal clear what an endpoint produces or expects, and one should not have to rely on a general "feel for" the kind of endpoint or other loose, imprecise conventions to figure these things out.
The whole point of documentation is to explicitly tell the end user exactly how things work or should be used, not to leave gaps or guesswork.
7a78b87 improve and remove outdated warning for the a.c... - AlmostSuspense
To be clear - I don't think the change (while an improvement and a good change) is good enough. If I'm looking at the REST endpoint for PATCH /channels/{channel.id}, that clearly states that available_tags is an array of tag objects. The tag object says that emoji_id and emoji_name are not optional, but both are nullable. However, there's an informational header that claims that
info
When updating aGUILD_FORUMchannel, tag objects inavailable_tagsonly require the `name...
Not sure why one would assume so if it's explicitly documented already.
If it's an array of strings, it ought to be documented as an array of strings. If it's some kind of union type, it should be documented as that. A link off to another object definition that says it should be an array of values of that type (which is what the docs currently plainly state) is just wrong and confusing.
Description
Upon hitting the https://www.discord.com/api/v10/guilds/{guild.id}/channels endpoint with an account unprivileged to view specific channels in a guild, all channels in said guild are returned, not just the ones the account is privileged to view.
Steps to Reproduce
curl 'https://discord.com/api/v10/guilds/{guild.id}/channels' \
-H 'host: discord.com'
-H 'authorization: {token}' \ ...
I really think you should reconsider closing this issue. Adding a warning is the very least you should do, but the better option would be to document it properly. It's not explicitly documented; that's the whole problem.
Not sure why one would assume so if it's explicitly documented already.
The assumption that something called a boolean would accept boolean values instead of 0 and 1 is one that anyone would make. A callout warning is the minimum that should be done to avoid this bizarre limitation and design quirk in the API.
Please update 'Integration Update' for consistency as well.
Alright thank you, I will try to get that information for you. Unfortunately it might not be very easy since my bot is using a package and it's hard to get that info from the package itself on prod, but I'll look into it
@devsnek this is still very much an issue, can you please reopen this?
Have you tried using Modify Guild Channel Positions with the parent_id parameter? This endpoint accepts a list of channels, which you can use to order with respect to every channel in the target category.
I hadn't but I did now and there seems to be a similar issue with that endpoint, only difference is that the channel always seems to end up in position 0
For what it's worth, with the increasing number of times we've seen this, I decided to finally look into a bit. In djs there shouldn't be anything getting in the way of the request firing, but I am implementing a separate request handler to handle specifically interaction callbacks. While in theory this won't change the external facing behavior of the request, it at least should streamline the process and make it a little easier to debug.
hm this is static, could it be an incompatability to animated webp then?
yes it seems static webp work fine but not animated webp
How and where are these types used?
Where was the issue?
In discord.js or with discord API?
Also when can we expect the fix release?
this error code is no longer used as far as I can tell
| STAGE_START | 27 | true |
| STAGE_END | 28 | true |
| STAGE_SPEAKER | 29 | true |
| STAGE_RAISE_HAND | 30 | true |
| STAGE_TOPIC | 31 | true |
I think adding the stage message types are fine, but I don't think INTERACTION_PREMIUM_UPSELL and `GUILD_APPLICATION_PREMIUM_...
It's not about relevance for these types since they can be received regardless.
373be34 Document that the global rate limit falls back ... - advaith1
For INTERACTION_PREMIUM_UPSELL, I don't believe it can be received (it's ephemeral and unable to be triggered by a bot). i'll change suggestion to include GUILD_APPLICATION_PREMIUM_SUBSCRIPTION, cus yah that is similar to role subscriptions.
I take that back, the bot is the author of the premium upsell so will encounter. my suggestion is useless, proceeeeeeed
e9711be Add missing message types (#5815) - johnnyataisg
Afaik: the stuff for application subscriptions aren't documented at all, it might've been valid to not document it at this point.
To clarify: the user request at https://discord.com/developers/docs/resources/user#update-user-application-role-connection links to https://discord.com/developers/docs/resources/application-role-connection-metadata#application-role-connection-metadata-object to describe what the metadata object is, and that table clearly indicates that the expected value for boolean types is an integer.
2fa1042 Revert "Add missing message types (#5815)" - shaydewael
I mistakenly added these, but they aren't a part of a stable feature and shouldn't be documented as they're subject to change.
83f6c85 revert stage message types (#5826) - shaydewael
Following up here bc i made an error of merging this—#5826 reverted the stage message types because they are a part of an unreleased feature and shouldn't be considered stable/subject to change. I kept the premium command/upsell ones.
my bad my bad my bad 😓 happy new year
This exact problem now is happenig on model reply.
I have a command that has parameters that are validated, if passed, a modal is displayed.
When the response occurs in the initial interaction (slash) the name is displayed correctly.
But when the response is on modal interaction, the error occurs.

Is there a reason for this being closed?
That error message was transient and is no longer returned
Ah, that makes sense.
On Fri, Jan 6, 2023, 2:49 PM Ian Webster @.***> wrote:
That error message was transient and is no longer returned
—
Reply to this email directly, view it on GitHub
https://github.com/discord/discord-api-docs/pull/5736#issuecomment-1374115556,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASINGSP52EEFVVHCDTD4T63WRCAM7ANCNFSM6AAAAAAS2K62GY
.
You are receiving this because you authored the thread.Message ID:
@.***>
@infinitestory
- Seems the bug of context menu is back as well.
Client: Web + Desktop PTB
I have changed it to indicate that the underlying type of the values array is variable, and linked it to a new section describing what types are possible and when they will be used.
I think this table is falling victim to shove it all in the description column and I don't think adding a warning to confusing docs is solving the real issue here.
Examples of how the table could be improved:
| Name | Value | JSON type | Acceptable Metadata Values | Description |
|---|---|---|---|---|
| DATETIME_LESS_THAN_OR_EQUAL | 5 | string | an ISO8601 formatted date | Checks that the us... |
It seems like this issue is really a feature request for something that we arent planning on changing any time soon, so Im gonna close it. Please let me know if Ive misunderstood.
I think user may be null for bot integrations, so maybe the star should stay next to it.
user is what powers the "added by" bit of the page, it is not null
Well we actually have integrations with null user. I'm guessing these are some older integrations but still, possible.
uhh I what I meant user field may not be returned sometimes, not that it's null sometimes
which I guess is represented by user? already? I can merge as-is or maybe you want to include additional warning that user may be missing for some bot integrations? @Jupith lmk.
I added a warning 😸 thanks.
Description
See conversation in #5807
We should add some clarity around connection metadata + make associated types clear for the different types. This should probably happen on the Role Connection Metadata page, but may consider the [user reference page](https://discord.com/developers/docs/resources/user#update-use...
I opened a new issue to track this—I agree with others that this info shouldn't live here so I don't think we should reopen this PR, but I'll look at reworking connection metadata docs in general to try to clear this up and hopefully make it more explicit. @Mehgugs's idea seems like a step in the right direction.
1c0a1c0 enabled and user are present on bots (#5701) - Jupith
Some initial thoughts I had on this:
I think aiming for something similar to how threads are documented (with a dedicated topic as well as their channel documentation etc) would make things clearer. This also means some information can be moved from places like tables and specifications.
Should Application Role Connection Metadata be moved into Application? This wo...
this should be fixed, let me know if you're still having issues
Since this brings the topic back up of documenting fields per channel type, could #4106 maybe be considered?
I feel this is a better way of implementing this, it still offers a solution for both ways of implementing a channel feature, to have one object with all parameters or multiple different objects.
It's also less cluttered, since it's just an extra column instead of like 10 new objects. Just my opinion, would be interested to hear other's though.
I don't agree with t...
I missed these in #5724
btw, thanks for using a proper object in the message field instead of abusing embed fields like automod (is that gonna be changed/is that format stabilized yet?)
Description:
Currently only http(s) protocols are supported URL field of an embed object. It would be grerat if we also could use links such as "discord://./users/{ID}" to open user profile when clicked. Support for this schema was added to buttons some time ago and allows for many great features to be implemented into bots mainly oriented around UX.
Alternatives Considered
It is possible to use the links with https://discord.com instead of discord://-, but they open a new brow...
with how unreliable the discord protocol is and how it’s been unsupported for years (and the lack of mobile support), I do not think Discord should add support for linking it anywhere else. supporting it in components was a bad idea but fortunately I have not seen any bots use that
Instead, Discord should properly route discord.com links in-app so nobody needs to think about using the discord protocol
This one also hit me and took about an hour of extra time to debug.
Is there a specific Discord client version I should try?
It seems to me that I am still unable to ping-reply to a slash command response.
Stable 166505 (fec0a45) Host 0.0.22 Linux 64-Bit (6.1.1-Zen1-1-Zen), tried on both the client and website
I wanna bump this, I would love to be able to create a forum where people can create private posts between them and moderators, without other people being able to read their post. Trying to move away from using bots that create hundreds of channels for "mod mail"
Please add the option to set voice channels and categories to the command permissions.
This would be really useful to allow certain commands to be used only in certain voice channels (Text Chat in Voice Channels).
Categories would be great for future channels like tickets.

Adding to this issue. When running a link validation using the validators python package the 3s timeout is fine until you place the discord application behind a VPN. A longer timeout is needed to counter the lag induced by the VPN.
Hello,
I would like to bring up this issue that dates back several months ago and is still not fixed to this day.
I am a developer of a multipurpose bot that has more than 350k+ guilds and we have game commands such as power 4 or tic-tac-toe where we use external emojis from emoji servers that we own and use to enhance the presentation of our messages.
If a server that uses our game controls and has not allowed the @everyone role to use external emojis, it really ruins the game experienc...
This would be great, but being able to prevent messages being sent in a pinned thread would also be great
You should create a new discussion for this feature request.
This is my first discussion I've created here so I'm sorry if I've done something wrong.
The ability to disable messages being sent in a pinned forum post would be great. Obviously this would be optional to enable, but could suit many different use cases:
- Creating FAQs for forum topics, without other members sending messages to make it get lost
- Use it to show instructions for posting messages (which I know some users do)
- Provide other useful information that doesn't fit in the ...
the application's role connection verification entry point, which when configured will render the app as a verification method in the guild role verification configuration
What is a role connection? Why use it?
the application's role connection verification entry point, which when configured will render the app as a verification method in the guild role verification configuration
What is a role connection? Why use it?
https://support.discord.com/hc/en-us/articles/10388356626711
https://support.discord.com/hc/en-us/articles/10388356626711
— @Lulalaby
Thanks.
@shaydewael You could add that (URL) to the documents near the role connections information too. Currently, you can't tell that it has any connection to linked roles from the resources or requests information in the documentation.
I don't think the link is needed. Articles might change and stuff.
We could instead clarify what this feature is for. If it wasn't already noted.
Even tho it's already explained enough


The support article is more for server admins
A fix for this is merged and will be deployed
Where is the second screenshot found? This is the current page.

The API does kinda support this behaviour if you use a bot to edit the forum thread with both sticky and close attributes set to True. However, this only allows one single thread and the client doesn't natively permit this. I agree, this should be a feature because it is a staple of actual forums where you can create sticky-read only threads (and note the pluralisation).
Post Guidelines are not really somewhere to put lots of information about the channel, because its unlikely to be read: ...
I didn't know you could do that with the api! I'll have a look at that
The contribution guidelines
Unwanted Changes
- Whitespace or formatting changes.
- Subjective wording changes.
\*\*\*\* In the case of the Sticker endpoint, the sticker will be available as PNG if its [`format_type`](#DOCS_RESOURCES_STICKER/sticker-object) is `PNG` or `APNG`, GIF if its `format_type` is `GIF`, and as [Lottie](https://airbnb.io/lottie/#/) if its `format_type` is `LOTTIE`.
I think this flows better?
2ca398b Update docs/Reference.md - jkcailteux
Adds new information about the with_member, after, and limit fields for the GET /channels//thread-members and GET /channels//thread-members/ endpoints
Yeah, I've had this issue for a while... Is there a workaround? (discord.js)
make enable sounds wrong?
will also enable
118fd6d Add thread member pagination and details change... - shaydewael
the CDN Endpoints table also needs to be updated
the CDN Endpoints table also needs to be updated
Good catch
58c5eff update cdn url - jkcailteux
2fffb1e Merge branch 'gif_stickers' of https://github.c... - jkcailteux
Is there a specific Discord client version I should try?
It seems to me that I am still unable to ping-reply to a slash command response.
Tried on
Stable 166505 (fec0a45) Host 0.0.22 Linux 64-Bit(client and web) andCanary 166776 (2c1df4a)
there shouldn't be any particular client requirements. i'll take another look.
@DenverCoder1 are you testing with replies to existing interaction responses, or did you make new interaction responses after I said the issue was fixed?
New interactions. Specifically with message content intent not enabled.
When replying, it does not have a toggle for pinging the author as it does with normal messages

And when replying, the bot sees an empty string as the message content. Here is an example where the bot replies to messages from non-bot users with the message content as it is received:
. However, today I noticed that the API no longer accepts an empty string (I get [BASE_TYPE_BAD_LENGTH]: Must be between 1 and 100 in length.), but if I give the command a description, I get `[APPLICATION_COMMAND_CONTEXT_MENU_DESCRIPTION_INVALID]: Context menu command...
Also appears embedded images are broken.
Can confirn this is affecting more than one server
This is a bug, we've got a fix for it in the works. Thanks for reporting!
Can confirm it on my end. I'm also having the issue @Saffen mentioned, but I'm not sure if it's related.
but is not affecting the "Follow Channel" webhooks.
Because followed channel webhooks technically use default avatars, not custom (URL) ones.
my bot only uses webhooks => everything's aesthetics is affected
<img width="1186" alt="Screenshot 2023-01-10 at 12 50 55 PM" src="https://user-images.githubusercontent.com/73036332/211486900-8af359dd-44df-4b29-b5c8-bdd4ec0d7f30.png">
Workaround: Change discord.com to canary.discord.com in your webhook URL. Might be a bit annoying to do if sending then from a library.
@Cynosphere
Makes no difference for me, still no custom avatar or embedded images.
I also have problems with embedded images. I haven't pushed any updates to my bot, i have double checked the urls and the json i send to api. Almost every time images on embedded messages dont appear at all, sometimes with delay, sometimes they appear and disappear again.
Workaround: Change
discord.comtocanary.discord.comin your webhook URL. Might be a bit annoying to do if sending then from a library.
didnt work :{
Messages I sent 80 minutes ago are starting to show up with embedded images and custom avatars.
Description
adding author with icon url returns error 50035
Steps to Reproduce
create embed with author icon url
Expected Behavior
embed has author with icon "https://cdn.discordapp.com/avatars/218774989724188672/3a5980efdd01d1f44a7df499e9c03113.png"
Current Behavior
Error 50035 [Invalid Form Body] on API request, returned content was: {"code": 50035, "errors": {"data": {"embeds": {"0": {"author": {"url": {"_errors": [{"code": "URL_TYPE_INVALID_SCHEME", "message": "Sche...
You need to use a proper scheme, like https://cdn.discordapp.com/avatars/218774989724188672/3a5980efdd01d1f44a7df499e9c03113.png
You need to use a proper scheme, like
https://cdn.discordapp.com/avatars/218774989724188672/3a5980efdd01d1f44a7df499e9c03113.png
i dont see any difference in the link you send? the library i use was working fine and i made no changes at all.
this doesnt work since the the last api update
I never found one if there is one.
By the way, it happen also with contextual interactions.
In the request that errored, you tried to send an empty string, hence "" is not a valid schema (its not http or https). This used to be treated as falsey but no longer is.
Description
When I try to rename an application of mine in the Developer Portal, it shows an error saying that *_url: Scheme "" is not supported. Scheme must be one of ('https',). when I am not doing anything on those fields. I am only renaming the application name and does not change the application name.
- =
interactions_endpoint_url,privacy_policy_url,role_connections_verification_url,terms_of_service_url
Steps to Reproduce
- Go to the Developer Portal
- Click...
Description
I was seeing multiple bot integrations belonging to the same application in a guild and looking at audit logs it happened when 2 users tried to add the bot at the same time. They compound into a single integration in the UI which leads to confusion as after one is removed it magically appears again.
Steps to Reproduce
Authorise the same application multiple times
Expected Behavior
Only one integration is created
Current Behavior
Multiple are created
Scr...
This has already been fixed.
The fix for this has rolled out.
This is not an issue related to the Discord API. Please report bugs at https://dis.gd/bugreport
Description
The error code that is reported when requesting the https://discord.com/api/v10/guilds/1062153007355154472 and you are missing access has changed.
Previously, error code 50001 Missing access was reported.
Now, error code 10004 Unknown guild is reported.
This change was not made across a version boundary, and caused our application to perform unexpectedly when determining if our bot was in a server.
Steps to Reproduce
`curl --location --request GET 'https:...
It triggers for any user on my bot...I use it for logging username/avatar changes and it works as expected
@RedGuy12 Some libs like discord.js artificially emit user update events in response to any user update, which they extract from GUILD_MEMBER_UPDATE events, but the gateway only emits USER_UPDATE for the own bot user.
This has already been fixed.
Currently, it still occurs on my side. I have tried restarting my browser and force-reloading the site.
This needs conflicts resolved.
Are you using stable or canary? If you're using canary, please try again on stable.
Are you using stable or canary? If you're using canary, please try again on stable.
Using stable did the trick, cheers!
Thanks for reporting anyway! Looks like we forgot to deploy the fix to canary and PTB 👀 (soon)
041add9 GIF Sticker image format support (#5833) - jkcailteux
Description
When we edit an interaction with custom emojis, it doesn't work.
- @everyone have the permission to use external emojis and we reply the interaction:

- @everyone don't have the permission to use external emojis and we reply the interaction:

- @everyone don't have the permission to use external emojis and we edit the reply the interaction:

- @everyone have the per...
accd498 Clarify that USER_UPDATE is dispatched only for... - Zoddo
[discord/discord-api-docs] New comment on issue #5841: Emojis don't work when we edit an interaction
that’s a duplicate of #5279
This was presumably to fix a security issue, as with this you could detect if a guild existed without being in it
This was presumably to fix a security issue, as with this you could detect if a guild existed without being in it
this endpoint has always returned the same error for "not in the guild" and "guild doesn't exist", but maybe it was the other error earlier
there are many endpoints that return different errors though
If you want to be extra explicit, I would say cumulative number of months (vs consecutive)
this is correct for now, we actually wanted to give it a generic name so that we can store any role subscription data on a message in one place. Right now we're using it to show the purchase recognition message but in the future, we might use this field to store some other role subscription message data.
We can update this in the future if we use it for something else though 👍
If this were changed how would an application deal with it without crashing?
The precedent for volatile internal fields is to prefix the name with _, similar to _trace in the READY dispatch.
should I mark any of the fields as optional and/or nullable?
If this were changed how would an application deal with it without crashing?
what I mean is that we might add new fields to that role_subscription_data for a new message type in the future and at that point, this field wouldn't be only used for the ROLE_SUBSCRIPTION_PURCHASE message type. we definitely won't change anything in the role_subscriptions_data for the ROLE_SUBSCRIPTION_PURCHASE type.
if a field is not marked as optional then libraries would assume that the field will always be present in role_subscription_data, and might error if that is not true
actually, seems like my memory is failing me, looks like we didn't mark any of those fields optional on the clientside so ignore my comments
Description
so one of my bot tokens were leaked online, i got a dm from discord telling me where it got leaked and how to fix it so i fixed it and i keep geting the urgent dm, and i cant get rid of it
Steps to Reproduce
make it so it stops saying that
Expected Behavior
annnoyed
Current Behavior
anoyyed
Screenshots/Videos
.
It's exciting to see your work become public though, and we're definitely open to reconsidering adding it to the Resources page in the future. Keep up the great work 😄
Retrieves a specific message in the channel. Returns a [message](#DOCS_RESOURCES_CHANNEL/message-object) object on success.
If operating on a guild channel, this endpoint requires the current user to have the `VIEW_CHANNEL` and `READ_MESSAGE_HISTORY` permissions. If the channel is a voice channel, they must _also_ have the `CONNECT` permission.
this requires the VIEW_CHANNEL permission as well, so adding that here
ok i know most of this wording wasn't added by you, but it was getting lengthy and confusing, so i wanted to separate it out a little bit more logically.
Retrieves the messages in a channel. Returns an array of [message](#DOCS_RESOURCES_CHANNEL/message-object) objects on success.
If operating on a guild channel, this endpoint requires the current user to have the `VIEW_CHANNEL` permission. If the channel is a voice channel, they must _also_ have the `CONNECT` permission.
If the current user is missing the `READ_MESSAGE_HISTORY` permission in the channel, then no messages will be returned.
Yeah that sounds def better and is easier to read
| Field | Type | Description |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------- | -----------------------------------------...
I don't think this information really belongs in a table or in this format. I think to properly address it, we'd need to revisit how we talk about message components in general and how information is split up between "Receiving and Responding" and the "Message Components" pages.
However, that's out of the scope of this PR for sure, and so I'd just put the information in Receiving_and_Responding.md instead (i made a suggestion to the table and table note accordingly).
I think this edit takes clarity away since auto-populated select menu components isn't really defined anywhere else. There's also a lingering "also" that doesn't make sense if you don't have the note about values.
mostly just rewording to account for what you were trying to do in the section on the other page
Fix has been merged and should be out soon. Thanks for bringing this up.
This behavior is not obvious and is different from pretty much every other paginated endpoint in the API.
I'm not sure that name will be Tier 3 but There are no row for Nitro Basic subscriber.
table has incorrect wording ("tables that less than")
The returned list of audit log entries is ordered based on whether you use `before` or `after`. When paginating using `before`, the list is ordered by the audit log entry ID **descending** (newer entries first). If `after` is used instead, the list is reversed and appears in **ascending** order (older entries first). Omitting both `before` and `after`, defaults to `before` the current timestamp and will show the most recent entries in descending order by ID, the opposite can be...
+1
I'm writing a bot that searches a database,which has a required field for the search query, but I would also like to filter the autocomplete list using a few optional fields. If the user wanted to delete the required field to use one or more of the filter fields instead, any search they had done previously is now cached and the list won't change.
[discord/discord-api-docs] Issue opened: #5846 Webhook scanning on integration remove takes too long
Description
When kicking a bot or remove an integration all the guilds webhooks are checked to see if it owns any of them, but this process can take a while if you have a guild with say 1000 webhooks (the limit), some of the requests were taking up to 40 seconds before the bot was removed, this is not ideal if your kicking say a malicious bot, can the member removal happen prior to the scan?
Steps to Reproduce
Kick a bot in a guild with lots of webhooks
Expected Behavior
Bot ...
This rate limit is applied per connection.
We have always inconsistently returned either of those two errors to represent unauthorized access to guild resources. We're working to improve consistency here so that going forward you can expect a single error code in this scenario.
aoi.js: The most advanced string-based package to create a Discord Bot fast and powerful.discordx: it is a library to Create a discord bot with TypeScript and Decorators!
Discord reaches out to libraries if they qualify to be added to the community resources. I don't have the link right now to this info tho.
I don't have the link right now to this info tho.
For future reference the link is discussion #4456:
- #4456
Hey, @evaera have you solved the error? Should the bot exist in the server already?
I had an idea where there would be a type of image in an interaction or embed where when the user clicks on it, their mouse position relative to the image would be sent to the bot as an interaction. This would allow bot developers to have more flexibility with the user interface as they would have a blank canvas to work with.
For example, it could be used in a mini game where there are many options to control the character. It would be difficult to use regular interaction buttons, so the us...
This was fixed, thanks!
Any idea? Where was the issue?
This was an internal issue with our rate limits configuration
ahh, So it was a Discord API issue. Is it fixed for yet to be released?
86fae76 Add GUILD_AUDIT_LOG_ENTRY_CREATE event - devsnek
2adb839 Update Gateway_Events.md - devsnek
Ahh okay, sorry I misunderstood.
Sent when a guild audit log entry is created. The inner payload is an [Audit Log Entry](#DOCS_RESOURCES_AUDIT_LOG/audit-log-entry-object) object with an additional `guild_id` key:
###### Guild Audit Log Entry Create Event Additional Fields
| Field | Type | Description |
| -------- | --------- | --------------- |
| guild_id | snowflake | ID of the guild |
Does this require having audit log perms in the guild to receive?
if so, can that be documented? the permissions required for all events should be documented tbh, I think it is only documented for the automod events currently (though that should probably be a separate PR for the other events)
It does require the permission.
4665b91 Update Gateway_Events.md - devsnek
Hey @ninbura how do you add users to the thread? Wondering how you achieve that? Instead of mentioning them from the bot message how do you make the message like [bot] adds [user] to the thread?
discord.js is an unofficial third-party library, for help with it go to their website or their server
Description
If a server has the INVITES_DISABLED feature, trying to edit it's name while providing the public_updates_channel_id field results in a 403 Missing Access. This affects the Desktop/Web clients, while mobile works fine.
Steps to Reproduce
- Pause invites in a server
- Try to edit it's name on the Desktop/Web client or via the API while providing the
public_updates_channel_idfield
Expected Behavior
The server name is changed
Current Behavior
The API ...
Sent when a guild audit log entry is created. The inner payload is an [Audit Log Entry](#DOCS_RESOURCES_AUDIT_LOG/audit-log-entry-object) object with an additional `guild_id` key. This event is only sent to bots with the `VIEW_AUDIT_LOG` permission.
###### Guild Audit Log Entry Create Event Additional Fields
| Field | Type | Description |
| -------- | --------- | --------------- |
| guild_id | snowflake | ID of the guild |
Since the new connections api is quite a significant addition, I felt like it'd be useful to point out this addition prominently to everyone.
However, I'm unsure where to put it chronologically since considering the change was made a month ago.
I also included a link to the blog post about linked roles to provide some more context. Please correct me if links referring to content outside the docs aren't welcome.
Introducing [linked roles](https://discord.com/blog/connected-accounts-functionality-boost-linked-roles) as well as the ability for all developers to set up their own linked roles with an application. This includes:
Might be added as todo for the rework in #5827 tbh.
now that the pr is already done i dont think there's any point trying to move it to a different one (if that's what you mean)
now that the pr is already done i dont think there's any point trying to move it to a different one (if that's what you mean)
My point is more that shay is already working on it and it could be done in one pr later
I think since Shay's already been assigned for a review that's gonna be up to them / I'd just wait for their opinion on the matter.
I think since Shay's already been assigned for a review that's gonna be up to them / I'd just wait for their opinion on the matter.
That said, I added this changelog entry because I myself ran into the issue of the additions being spread across different pages and therefore felt like having all things together in one place could be useful for others. So the intentions are pretty much the same as with the other pr, so I get this point:
Might be added as todo for the rework in #5827 t...
seems like the other PR is more about improving current documentation, which can take some time since there needs to be back and forth to get proper feedback and reviews. adding a change log on the other hand barely requires back and forth which could result in less time for it to be released imo
maybe also link to https://discord.com/build/linked-roles
There's barely any information on the page so far, apart from a link to the docs tho 🤷
maybe also link to https://discord.com/build/linked-roles
There's barely any information on the page so far, apart from a link to the docs 🤷
Yeah but it's the main promotional page.
does it really make sense to link it considering it links back to the docs in the CTA
The current documentation does not note the 'hidden constraints' of uploading stickers.
Also as a note, the API actually accepts stickers uploaded up to 320 x 320 but that's a very strange size when it comes to graphics and computing (since everything else on the CDN comes in some power of 2).
Uploading a gif as a sticker seemingly always returns 50046, so that has also been removed.
I've also just noticed this commit; I assume gif stickers are intended to roll out in the future?
See https://github.com/discord/discord-api-docs/pull/5833
Getting this out there a few weeks in advance so bots can update and clients will not crash.
Hm. Well, that's...different? I'll revert the removal regardless.
Saw this issue, writing here since I would like this feature.
I make my users sign up through Google forms (since signing up through my bot would require upkeep costs). One of the questions is their username and tag.
To be able to mention people using my webhook, I need their user id since sending a message with @username#1234 does not mention them in that message.
People have suggested to ask for their user id instead of their username and tag, however I believe it is a hassl...
None of these fields are allowed to be empty.
Description
I'm not receiving a response when sending a Gateway guild members request
Steps to Reproduce
- send a guild members request
Here's my payload (id removed)
{"op":8,"d":{"query":"","guild_id":"9934616607********","limit":0,"nonce":"6582741"}}
Expected Behavior
I should receive a response
Current Behavior
I don't get a response.
Screenshots/Videos
No response
Client and System Information
Raw API, Java, Spring WebSocket library
Did you enable the GUILD_MEMBERS intent in your identify payload?
https://discord.com/developers/docs/topics/gateway-events#request-guild-members:
GUILD_MEMBERS intent is required to request the entire member list—(query=‘’, limit=0<=n)
Did you enable the
GUILD_MEMBERSintent in your identify payload?https://discord.com/developers/docs/topics/gateway-events#request-guild-members:
GUILD_MEMBERS intent is required to request the entire member list—(query=‘’, limit=0<=n)
Yes
oh wait nvm there seems to be a bug in my intent calculation
Server subs assets use the path: :app_id/store/:asset_id, while the actual asset IDs cannot be managed or fetched by bots, this should be documented for completeness in case an app ever wishes to refer to these assets.
The assets can infact be fetched by bots through the discovery/:id endpoint
> Integrations that aren't returned in the guilds integration list can still be updated.
> Integrations that aren't returned in the guild's integration list can still be updated.
missing apostrophe here
as @advaith1 pointed out, this endpoint was initially created for store pages and has been repurposed over time (for sticker pack banners and now server subs). For accuracy, I've updated the naming & positioning of the endpoint.
Description
There was a recent change to help prevent expired invites being claimed for malicious purposes, i think a side effect of this change was that when a servers vanity invite expires meaning they lost some boosts the invite is locked into that guild meaning effectively stopping any other server from using it.
Steps to Reproduce
Have a server with a vanity invite link and then remove the VANITY_URL feature, notice how other servers can no longer claim the vanity
Expecte...
Description
I found out out that, if I open a Discord invite link (https://discord.gg/abcdef or https://discord.com/invite/abcdef) I get a message like "Starting Discord app" and the invite request pops up into the Discord app.
The same doesn't happen for OAuth requests (https://discord.com/oauth2/authorize/...): instead, all of the flow has to be done inside the web browser.
This is quite annoying since an average user is logged into the Discord app, but not necessarily logged int...
Description
In this discord api docs all fields for editing a message via a webhook are nullable. For example if a message has embeds in it, and you edit the message with embeds set to null. The embeds will be successfully cleared. If you do the same steps but for components it is ignored and the components are kept.
Steps to Reproduce
- Respond to an interaction with any components of your choice.
- Edit the response using the edit endpoint: https://discord.com/developers/d...
I don't think components or embeds are documented as nullable so an empty array should be the expected way to unset it.
All parameters to this endpoint are optional and nullable.
trolled by coke perhaps
Description
Firebase storage (google storage) has public tokens available to grant access:
but when sent in a message, the system that embeds it, wraps it without preserving the query parameters
example url:
https://firebasestorage.googleapis.com/v0/b/toobig-85edd.appspot.com/o/files%2F9beae946-b2ca-4451-a2a6-bfb238a9dc6a.png?alt=media&token=f4544f15-a055-450b-b2c4-aad358e00989
resulting url:
`https://images-ext-2.discordapp.net/external/0TiVA8chUNVgSUmZtYB9joawBc5nEoK_YSFcGig...
Description
The documentation states that the POST /channels/{channel.id}/messages/bulk-delete endpoint supports the X-Audit-Log-Reason
https://discord.com/developers/docs/resources/channel#bulk-delete-messages
However, it is clear that when I try this, no reason is actually being attached to the audit log.
Steps to Reproduce
POST /channels/{channel.id}/messages/bulk-delete with a valid array of message ids in the messages field, and any valid reason given using the `...
Description
When fetching the channel follower webhook created through the "Active Developer Badge" flow (when prompted to select a channel to keep up with updates), source_guild and source_channel are missing
Steps to Reproduce
- Create a channel follow webhook through the "Active Developer Badge" flow.
- Try to fetch the webhooks in that specific guild and find the payload of the webhook crested before
Expected Behavior
Expected fields are sent
Current Behavior
...
These fields are only present for specific Discord client features and aren't intended for use by apps/bots. Since they're subject to change or be removed at any point, we don't want to document these parameters at the moment.
d916d48 Specify lower bound for metadata fields (#5854) - MinnDevelopment
Those fields are marked as optional
I am aware, but next to them they state that they will be sent for channel follow webhooks:
(returned for Channel Follower Webhooks)
This is the case for all other channel follow webhooks.
If this is indeed intentional, then maybe the docs should be updated, because it seems misleading (at least for me)
There is a note specifically detailing why these might be missing
We need user and channel options on modals.
This makes the documentation less clear and harder to read. I don't think this is an appropriate change - better to be consistent with documenting each event specifically and precisely as they have been up until this point.
Because modals could be used for dashboard purposes for bots and there would be no need to website dashboards for many situations. And also a moderator can pick an action for a channel, user and add a description on paragraph / short text input. Just like slash command but you know only way to show a modal is not a slash command, it could be shown with a button interaction and there is no such option on buttons. I think it would be a better experience if we could see such thing!
@infinitestory I'm seen this error again, this time i wait 48hrs (cause maybe cache where being rebuild) but nothing has changed!
Exacly same problem, API appears to ignore translations on filter.
Context the guld has global and guild scoped command, bolth have translation both are affected by this bug.
@infinitestory I'm seeing essen error again, this time I waited 48 hours (in case the cache was being rebuilt) but nothing changed!
Exactly the same problem, the API seems to ignore the translations in the filter. On any client, in that guild.
For context: guild has global and guild scope commands, both have translation, both are affected by this bug.
Description
If you set up an application for linked roles without creating a bot for it, it'll appear with the green "Official" checkmark.
Steps to Reproduce
- Create an application. Do not add a bot to it.
- Set the linked roles verification URL.
- Add the app using
application.commandsscope to a server. - Set up a linked role using it. Note attempting to do so on Desktop will crash the client, thus you must do this on mobile.
- Open linked rules and notice it says...
I'm getting this problem on one of the guilds my bot is in (638540406577037332) on forum tags 1021805861808648193, 1021805910647119902, 1021805961826029598, 1021806027127148624, and 1021806142273364039.
[discord/discord-api-docs] New comment on discussion #3210: API Feature Request: Track invite used\.
Dec 10, 2017, Feature Request
Tagged planned with description We are going to fix this pretty soon.
Jan 19, 2023, 5 years later...
Description
Using the endpoint as documented, sending a list of bearer tokens, returns:
{
"_misc": [
"At least one channel recipient is required."
]
}
(v7 +)
{
"code": 50035,
"errors": {
"_errors": [
{
"code": "CHANNEL_RECIPIENT_REQUIRED",
"message": "At least one channel recipient is required."
}
]
},
"message": "Invalid Form Body"
}
...
I think I may have missed access tokens when improving validation in #5179
Would make sense, can confirm that POSTing:
{
"recipients": [
"249287049482338305"
]
}
does create a channel of type 1 with a user in the same way POSTing:
{
"recipient_id": "249287049482338305"
}
does.
Providing 2+ IDs in the recipients iterable results in:
{
"message": "Bots cannot use this endpoint",
"code": 20001
}
as expected, so behaviour there is sensible.
Added commit to include the managed field for channel objects.
This field is an optional boolean that is true if the channel is a type 3 channel created via the gdm.join OAuth2 scope.
- related: #1639
would be nice if the endpoint's now-incorrect description is fixed sometime, by revisiting that PR or in a new one (the group DMs are displayed in the client now)
- related: Update group DM docs #1639
would be nice if the endpoint's now-incorrect description is fixed sometime, by revisiting that PR or in a new one (the group DMs are displayed in the client now)
@advaith1 Great point, these DMs are show in-client & I've updated the user reference in this PR to reflect this.

Yes. Example payload:
{
"id": "channel_id_here",
"type": 3,
"last_message_id": null,
"flags": 0,
"managed": true,
"application_id": "application_id_here",
"recipients": [
{
"id": "user_id_here",
"username": "username_here",
"avatar": null,
"avatar_decoration": null,
"discriminator": "0001",
"public_flags": 0
}
],
"name": "app_name_here",
"...
The proposal in this is to help bots being able to tell when an user is pinging someone through replies, while current behavior is simply checking the message's mention, this can lead to false positives, for that reason this proposal is that the message replies should return wether they are pinging or not, or at least have some way to be able to tell if the reply is mentioning or not, that way moderation bots can easily distinguish and helps to avoid/reduce notifications spam and thus this ca...
I think this is an interesting proposal but checking whether the referenced message's author was mentioned is the way the client chooses whether to render @user vs user in the reply too.
If you have automoderation to action mentions, the source of those mentions shouldn't be important (in the case of detecting mention spam)
As text mentions are only valid in message content, you can easily just check the mentions on the reply message, the author ID of the referenced message & then c...
Ahh I see, this is interesting although I've been trying to use it with a webhook message, and in the mentions it doesn't seem to indicate if this message was pinged, so I guess the proposal is way more specific and it's about returning the webhook id in the mentions if a message is replying to a webhook. Currently been needing this behavior for a proxy oriented application.
The official clients won't provide the option to mention a webhook message in a reply & a webhook ID cannot appear in mentions. The ID of the webhook is returned in the referenced_message field in author -> id and webhook_id.
If your proxy system is using a single webhook, this will let you confirm the webhook being replied to is the one owned by your application and act appropriately. You can also fetch the username of the webhook being replied to by fetching author -> `username...
Thanks it is helpful, altho just mostly wanting to distinguish the mention regard, I'm using the official Canary client which seems to allow mentioning a webhook message.


Description
When you have a select menu that accepts more than 1 option, the Discord client will display the options in the order the bot sent them in, regardless of what order you pick them in, however, once the user sends the interaction through, the bot receives the values in the order they were picked in. This discrepancy between what the user sees and what the bot receives can cause a bad UX. I also believe this was not the case when select menu interactions first launched as back t...
@CircuitSacul I think you need to reconnect your bot
You probably didn't reconnect since we fixed the problem so you have stale state cache in memory
We just pulled the emoji_id values for each of these tags, and they are all nil, not 0
Description
The discord api documentation here mentions height and width tags. These tags do not appear to do anything. Whether I place them within the image array, or the embed array, it makes no difference. Others have stated that the height and width cannot be changed; which makes no sense, considering the tags exist. If thats true, its highly limiting.
Steps to Reproduce
payload with...
You can't set these properties, as mentioned on the create messages endpoint documentation
For the embed object, you can set every field except type (it will be rich regardless of if you try to set it), provider, video, and any height, width, or proxy_url values for images.
https://discord.com/developers/docs/resources/channel#create-message
I am currently looking for the same functionality with the same problem of wanting to create a progress bar for calculations on a channel's messages.
Hello there, my bad for asking once more, but I'd like to know if there's any way or method to obtain wether a message is pinging or not a webhook message? Thus far there's no information provided from the api aside of acknowledging the reply, but this doesn't indicate if it's pinging or not. (And since it's not an user, the mentions returns an empty array)
Description
When editing a channel, if the pass a parent_id and a position, the position parameter is simply ignored and the behavior is inconsistent. This is a follow up to my previous issue #5792 in which I was told to add that parameter, which doesn't actually work. Regardless of whether you pass the position parameter or not, the resulting position seems to be determined this way:
- If the channel was in the last half of the channels in the previous category, it gets placed at the e...
Description
https://discord.com/developers/docs/topics/threads#active-archived-threads
Threads automatically archive after 7 days of inactivity
Not archived after 7 days
Steps to Reproduce
Create thread and "idle" for 7 days
Expected Behavior
archived
Current Behavior
Not archived
Screenshots/Videos
No response
Client and System Information
all
Are these 0 and 1 supposed to be booleans? Usually the docs use "false" and "true" which is also clearer to the reader. See Message Type Docs
28c0a5d update boolean representation - hammerdr
This is fixed and will be rolling out with the next API deploy.
| DID_REJOIN | 1 << 0 | Member has left and rejoined the guild | 0 |
all good if you feel like this is helpful context, but it feels implicit in the table with the "editable" header and within the descriptions of the flags
| flags | integer | [guild member flags](#DOCS_RESOURCES_GUILD/guild-member-object-guild-member-flags) represented as a bit set, defaults to `0` |
it'd be helpful to note how to interpret the integer value—whether you note it's a bit set or something.
trying to pick a single word for this table header—modifiable or editable perhaps.
| Flag | Value | Description | Editable |
62436d5 Apply suggestions from code review - hammerdr
5a6c4e1 [Guild Member] Adds documentation for GuildMemb... - hammerdr
should be fixed for real now! (you now have the ability to reply-ping interaction responses on web, that needs to be on in order for the bot to count as being mentioned)
Currently - we can only make a text input as a modal component.
I've taken the rest below from @NegativeDev (thanks), but here is what me and Negative think should be available in modals.
NumberInput
This would only allow numbers. Pretty self explanatory
SelectBoxInput
This would present a list of boxes of texts, similar to how SelectMenu looks
FileAttachInput
The ability to attach files, with proper security measures in place would be quite nice for different uses, suc...
This seems to be causing some confusion so I've removed the marked answer.
Discord staff have mentioned officially, that they have no definite plans for Modals - however unofficially they have said that it will probably come next.
This seems to be causing some confusion so I've removed the marked answer.
Discord staff have mentioned officially, that they have no definite plans for Modals - however unofficially they have said that it will probably come next.
Description
App Description
CellFin is ibbl,cellfin,finance, content rating is Everyone (PEGI-3). This app is rated 5 by 1 users who are using this app. To know more about the company/developer, visit Islami Bank Bangladesh Limited website who developed it. com.ibbl.cellfin.apk apps can be downloaded and installed on Android 5.1 and higher Android devices. The Latest Version of 2.1.1 Available for download. Download the app using your favorite browser and click Install to install the ap...
Description
App Description CellFin is ibbl,cellfin,finance, content rating is Everyone (PEGI-3). This app is rated 5 by 1 users who are using this app. To know more about the company/developer, visit Islami Bank Bangladesh Limited website who developed it. com.ibbl.cellfin.apk apps can be downloaded and installed on Android 5.1 and higher Android devices. The Latest Version of 2.1.1 Available for download. Download the app using your favorite browser and click Install to install the...
It seems to be only partially finished. There is a way to add languages and write an extended description, but to me there are still two issues remaining:
- The short description cannot be localized. It is the first thing users see in the search result, but it only shows in English (or whatever main language is chosen)
- The media files (and previously tags/keywords, which seem to have been removed) can't be localized either.
I agree with @appellation, this could cause catastrophic confusion. I think you could create a channel type called "Command Channel" or something. The channel does not have a chat but a list of commands from each bot. A layout similar to the forum channel home page. You can also type a command manually on a textbox at the bottom of the screen. Because there is not chat, users will not be able to see any command typed by others. I would love to see this on Discord and think it would drasticall...
Description
When navigating to a thread in full view, typically the client will dispatch a THREAD_MEMBER_LIST_UPDATE to collect the full list of that thread's members. When navigating to a thread in an announcement channel a GUILD_MEMBER_LIST_UPDATE is dispatched instead. This is not accurate to the actual thread members on the API, which is correct. Message events for this channel also only seem to be distributed to the thread members as reflected in the API.
Steps to Reproduce...
Should thread members on the API not reflect this then? Seems very strange to have the client silently differ from the API.
Description
If the user supplies an argument that ends with whitespace, the autocomplete interaction the bot receives is trimmed, and does not end with whitespace.
My bot is too complex to use slash command options for every argument; so I've opted only one option and provide autocomplete suggestions to the user.
If the user types a space for the next argument, the bot cannot supply suggestions because it does not receive the entire user input.
Steps to Reproduce
- Begin typ...
A simple feature which allows the user to scroll through the list of all bots' commands instead of just a few limited similar commands of the same bots.

The timeout appears to be around 3 seconds. I did an experiment where I hosted some images from my own service and deliberately added some sleep before returning the payload. I tweaked this sleep amount until the 0x0 thing started happening consistently and it was just slightly under 3 seconds. Of course there are network effects etc. that make the exact timing hard to determine but this gives strong credence to the theory that discord servers are setting a somewhat tight deadline on fetching...
same here, really annoying for my bot.
[discord/discord-api-docs] Issue opened: #5880 Fetching an event's interested members takes too long
Description
When fetching the "interested" members of an event, it can take several seconds for the api to fetch everyone
Steps to Reproduce
[Desktop app]
- Have an event with ~100 people interested
- Clear your cache (ctrl+r / cmd+r)
- Go to the event details and click the "XXX Interested" tab
Expected Behavior
The users endpoint takes around a second to fetch everyone and return the list
Current Behavior
It takes way longer
Screenshots/Videos

> For servers with Onboarding, members that do not meet verification requirements can only participate in the server if they have the `BYPASSES_VERIFICATION` flag. This flag can be set by members who have the `MODERATE_MEMBERS` permission.
cfa1649 update more stuff - jixwanwang
Is there an ETA on that date picker option type? That would be really helpful to bots used across the globe and would be much better than having to force all users to convert date inputs to a time zone themselves and then read that in from a string
Discord does not give any ETA
Description
I can't log back in, because it's telling me that I've been blocked from using the API
"You are being blocked from using our API temporary due to our rate limits frequency
Steps to Reproduce
I don't have a cURL
Expected Behavior
Can you get me back in
Current Behavior
I have to use what's app to message my friends instead of discord to this is resolved
Screenshots/Videos
 appear around the thread name and it says invalid channel. If I remove the quotes manually and leave the # it works as expected.
Steps to Reproduce
- Create a slash command that has a Channel Option.
- On a desktop OS (tested using macOS 13.2 public beta) use the command and select a Thre...


Forgot to add screenshots of the fix
Following fragement is provided:
#error=invalid_scope&error_description=The+requested+scope+is+invalid%2C+unknown%2C+or+malformed. As JSON:
{
"error": "invalid_scope",
"error_description": "The requested scope is invalid, unknown, or malformed."
}
Here is a quote from the FAQ https://support.discord.com/hc/en-us/articles/10388356626711-Connections-Linked-Roles-Admins
Q: Where can I see when a member has a Linked Role in the server?
A: Members who pass the checks for a Linked Role will not automatically show up in the role’s member list. Members will need to opt-in to the Linked Role by going to the Linked Roles tab under Server Settings, select the Linked Role of interest, and connect to the necessary accounts. This ensures th...
Description
The endpoint /users/@me/guilds returns 199 guilds in the first call and not 200 even if I manually specify 200 like /users/@me/guilds?limit=200
But if I use the after parameter using the last id returned by the above command, then I get 200 guilds.
Steps to Reproduce
Call the endpoint /users/@me/guilds with a bot token where the bot is in more than 200 guilds.
It will return 199 instead of 200
Expected Behavior
Return 200 guilds
Current Behavior
...
I've been having the same across multiple browsers, devices, and connections. It's very bizarre.
Same issue here, it works for deployment.created but not for deployment_status.created

I would like to mention that my concept includes labels as a button style, too.
And you forgot modal pages.
I found there's quite a few events missing, including project v2 events.
Description
According to RFC, 204's should return no bodys at all. Discord will return an empty body instead.
https://www.rfc-editor.org/rfc/rfc2616#section-10.2.5
This breaks a few http libraries that follow RFC.
Steps to Reproduce
curl -v -XPUT -H 'Authorization: Bot TOKEN' -H 'Content-Length: 0' 'https://discord.com/api/v10/channels/{channel_id}/pins/{message_id}'
Expected Behavior
No body is returned with no content-type header
Current Behavior
An empty body is r...
Does the application exist with correct and recommended perms?
I wish the search bar was accessible through the API
can't repro 🦆
What device do you use? I think all private threads are not archived after 7 days, isn't that the case with your server?
I've definitely seen public threads that never get archived even after months of inactivity.
I can repro this since I have multiple unarchived threads in my server well past a week old. The auto archive duration now seems to just toggle how long before the thread is hidden but the archive status doesn't change.
Can repro also, heres an odd side effect of a few threads never archiving:

This appears to have been "fixed" as any URL previously affected by this bug is now redirected to discord.com.
I am currently updating my bot to utilize ephemeral messages in order to lower the clutter it creates, a highly requested change from the community. However, this means commands which edit settings specific to my bot are essentially invisible to other users. This can cause issues if permissions are not setup correctly and someone is changing settings/using commands they shouldn't be.
I would like to have either:
- The ability to call the api to add an audit log entry so that I can spec...
[discord/discord-api-docs] New comment on pull request #5844: Rate limit is per connection not shard
@MinnDevelopment @appellation Request to revisit wording as a connection is used as an equivalent to a session. However, a session provides a better representation of the actual rate limit. Per connection implies that the rate limit resets upon a disconnect.
[discord/discord-api-docs] New comment on pull request #5844: Rate limit is per connection not shard
Per connection implies that the rate limit resets upon a disconnect. It could refer to the initial connection or a session. It's ambiguous because "connection" is currently defined as process in the documentation; not a resource.
Per session implies that a bot application will be limited to 120 RPS per session. For example, an bot application (token) with a session start limit >1 could maintain three dif...
Description
If you try to search for all messages in an old channel with a ton of messages (ex: townhall's #general), the results will be very inconsistent. It may return around 500k results at first, then 2 millions (the correct amount) after a few more tries
Steps to Reproduce
- Have an old server with a lot of messages (ex: .gg/discord-townhall)
- Search for something that will return a lot of results (ex:
in:general) - Look at the number of results
- Do steps 2&3 again and...
Description
I hope this is the right place to provide this type of feedback. It's not directly an API bug, but it causes many problems when using Bot features.
There are many Android users out there, who are not so technically minded. They using that, what the phones provide them. For Huawei or Samsung users it's their own app store. Especially Samsung with their Galaxy Store.
Unfortunately, these app versions are no longer maintained, which certainly has reasons. E.g. the Samsung ...
Same issue here, sometimes searching a user's messages will cause the first few months to not exist.
I can repro this since I have multiple unarchived threads in my server well past a week old. The auto archive duration now seems to just toggle how long before the thread is hidden but the archive status doesn't change.
This behavior is documented: https://github.com/discord/discord-api-docs/commit/7c4c4976be4c0396f1feef8def24c0e86927e3a4
f7d9cd2 Remove outdated thread default auto archive time - ajpalkovic
@ajpalkovic to me that seems a bit strange though, even if it's not practically 7 days. The client still refers to these threads as "active" despite them having no activity for months, I have one that hasn't been active since september and certainly doesn't seem active to me. Unfortunately, this also means these threads always show up on the older mobile apps, which haven't been updated to implement hiding (obviously this is a self-inflicted inconvenience, but worth noting nonetheless).
Understood. The change was made a few months ago, I'm just updating the docs to reflect the current state of things.
Motivation
In the Get Current User Guilds endpoint, you can get a list of an oauth'd user's guilds. However, the response does not indicate which of the guilds currently have invited the bot. In our application, we'd optimally display a list of the user's guilds and clearly differentiate which ones are already setup and which haven't been.
Alternatives
For a bot that connects to the gateway, you could ...
Any updates/workarounds/solution for this in 2023? 🤔 I think this is a bummer!
Hi there,
I would love to have a feature where I could just ping an endpoint and have it bring up the results for messages sent in the server, just like the per channel endpoint, but for every channel in the server
Thanks,
Blake
Seems more like a bug
Allowing a token response type for this scope would allow a user to obtain valid OAuth2 credentials to manage their own metadata. This would allow a user to arbitrarily meet the criteria for any linked role's application-based requirements. While other scopes are secured by requiring a bot token in auth headers to use functionality (gdm.join, guilds.join), this scope simply refuses the token response type, meaning the scope is secured by requiring a code gra...
I guess this would let us find the latest (and maybe first) message in the server and it could be helpful for some bots.
But i think if there will be an endpoint for that, it should order all messages as their data&time. And this endpoint should get all messages in all channels. Maybe this could be a bit hard.
I'm not sure if this is already a feature but I didn't see any mention of it in the docs.
I'd really love to grab bio's and I feel that could open a lot of possibilities with bot development, to name a few :
---------------------
Verification bots - Display the bio so staff don't have to dig through the roster
User detection - Check for keywords in the bio of suspicious, can be used in logging or a user filter
Alt detection - It's a bit of a stretch but it could be used as one method ...
This was already denied in #3095
The user query endpoint can find in the whole server and order by time. It may be computationally expensive to have bots be able to access that though.
If you know the approximate time, you can fetch messages by generating snowflakes and using them with the after, before or around query params.
For fetching the 1st message, you can do ?after=1&limit=1
Same here, it's been a bit of an issue with making the full transition to slash commands
This was only recently added as experiment and didn't even started rolling out.
This was only recently added as experiment and didn't even started rolling out.
Thus why this pull request is a draft.

point 5 may be of help
This was already denied in #3095
Description
The Discord SDK v3.2.1 does not build with MinGW.
Luckily, it is pretty easy to fix.
Please apply the following patch for the next release:
https://github.com/diasurgical/devilutionX/blob/ed02eb58d4c719a4dc1a2ed2f155335f325b5c0e/3rdParty/discord/fixes.patch
Steps to Reproduce
Expected Behavior
Current Behavior
Screenshots/Videos
No response
Client and System Information
A very commonly requested feature is to clear the selections people make when using select menus. Right now, the preferred way to clear these selections, is to edit the message components.
However, this causes some problems. When the components of a message are edited (even without changing anything) the menu clears for everyone who can see the message. This is a very bad user-experience, since it also clears the current drafted selections of users who haven't submitted anything yet.
...
Description
https://discord.com/developers/docs/resources/channel#get-thread-member
When with_member is set to true, the thread member object will include a member field containing a guild member object.
Steps to Reproduce
Send a request similar to 1 or 2.
1
Content Type: JSON
{
"level": "trace",
"time": "2023-02-01T15:33:33.5181779-06:00",
"client": "990803528735932476"...
Please answer which one it is using the language defined https://github.com/discord/discord-api-docs/pull/5844#issuecomment-1409840094
Can you provide an example? For example, if I connect 100 times will the RPS for my bot be 12000?
Or 120 per each connection (which is per session)?
Per connection (which is not the same as session)
What's the difference? @MinnDevelopment
Please answer which one it is using the language defined https://github.com/discord/discord-api-docs/pull/5844#issuecomment-1409840094
Please answer which one it is using the language defined https://github.com/discord/discord-api-docs/pull/5844#issuecomment-1409840094
When you reconnect you can resume your existing session by passing a session_id in a resume payload. The connection is your websocket connection, and the session is what is attached to your session_id. So, if the rate-limit would be per session, that would imply that it continues into your resumed session after reconnecting, which is not true.
Thanks for being thorough, if you make another comment (outside this chain) I can mark it as answer.
Currently large numbers are formatted up to millions. This is great, but it would be even better if they also formatted billions and trillions.

Description
You're able to create forum posts with an empty title, this breaks the UI of the app in multiple places.
Steps to Reproduce
The request url is
https://discord.com/api/v9/channels/${channel.id}/threads?use_nested_fields=true
On Desktop:
Simply send a curl request to create a forum post, however leave the "name" field empty.
On iOS:
- Navigate to the forum creation screen as you normally would
- Don't enter a name, click onto the "Enter a message" fi...
Why is this closed?
Hey, thanks for reporting. Wanted to follow-up that we're aware of the Discord app still being in the Samsung store and we're working on a solution.
i mentioned it and added modal pages now
The issue description seems rude, and is a duplicate.
#5120
#2804
#1280
Hi!
First of all, thanks for the awesome GitHub-compatible webhook provided in https://discord.com/developers/docs/resources/webhook#execute-githubcompatible-webhook, it saves us from having to specify a custom GitHub actions job for each repository to get notifications on Discord.
However, I do miss one relevant detail on our notifications for Pull Requests - It doesn't display who the reviewers are, so our whole team keeps clicking the PR notifications even if only one member is assi...
Opening a discussion was recommended.
Indeed this was rude... However closing and locking #1280 was the issue, and EXTREMELY rude. Thus you got this. The correct action here is to reopen #1280
"Simply posting on existing issues is better" I completely agree... But tell us how to do that on a locked issue? And no explanation as to why!
Reopen the original issue. Please!
Not supporting IPv6 is a bug since RFC8200 published July 2017
It isn't a bug though, simply a missing feature.
It isn't a bug though, simply a missing feature.
RFC defines IPv6 as current internet standard. Software not supporting IPv6 does not follow the standard. So yes bug 😉
Any particular reason that @ooliver1 discriminate IPv6 and IPv6 users?
Description
On the active developer site, the badge receiving panel is visible, but after choosing my bot, my server is not visible in the 2nd stage, what should I do?
Steps to Reproduce

Expected Behavior
I was going to get my badge but it didn't
Current Behavior
same as i said
Screenshots/Videos
.
Likewise, User Selects do not show Users who match the search query, because they are nicknamed in the Server (and thus the User Select seems to search by Nickname first, ign...
Description
- Bot A has created a guild.
- In the guild, Bot A has created a role with the admin permission. All other permissions are cleared.
- Bot A assigns the role to itself.
- Bot B joins the server.
- Bot A cannot assign Bot B the role due to a 403 Missing Permissions error.
This should not happen because Bot A, the bot invoking the request, is the guild owner. Additionally, Bot A also has a role with the admin permission. This issue does not happen with other members. Bot ...
I've misunderstood the issue. Bot A, the guild owner, cannot assign any roles to Bot B. Neither bots have any roles currently assigned to them. I will update the reproduction steps accordingly.
This also happens for users it seems.
Greetings,
Right now, there is no way for a bot to effectively know who paused/unpaused the server invites and this becomes a bit challenging (or time-consuming) to deal with on large Discord communities where you have a team of many moderators/administrators who can execute said action. A gateway event to listen to this action through bot and to log who executed this action would be really helpful in such aforementioned large communities.
Sounds like this is a request for logging when invites are paused/unpaused in the guild's audit log, not for a new gateway event.
Pausing/unpausing invites already triggers the GUILD_UPDATE event with an updated features array, but gateway events other than GUILD_AUDIT_LOG_ENTRY_CREATE (which is emitted whenever something is added to the guild's audit log) do not specify who performed an action.
This should probably also be mentioned in the Resuming Section
diff --git a/docs/topics/Gateway.md b/docs/topics/Gateway.md
index a0aa5f9..ff2de4a 100644
--- a/docs/topics/Gateway.md
+++ b/docs/topics/Gateway.md
@@ -235,7 +235,7 @@ There are a handful of scenarios when your app should attempt to resume:
Before your app can send a [Resume (opcode `6`)](#DOCS_TOPICS_GATEWAY_EVENTS/resume) event, it will need thr...
well, that would work too.
You are right that pausing/unpausing invites already triggers GUILD_UPDATE event but lacks user_id prop for said event entry/payload like most gateway events have from my understanding, which helps to identify the perpetrator/moderator who did the said action.
most gateway events do not have a user_id property, generally the only way to know who did an action is through the audit log
@advaith1 you are right, sincere apologies. Only the newly added gateway event per #5849 has user_id prop in its payload, for rest we need to manually fetch who did action through GET /guilds/:id/audit-logs request.
Upon re-reading your initial message, I would like to ask if the current discussion title seems vague/not relevant enough to my described feature request? If yes, then please suggest a more appropriate title so to better aid others in understanding this discussion and to c...
The search bar IS accessible using an api. I used this api along with an alt with administrator perms to get total amount of messages a user sent. https://discord.com/api/v9/guilds/[guildId]/messages/search?author_id=[authorid] (must be send with authorization. I used my alt)
they meant accessible using the bot API, not through forbidden means like selfbotting
The search bar IS accessible using an api. I used this api along with an alt with administrator perms to get total amount of messages a user sent. https://discord.com/api/v9/guilds/[guildId]/messages/search?author_id=[authorid] (must be sent with authorization. I used my alt)
Self-botting is against the TOS, is there anything else you’d like to tell us?
Within Discord Bots (110373943822540800) we have persistently seen this behavior across the past few weeks. In many situations, searches result in messages only up to early 2021 or mid 2022.
We're aware and have a fix in the works, though I don't have an exact ETA to give unfortunately.
point 5 may be of help
The pull request is a draft until it is actually released.
I'll just close this for now and make a new request with the same fork when it is released.
[discord/discord-api-docs] New comment on discussion #3210: API Feature Request: Track invite used\.
Yes, this is possible through tracking the guild's invite list, but if discord already knows which invite was used, why not just send that along too?
I'd absolutely love to see at least some of these features make it into the API
Description
There is no way to search in the user/channel selection component on Android.
Only 15 options are displayed, and without a way to search, if the user/channel I want to select isn't in that list, I can't search for it!
Steps to Reproduce
Use a command that uses the channel/user selection component on Android and clicks to select.
Expected Behavior
Be able to search users/channels.
Current Behavior
Only 15 options are displayed with no way to search for a...
Why is this still not documented in 2023?
Same on IOS... That's a shame.
They created those back in April, ignored all Beta feedback for 6 months and released it randomly.
Useless on mobile. No pre select options. No info for channel category.
They are almost 1 year old and are still completely useless...
Just like how slash commands got a QOL change allowing you to obtain their id from the client, it would be really cool to do the same thing with forum channel tags, either in the base channel UI or in the settings part. Right clicking could bring up a menu with an option to copy the id:

Needing to send a request just to get the id of something is not really convenient or al...
Just tested this, the returned VOICE_STATE_UPDATE had the expected null channel_id for the disconnected user.
Closing this, but if I've misunderstood the report please let us know.
Bump Auto Moderation keyword rules per guild and keyword length limits.
694e9b5 [Auto Moderation] Increase keyword limits - hemu
[discord-api-docs] Branch hemu/update\-automod\-limits was force-pushed to `eee616f`
b7d6467 Document Silent Messages. - tpcstld
Summary
Hey folks!
This is actually my 2022 hackweek project which I got to finish to completion. :)
During a message send request, if you include the new SUPPRESS_NOTIFICATIONS flag it will not broadcast any push/desktop notifications but will still increment the relevant mention counters.
The intention is that you can get someone's attention but not feel like you could be distracting them. Like when you DM someone at 5am. I'm sure some bots can leverage this as well to avoid...
If it's possible to pass that flag on message create then the params documentation isn't updated.
https://discord.com/developers/docs/resources/channel#create-message-jsonform-params

FML. I'll push up another commit or PR.
Description
The audit log event only gets sent once for the first action taken instead of all actions taken by a moderator.
For the following audit log events: MEMBER_MOVE (26), MEMBER_DISCONNECT (27), MESSAGE_DELETE (72)
If this is intended and is going to stay the way it is now, then there should be a note on the "Guild Audit Log Entry Create" event detailing this is intended.
Steps to Reproduce
Message Deletes
- Send multiple messages on a different accoun...
BTW IT NEEDS TO BE MOBILE CLIENTS 164 AND UP OOPS.
f7cc5dd Add suppress notifications in create message en... - tpcstld
Document the already known and expected behaviour (consistent 502 gateway errors) when attempting to get prune counts for large guilds.
See https://github.com/discord/discord-api-docs/issues/2890 for more info
+1, I'm having this exact same "issue", and the change shouldn't be hard (just changing to the formatter)
that number is how much girls I have
I was just wondering if we could get a button type WARNING for yellow buttons just to have more options to choose from.
Because in my opinion PRIMARY blue / SECONDARY gray / SUCCESS green / DANGER red is not enough
I agree with this, but this has been suggested and denied in the past. They say that Danger buttons serve the same purpose as Warning would.
While on this subject, setting the value to infinity makes it say "∞M". Same for NaN (NaNM) but it's probably a bug that it accepts NaN as an option.
for me danger is not the same as warning and it would still be nice to have more variety of colors as sometimes when you have a lot of buttons in one message it looks bland to only have 3 color options plus gray
Description
We have received reports of thread channels with "name": null. This seems like an API bug.
Steps to Reproduce
Received in GUILD_CREATE threads array.
Expected Behavior
Names should not be null.
Current Behavior
Names are null.
Screenshots/Videos
{
"rate_limit_per_user": 15,
"owner_id": "...",
"flags": 0,
"type": 11,
"message_count": 2,
"total_message_sent": 2,
"last_message_id": "1072268300576366672",
"parent_id": "...
6d3b804 [onboarding] Adds initial docs for Onboarding API - hammerdr
In light of #5393, is there a chance this can be changed to the standard remoji representation also used in other APIs (as listed in that discussion)?
Further up it's documented that this will only be null if no emoji is set
ah, interesting. this isn't how its implemented in the code today (which is where the example came from) but perhaps I should just fix that in the API
ya, it looks like we can just do this without any backwards incompat. Going to make this change and update the example to match the docs. Please note that old versions of onboarding may still have this bug present and I'm not going to go back and fix those :)
Currently experiencing 2-3 bots per week accessing a Discord I moderate. They always have an about me section mentioning DMs for art commissions. It would have been amazing to do some warning to my moderators for certain keywords in the their about me, but I guess that won't be happening.
This makes moderation harder. Please reconsider this decision or stop the bots in the first place. Unless Discord creates the appropriate tools to fix this, we should at least be able to make our own tool...
Will audit log stuff be documented?
It's also important to note that this would also add risk, people could easily abuse this API if it were to be added
@AirplanegoBrr could you elaborate? What exactly would this abuse look like?
I noticed the same behavior on the Role select component.
It used to work till last week and it stopped working on latest mobile version.
I don't see any option for dropdowns in the UI, is this an actual thing that a bot could encounter, or leftover prototype code?
Hello!
I have been developing discord bots for a bit now and with the new application commands I thought it'd be nice to have a UI to visually see your global/guild commands, delete them with a button, or create new ones through a form! I thought of this idea just because it gives a nice visual representation and can be tedious. I have created an alpha version of this at https://discordcmds.com/ which supports slash commands with options and choices. I think this would be a great solution ...
Description
Specific emoji "Palm Up Hand" https://emojipedia.org/palm-up-hand/ does not display on select menu options on windows. Works fine on android and IOS
Steps to Reproduce
create a StringSelectMenuBuilder and add an option that have the emoji "Palm Up Hand" on the label or in the description. It does not display.
Works fine on the Button component.
Expected Behavior
I expect the emoji to display
Current Behavior
Emoji display as an empty space
Screen...
- looks like this endpoint returns a 404 unless x-super-properties is set
- is there a reason bots cannot edit the onboarding config?
- is there a reason /guilds/:id/top-read-channels isn't documented here?
Just to be clear, I'm talking about using the emoji: { name, id, animated } structure here, not (just) about emoji_name being null - but rather, to use that partial emoji structure instead of those two emoji_name/emoji_id keys. Or probably use both representations for client backwards compat. Because otherwise, 5+ endpoints use one format and 3 endpoints use another format, which makes the API even more inconsistent with itself.
Does this need any permission?
I doubt it because the client needs to use it when it first joins a server.
I think it's particularly evil of @night to have this stance, especially when services like Amazon Lambda, GCP functions are allowed
there will be in the near future
i'm not sure what our (discord) position is on this. i'll ask around
- looks like this endpoint returns a 404 unless x-super-properties is set
Can you elaborate? I just need an Authorization header when testing via curl
Your other questions just aren't covered by this particular PR.
It should uses their GitHub repo link as other libraries.
Docs will be updated when the change goes live
So, to clarify, when computing on our side effective permissions for a locked thread (that isn't archived), we should forcefully deny all permissions except:
- VIEW_CHANNEL
- READ_MESSAGE_HISTORY
- ADD_REACTIONS
- USE_EXTERNAL_EMOJIS
…unless we have MANAGE_THREADS (in which case we compute permissions like a normal non-locked, non-archived thread).
Have I got it right?
Additionally, some user activity like deleting messages and adding or removing reactions will only be allowed in locked threads if that thread is also active (or un-archived).
Does that mean you won't be able to delete your own messages in locked threads? How would users go about deleting personal information they previously posted in now-locked threads and now want to be gone?
pretty sure that already applies to threads that are locked + archived (well all archived threads but users can't unarchive if they're locked)
Also, the doc currently states that:
The only operation that should happen within an archived thread is messages being deleted
So, if I understand the changelog correctly, you won't be able to delete messages that you have sent in threads that are locked and archived. Is there a reason for this?
AFAIK, users can currently delete any message they sent as long as they can view the channel (they don't need SEND_MESSAGE or any other permission). This behavior is good for privacy becaus...
Does that mean you won't be able to delete your own messages in locked archived threads?
@wasdennnoch Correct—deleting is possible in unarchived locked threads, but not archived locked ones. To do that with the changes, it'd need to be done by someone with Manage Threads perms. I can raise the feedback to the team to see if there should be an exception there like there currently is.
@Zoddo yea I think that's correct can make it a bit more explicit if it's helpful
| User Activity | Active/Unarchived + Locked | Archived + Locked |
|---|---|---|
| Send message | ❌ | ❌ |
| Change post title | ❌ | ❌ |
| Edit tags | ❌ | ❌ |
| Edit messages | ❌ | ❌ |
| Delete messages | ✅ | ❌ |
| Add/remove reactions | ✅ | ❌ |
| Follow/unfollow | ✅ | ✅ |
Whether you compute the permissions on your side or just have built-in error handling is up to you
The endpoint has a client version number check (probably as part of the experiment gating) so when I fetch it in Postman (using a bot token), it returns
{
"message": "404: Not Found",
"code": 0
}
unless I include an X-Super-Properties header copied from the client. that seems to still count toward the strict twice-per-minute rate limit though
Description
I seem to be able to send more than 5000 characters to my discord bot without being blocked, the interaction goes through and on the bot side it shows the huge amount of characters. I do get the little red text as in the image below in my discord client, but it still goes through just fine.
In the image below I sent a 5508 characters long message, and I don't even have nitro.
Steps to Reproduce
Deploy a slash command with a string option.
Expected Behavior
It e...
that's normal, the limit for string options is 6000 characters. nitro raises the limit for normal messages only
I see. I guess my test server is enabled differently and doesn't have this issue.
Okay, as far as this API goes, we're going to do a revision to get Emoji to match the shared definition. But it will take some time for that to release. We'll leave this API PR up as reference for the time being, but please consider it pre-alpha and subject to change at any point.
@wasdennnoch @Zoddo hmm so it seems the new behavior is consistent with existing behavior. I talked to eng and tested it, and messages can't currently be deleted in an archived + locked thread.
Hmm didn't know about that special case. It's good then that this PR clearly documents said behavior (though the privacy concerns remain, but since that was signed off a few years ago and I haven't seen anyone complain yet I guess it's fine lol).
29f0cb3 Add Upcoming Locked Thread Change (#5919) - shaydewael
that's normal, the limit for string options is 6000 characters. nitro raises the limit for normal messages only
Oh, Ok, but then why is the red text in right corner indicating that I've written to much and need discord nitro? Maybe that's the real bug...
I still believe this limit should be increased. I've unfortunately reached this limit by accident, now im having to go out of my way to resolve this problem.
Bump maybe? It's been 3 weeks and still no response
Is it not possible to set this on creation with POST /guilds/[{guild.id}](https://discord.com/developers/docs/resources/guild#guild-object)/channels?
Description
Messages of type 4 were introduced for GDMs and cannot be deleted. This is problematic as the type 4 message type has content matching the name the thread has been set to. This allows all formatting any message content would normally allow, including triggering the embed unfurler (which additionally generates an embed that cannot be suppressed). AutoMod & the native link filter treat these messages appropriately:
{
"message": "This can't be sent because it contai...
Hi all, I'm trying to make a bot that will respond to new messages, it works, but does not see some emoji (don't know what's involved). So, how can I complement the bot to make it respond automatically even to emojis it doesn't know about?
That is, for example, he reacts to emoji 🎉 but does not respond to emoji :swords:
import requests
from colored import fg
from time import sleep
from os import system
RefreshTime=20
headers = {
'authorization': "TOKEN HERE"
}
...
Hi all, I'm trying to make a bot that will respond to new messages, it works, but does not see some emoji (don't know what's involved). So, how can I complement the bot to make it respond automatically even to emojis it doesn't know about?
That is, for example, he reacts to emoji 🎉 but does not respond to emoji :swords:
import requests from colored import fg from time import sleep from os import system RefreshTime=20 headers = { 'author...
@ooliver1 Thanks for the report. It's a bug. A fix is coming soon.
@yonilerner @DV8FromTheWorld
Any updates on this? It's been months...
Error returned when doing something very '🍺' to certain channels
[discord/discord-api-docs] New review comment on pull request #5923: Document funny error code 30061
This code is in the wrong spot, it should be below 30058
@Tin A fix? It is not documented.
I also tried it with python's requests library v2.28.2, with python 3.8.10, and I still got 199 results. Here is a code snippet:
import requests
bot_token = "<MY_BOT_TOKEN>"
headers = {"Authorization": f"Bot {bot_token}"}
r = requests.get(url=f"https://discord.com/api/users/@me/guilds", headers=headers)
d = r.json()
print(len(d))
We think we've repaired all such threads. Are you still seeing any instances of this in the last ~24h?
I haven't received any reports of it in the last 24 hours, I'll let you know if it comes up again. Thank you for looking into it.
I had the same issue with my bots, and the errors seem to be gone now. All the threads I created a week ago or so without names are now named "Thread", so I guess the fix worked.
For now @mbialecka, I've updated the changes to better reflect the current behaviour as it's been some time. When both can be supported at the same time, this description can be modified then.
As part of the Guild Ban Add event, it would be helpful to know how long ago messages were deleted for as part of that ban.
Giving this information would allow proxy style bots delete messages that were proxied for that user during the ban event. Right now, if a user gets banned and has messages proxied, there's no simple way to automatically delete those proxied messages, and with this proxy bots could do it themselves.
Description
When receiving an HTTP request from discord for an interaction and then responding specifically via an HTTP response with any file somewhere above 82 kb (not sure of the exact size limit it has but all I know is that sizes at 82 kb definitely work and sizes at or greater than [192 kb](https://user-images.githubusercontent.com/66775276/218924241-9951f46c-c49a-4989-8a60-e402...
It seems the current limit is 150KiB. I'll look into raising it.
I consider it important that the API allows uploading files in the modals, as it would help a lot in the use of ticket system and so on.
duplicate of #4482 (and #5217)
Seems like text in stage has been officially released now.
Stage channels now have text chat, screenshare, and video support.
This PR adds stage channels to lists that should now have them. I also removed it from the Deafen Members permission as that is not visible in the client, assuming that the client behavior is intentional. The client is unintentionally missing Manage Webhooks for both voice and stage channels.
The related PRs #5273 and #5927 should also be merged for complete documentation.
| USE_EXTERNAL_EMOJIS | `0x0000000000040000` `(1 << 18)` | Allows the usage of custom emojis from other servers | T, V, S |
do they still all exist?
raising a hand does not cause any message, it seems? Supposedly yes, since 31 is still topic change, so at least the enum seems consistent
Description
Exceeding the user limit of 10000 on a channel patch does not throw an error unlike its voice channel counterpart
Steps to Reproduce
patch limit to 100k
Expected Behavior
"user_limit": {
"_errors": [
{
"code": "NUMBER_TYPE_MAX",
"message": "int value should be less than or equal to 100000."
}
]
}
Current Behavior
200
Screenshots/Videos
N/A
Client and System Information
N/A
duplicate of #4482 (and #5217)
Can you please provide the JSON payload for the SelectMenu you're including with your message?
If this is still an issue, please contact support: https://dis.gd/contact
@nothatkid we're going to close this out for now. Please re-open with more details if you're still having this issue.
This has been synced into our internal bug system. Please hold for assistance :)
111f2f6 Document funny error code 30061 (#5923) - Rate-Limiting
43ce96a Add note about audit log entry order in paginat... - MinnDevelopment
b0043dc Document role_connections.write Implicit gran... - panley01
558e222 Add guild id and ended params to app entitlemen... - Jupith
We are unable to reproduce this issue, if you have more information regarding this and it is still an issue feel free to reopen.
ad5f624 Document error code 30011 & managed field for c... - panley01
NOTE: this is not a dupe of #4591, as that talks about adding video streams to voice channel and this request is the opposite, using the video feed from the voice channels in external applications.
Being able to use the video feed / screen sharing in external applications would be really useful, e.g., integration with streaming software such as OBS or StreamLabs. Currently, you have to capture the screen and crop the area to the position of each of the participants or the shared screen, an...
interesting, did you unselect all defaults and select them again?
I'm going to close this and re-open the original issue.
f4ca0ae Document CDN endpoint for server subs assets (#... - panley01
673bca5 redirect Discord4J to their repo (#5918) - Idris1401
I'll ask the responsible team if they have any plans to improve perf, but this isn't really a bug.
b348464 Clarify sticker constraints (#5852) - VelvetThePanda
At a minimum:
method needs to be PATCH
- If you don't do this, you get a 405 method not allowed
The body of the patch needs to be rewritten so that the variable can be replaced
- If you don't do this you get a 400
"Value \"$ROLE_ID\" is not snowflake."
-curl https://discord.com/api/v10/guilds/$GUILD_ID/members/$BOT_B_ID -H "Authorization: Bot $DISCORD_TOKEN" -H "Content-Type: application/json" -X POST -d '{"roles": ["$ROLE_ID"]}'`
+curl https://discord.com/api/v10/guilds/...
This is client side only and shouldn't be documented. The rest look good though.
648109e Update channel type lists for stage channel upd... - advaith1
bf3c144 Revert "Revert "Add missing message types (#581... - MinnDevelopment
I was talking with @DV8FromTheWorld on discord developers group and got to the conclusion that I should be using the "Emoji" property instead of inserting the emojis inside the labels and descriptions.
It is working as intended.
I was talking with @DV8FromTheWorld on discord developers group and got to the conclusion that I should be using the "Emoji" property instead of inserting the emojis inside the labels and descriptions. It is working as intended.
Might wanna close this issue then
This has already been addressed previously, you shouldn't rely on the order for your bot.
This has already been addressed previously, you shouldn't rely on the order for your bot.
See: #4743 https://github.com/discord/discord-api-docs/issues/4743#issuecomment-1098602789
Well that’s just unfortunate because I find it quite handy that the bot receives the options in the selected order, I just wish that were reflected on the client so the user knew that was happening
This is already noted like that for webhook execute but not for message create. The only place this information can be found right now is https://discord.com/developers/docs/change-log#support-for-multiple-embeds-in-message-routes
i don't think limits are in the type field anywhere, so it should probably be in the description for consistency
Yeah was thinking bout that, would prefer it as well tbh, just kept to how it was at webhooks.

Will update
@advaith1 how does it sound now?
missing spaces after rich and i think the 6000 limit is total, not per embed
Updated, for the 6000 char limit I would like to have feedback from an staff please.
Not sure about that either. Can't test it right now.
from "Embed Limits"
Additionally, the combined sum of characters in all title, description, field.name, field.value, footer.text, and author.name fields across all embeds attached to a message must not exceed 6000 characters. Violating any of these constraints will result in a Bad Request response.
Hmm, did you consider adding a disabled property to role objects? Then you can disable the role first and perform actual deletion async.
The message cannot be deleted
This might be intentional, as thread name change might signify a topic change.
@jupith This is so real 🍹
Description
When responding to an interaction (received from HTTP POSTs) specifically of a message context menu interaction with form-data, it will just 'not take it' and fail.
Steps to Reproduce
- Have an HTTP-only application that can handle interactions received from HTTP POSTs
- Receive a message context menu interaction
- respond to that interaction via HTTP Response with files
profitfail
Expected Behavior
the ability to reply with files via HTTP Response j...
Can you provide an example payload you are sending?
I've had the same issue with perfectly valid body and headers, as well as multiple other people in ddevs.
Can you provide an example payload you are sending?
@devsnek
--form-data-boundary-0dm1fjsql7yhc3x3
Content-Disposition: form-data; name="payload_json"
{"data":{"embeds":[{"color":9528807,"fields":[{"name":":inbox_tray: Input","value":"```js\nreturn 'test'.repeat(2000)\n```"},{"name":":outbox_tray: Output","value":"Output is in file preview"}],"footer":{"text":"Feed me code"},"title":":white_check_mark: Success"}],"attachments":[{"id":0,"filename":"evalOutput.js"}]},"type":4}
--form-d...
Well, it looks like the scope of relationships.read is still not working for applications. As mentioned above, how could I make my application whitelisted to call relationship APIs?
Include that guilds are limited to 50 integrations.
See: https://github.com/discord/discord-api-docs/issues/5376#issuecomment-1242289085
> Only 50 integrations will be created for a guild, but there can be more bot users in the server. This means that only the first 50 apps added to a guild will have application commands available and appear in the "Integrations" server settings tab.
I've added some logic that will allow bot devs to submit "true/false" and itll just convert to "1/0"
Hi!
I need help with setting my first Discord bot.
I have made the application in Discord developers portal. I have added it to my Discord server.
I have set the INTERACTIONS ENDPOINT URL in this discord bot. It was checked and saved successfully.
I log every request to this endpoint. I see the requests that was during the checking of the URL.
I have checked the webhook with Postman and it worked well. But i see that the bot doesn't send the message to my webhook. There are no any logs a...
Well that’s just unfortunate because I find it quite handy that the bot receives the options in the selected order, I just wish that were reflected on the client so the user knew that was happening
Kindly close this issue
I will wait for someone from the team to do so to make sure that is still the intended behavior
Someone from the team already confirmed it.
Yes a year ago, please let them handle this
Not even close to a year. They said they aren't adding this
Managed roles cannot be removed, thus the INVALID_PERMISSIONS error.
I completely forgot about this, thanks for reminding me.
Description
The Application Role Connection Metadata Type variants DATETIME_LESS_THAN_OR_EQUAL (5) and DATETIME_GREATER_THAN_OR_EQUAL (6) are documented in reverse from the way that they actually work in practice.
DATETIME_LESS_THAN_OR_EQUAL, which is type ID 5, is documented as such:
the metadata value (ISO8601 string) is less than or equal to the guild's configured value (integer; days before current date)
Our application's join_date field was configured as type ID ...
I think this is an interesting miscommunication on what greater than and less than actually means in this implementation.
To my understanding, and based on behaviour, DATETIME_LESS_THAN_OR_EQUAL equates to a difference between datetimes being less than or equal to the given value (where the datetime provided in the metadata is compared to the current datetime). That makes behaviour consistent with expectations. Based on the description given:
the metadata value (ISO8601 string) is les...
http endpoint url only supports interactions you need to connect to the gateway to get text messages
These are named somewhat unfortunately, and again it puzzles me as to why the comparison operator is baked into the metadata.
Nevertheless #5827 is tracking clarity of the documentation; so I think you should mention this ambiguity there
Yes, this issue was opened as a problem with the docs, not necessarily a "bug", though it seems like the issue creation wizard forces the bug tag automatically.
The docs don't mention that the comparison is against the difference between the datetimes. If it did, then the current names make sense. However, the current descriptions of the DATETIME_LESS_THAN_OR_EQUAL and DATETIME_GREATER_THAN_OR_EQUAL variants, clearly say "metadata value is less than configured value", which is directly...
Isn't this only true when using the resume URL? Also the session is resumed. The connection is technically new.
is it possible to detect that this is happening programatically so we can notify the guild admin? Like with an error event listener?
Isn't this only true when using the resume URL? Also the session is resumed. The connection is technically new.
Yep, thanks
I do receive HELLO on resume URLs. Are you sure this is accurate?
Seconding this request.
The whole reason I want to use buttons is to hide excessively long links like the following:
Description
GET /channels/{channel.id}/threads/archived/public and similar endpoints used to order members according to the order of threads but this behaviour changed today. I know that this behaviour was not documented but it was useful and the change broke my library. I create the issue to know if this change was intended and I should update my library.
Steps to Reproduce
Send GET /channels/{channel.id}/threads/archived/public and compare the order of members with the ...
Description
Navigating to channels will trigger an API call to check for user entitlements in a guild. This behaviour is not prevented from happening in DM channels.
Steps to Reproduce
- Navigate to DM channel
- Observe as
GETtohttps://discord.com/api/v9/guilds/@me/entitlementsis made - Observe 400 error response
Expected Behavior
Navigating to a DM channel does not trigger an entitlements check
Current Behavior
Navigating to a DM channel does trigger an entitl...
This repository is for API bugs my friend.
thankyou discord user jupith I will now send this bug report to https://dis.gd/bugreport
These messages won't unfurl links anymore
(Or at least whenever the next API deploy happens, probably later today or something on Tuesday/Wednesday)
I have the same issue with:
async def send_dm(userid: int, message: str):
user = await bot.fetch_user(userid)
channel = await user.create_dm()
await channel.send(message)
Given my own user ID it raises an error saying discord.errors.NotFound: 404 Not Found (error code: 10013): Unknown User
this is an old and probably unrelated issue; for discord.py help go to https://discord.gg/dpy
then the "Connection Lifecycle" section in the docs seems to be wrong?

Description
We got a report of a GUILD_SCHEDULED_EVENT_UPDATE dispatch with both channel_id and entity_metadata being null. https://github.com/DV8FromTheWorld/JDA/issues/2394
According to the documentation, the entity_metadata is required to not be null for entity_type=3.
Is this a bug/race condition? Should we handle this or ignore it?
...
It looks like you can set entity_metadata to null using the update endpoint, this should not be allowed.
Events updated to this state also cause the client to crash:
Brings the documentation for the POST request for creating a channel in line with the PATCHrequest for modifying it for properties that are valid when creating a channel.
Description
It seems wrong to me to issue new refresh token all the time, what's the point of having them in the first place if they expire ? Anyway I think this should be documented to avoid confusion 👍🏻
Steps to Reproduce
follow oauth2 flow and refresh a token, if you use the same one it will throw invalid_grant
Expected Behavior
Original token should work
Current Behavior
Each token is single-use
Screenshots/Videos
No response
Client and System Inform...
Can confirm that this is still present, for me it is whenever you defer a message, making it send "Bot is thinking", then proceed with a followup that has a custom emoji in it. Made sure bot has access to the emoji, it works without the defer and no followup.
Pretty much noticed this right after I rewrote my entire bot to use interactions instead of message commands :(
Why can user made webhooks allow any emoji to be sent but not bot owned webhooks?
Note, that user webhooks and the bot owned webhooks both have external emoji permissions
Why can user made webhooks allow any emoji to be sent but not bot owned webhooks?
Note, that user webhooks and the bot owned webhooks both have external emoji permissions
Bot owned webhooks can only use emojis the bot itself has access to
User owned ones doesn't have this restriction
You just responded with what they just said. They were asking why that restriction exists.
Description
From time to time a weird error occurs. When I press buttons, I receive "This Interaction Failed". Discord denies my request:
{"code": 50035, "errors": {"data": {"_errors": [{"code": "COMPONENT_VALIDATION_FAILED", "message": "Component validation failed"}]}}, "message": "Invalid Form Body"}
There is no regularity and that's why it's weird. Custom IDs are absolutely correct, but Discord itself refuses to validate my component. Only some of the buttons stop work...
it's a side effect of bot webhooks using the bot's permissions. if the bot can't access the emoji then its webhooks can't either because they share the same permissions
iirc they originally said the change wouldn't impact emojis, then it did and they refused to change it
You just responded with what they just said. They were asking why that restriction exists.
No, I didn't. + it previously could use emojis from everywhere, but AFAIK the behavior changed after the update to the bots' permissions calculation due to a bug. Then, they refused to fix it and kept as "work as intended".
oh lord suspense already replied
| Field | Type | Description | Channel Types |
It should be plural like in [application command structure](https://discord.com/developers/docs/interactions/application-commands#application-com...
Also i am not too sure about case of types
Because it should be common so maybe write is as Text => GUILD_TEXT
Copy your command id and add it in your Discord developper portal bot profil
`TRY MY COMMANDS // ** to bold the text
</play:command id> | </help:command id>`
Hmm in other parts of the documentation short codes are used like T, S, V
This is documented exactly the same as it already is for the Modify Channel endpoint, which is why I chose this structure.
CloudFlare => Cloudflare
Capitalizing the F in Cloudflare is not the correct way to spell Cloudflare anymore. This PR removes that capitalization.
Someone made this PR literally 4 minutes before me :sweat_smile:
Description
When a forum post is "closed" (not locked) and normal users attempt to interact with a component inside it, Discord gives them an error (Example gif and images attached below);
The reason we are trying to use components in "closed" posts, is for our marketplace system, which can easily have enough posts to hit the 1000 active threads limit imposed by Discord. By closing the posts, we ensure the post does not contribute to that limit. We then have buttons in the post that a...
The bug here is that components in archived threads are supposed to be grayed out. The fact that they are not usable is intentional.
it's a side effect of bot webhooks using the bot's permissions. if the bot can't access the emoji then its webhooks can't either because they share the same permissions
iirc they originally said the change wouldn't impact emojis, then it did and they refused to change it
it would be nice if discord commented on this.
capilization => capitalization
Wow that's embarrassing 😭
Description
While attempting to get my bot app prepared for the App Directory, I came across an issue where the Developer Site would not allow me to enable discovery because "Your application's description may not contain any harmful or bad language".
After trying every combination of censoring, word replacing, and rewriting, the issue persisted. I discovered right as I was about to give up (thanks to Daniel💻#7205 in ddevs) that if your app description (not the App Directory descripti...
Can bots encounter that even?
My last info was that they can't modify subscription stuff
This is encountered in the documented Delete Guild Integration endpoint

Yes and this is integrations not the actual subs.
[discord/discord-api-docs] New comment on discussion #4914: Allow to disable commands for admins too
This would be especially great for context menu commands, since they're all shoved into one list you need to look/scroll through, so it would be nice to remove clutter from the list
Description
I'm trying to send a message via a webhook to a forum chat (creating a new post), but when I send it with components like buttons, it returns an empty array of components
Steps to Reproduce
- creating webhook for forum chat
- send json obj to that chat with components array
Expected Behavior
a message should have appeared in a new forum thread with buttons
Current Behavior
the message is created without components and embeds
Screenshots/Videos
My...
I was wrong and I'm very embarrassed to have been helped to solve this. the webhook had to be created on behalf of the bot

Description
Hello
I tried using application to let the server auto-invite, but it didn't work.
Please tell me what is wrong with me.
It has been confirmed that the bot's token is available.
I have also confirmed that the access_token is available in "users/@me".

 object | the emoji of the option |
Thank you for keeping the emoji representation consistent <3
[discord/discord-api-docs] New comment on issue #5929: No upper user limit error returned for stages
Hi, truncation to the upper user limit on stage channels is the intended functionality here, but it may be something we can revisit in a future API version. Thanks for the report
The replay option exists - if you run a command, then press the up arrow, then instead of editing your last message, it'll copy your last run command
This may have been added after this was created, but:
To replay a command, press the up arrow on desktop to automatically re-enter your last command.
As for copying the command, click the slash command and you can see the exact code added

[discord/discord-api-docs] New comment on issue #5929: No upper user limit error returned for stages
Hi, truncation to the upper user limit on stage channels is the intended functionality here, but it may be something we can revisit in a future API version. Thanks for the report
Why is this intended? A 200 indicates the channel was successfully updated but that is not the case, and so a local cache will be out of date. If we're going to receive a 200 OK http code that should be treated as a 400 error code, then it should be documented as such.
I find myself in a similar situation, our app supports Mac OS v10.xx.
I want to migrate from the old discord-rpc library, but would like to avoid waiting for older Mac OS versions to fall out of use.
What is the recommended approach here? Are there any plans to support older Mac OS versions as well?
If not, is there a workaround to this limitation?


