Error code 50025 occurs when the access_token provided is either missing or is invalid.
A token can be invalid when it is provided for the wrong application or wrong user. Access tokens are specific to a user or an application, so when attempting to add a user to a guild using an access token you need a unique token for each user you are attempting to add.
#github-notifications
1 messages · Page 3 of 1
I have not looked deeper into this issue at this time. This is the first time I've heard of this issue.
Before assuming it is a problem with Discord I would likely investigate the underlying library implementation.
Is there any other documentation describing how to use auth headers with bots ? the official documentation does not really go into specific detail/examples on how to use it
I am reopening this given the additional information. I haven't had time to validate it, but if true, it could point to a permission handling bug.
Maybe to combat this issue an application could register custom IDs that can be interpreted and executed in another property in the message payload in an allowed_mentions-like syntax?
e.g.:
{
"content": "<interaction://test> (gets rendered and can be executed) <interaction://evil_custom_id> (isn't rendered and cannot be executed)",
"allowed_interactions": ["test"]
}
Maybe to combat this issue an application could register custom IDs that can be interpreted and executed in another property in the message payload in an
allowed_mentions-like syntax?e.g.:
{ "content": "<interaction://test> (gets rendered and can be executed) <interaction://evil_custom_id> (isn't rendered and cannot be executed)", "allowed_interactions": ["test"] }
Still, what if the bot developer is on vacation and doesn't have time to add t...
I’m not sure if there is but I can dig into the source code and add that myself. I do, however, doubt that is the case, as we’ve seen @ooliver1 say they are experiencing the same behavior and they’re using a python library, which is completely different from the one I’m using
48d3c2d Add Nitro Basic to premium types (#5568) - panley01
To be honest I think I'd be less comfortable clicking masked hyperlinks if they had the potential to actually action something within the bot/discord. Maybe if they were rendered differently it'd be decent, like mention-style or just a different colour or something.
It's pretty hard to reproduce confidently, since it's been random a lot of the time
I have found that letting it sit running for multiple hours after starting the bot allows it to not have that error until you turn the bot off and try to run it again without letting it sit.
I am getting huge bursts of that error right now and no requests are being resent, its completely blocking my whole bot from the vast amount of errors.
Found one possible solution to this -android phones do a head request on the redirect first before the post request. Wrote up here: https://stackoverflow.com/a/74187465/9440 Hope this helps.
I have an access token for each user I add but this didn't work.
Also strange is that when I try to add 2 or 3 accounts in a row it succeeds, but when I try to add many accounts in a row it fails.
For reference, here is the code to get the access token.
request("POST", "https://discord.com/api/v10/oauth2/token", {
headers: { "Content-Type": "application/x-www-form-urlencoded" },
body: `redirect_uri=${redirecturi}&client_id=${clientID}&client_secret=${clie...
Description
I am trying to create an app that would help people manage their guilds better but with the Oauth token, I am unable to use the /users/@me/guilds/{guild.id} API
It's throwing me an error
{
"message": "401: Unauthorized",
"code": 0
}
Here is an array of scopes I configured
'identify',
'email',
'connections',
'guilds',
'guilds.join',
'guilds.members.read',
'gdm.join',
Steps to Reproduce
You can clone this r...
Which of these scopes would you expect to provide you with the ability to leave a guild on behalf of a user?
I would say guild should be able to do that. There is no clear mention in the documentation of that
https://discord.com/api/users/@me/guilds/963861153585438800/member
https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes
Each scope and what it allows is defined on this page. There is no scope for an app to leave guilds on behalf of a user.
but then how can I use that API, are you suggesting that the API for leaving the guild is no longer supported?
The API allows a bot to leave guilds it's in. There is no oauth scope that allows an application to leave a guild on behalf of a user.
hmmmm, bummer.
Thanks for your help 😊
Description
Hello, it seems that the search does not work on the application directory, if you click on a category or write something, there are just five robots that appear.
Steps to Reproduce
Go on app directory, click on a category.
Expected Behavior
See bot in this category.
Current Behavior
See juste five bot: Mee6, Dyno, Carl bot...
Screenshots/Videos
 Host 1.0.50 Windows 10 64-Bit (10.0.22622)
And Stable 153988 (0e6233b) Windows 10 64-Bit
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
[discord/discord-api-docs] New comment on issue #5582: Application Directory \- Search does not work
we are aware and working to resolve this
Since bots can already get the Guild Specific Avatar, I don't see why this isn't also added

I also encountered this.
Don't have any repro steps but this is info i can remember:
- i just entered the channel and not all slash command have fully loaded when I sent the command
- i invited a bot which just created a fresh slash command called the command I used
can't repro when I tried again
@yonilerner any updates on this?
Because it's still pretty much a thing.
I believe this should be fixed, but feel free to reopen and ping me if you are still seeing the issue after updating your client.
This seems to be caused sometimes when slash commands just recently reloaded, and the application does not respond.
Canary 154144 (af04062)
Host 0.0.140
Linux 64-Bit (5.19.0-23-Generic)
tl;dr I think it would be nice but it's quite abusable, staff don't seem to want to implement it and a dead horse I beateth not.
It's not abusable. This is data available to all users./whoiscommands just aren't complete without this. I think this would really help. It may not have to go into an intent because this is public data available to all users. Kinda unfair, right? Users can access this but bot users can't.
Basically I want to at least be able to grab the profile color or others if done by oauth or via bot, that's it.
nothing more and nothing less.
This seems to be caused sometimes when slash commands just recently reloaded, and the application does not respond.
Canary 154144 (af04062) Host 0.0.140 Linux 64-Bit (5.19.0-23-Generic)
For me it even happens when the application does respond... when it respond the avatar fixes itself
guild member avatar != guild member banner
return true
That's why I'm saying since we get guild member avatar, why can't we also get guild member banner xD
ahhhh, sorry dude, I got it wrong :/
Moves change log entries to separate files and adds frontmatter metadata to them that can be parsed from the docs. Besides making it easier to create new entries, it makes it possible to display recent entries on intro page and render metadata (like breaking maps to breaking changes and will display a banner).
PR to convert all of the docs to MDX is closely behind this one (will probably wait to merge).
- [ ] Still need to update link checker script to accommodate for this.
9c60619 lets get rid of reference for now...but will be... - shaydewael
I think this shouldn't be here anymore
This is the warning box from docs/change_log/2022_08_gateway_resume.mdx; the original content is nowhere to be found. The correct content should be this.
3557ea9 oop rewriting history - shaydewael
While the client can display the used slash command arguments above a slash command response message, other bots can only access the command (and subcommand) name, but not the arguments.
It would be nice if bots were also able to see the used arguments to the slash command and not only the command name.
Description
When i try to remove Application Tags it tells me that i cant remove them because my App is verified.
It thinks that i try to rename the app even if i don't do that.
Steps to Reproduce
Go to https://discord.com/developers/applications click on a verified App, head to "General Information" and trying to remove a current Tag.
Expected Behavior
The Tag gets removed without telling me that it doesnt work because my App is verified
Current Behavior
If i try ...
| 100053 | Ineligible for subscription |
Can bots actually encounter this, or is it just for self bots.
Can bots actually encounter this, or is it just for self bots.
That's a good question. I don't know if the feature even has anything to do with a bot.
There is no info about this part at all.
Tried to ask but no one could say anything. So
🤷♀️
isn't it better be something like
(Max of size of 20)? same to the other property
I'm unsure about the wording myself tbh
This would be cool, if the alert can be also like JavaScript alert box displaying the alert message with ability to cache the response client side so if the user clicked the button again it should display the cached message. Cache time should be specified from bot-side.
I confirm I have this bug too, and it's for a bot that rolls dice with custom emojis for the dice faces.
So this issue is currently very harmful in my situation.
This is a similar issue to #4213 too
I currently developing a web3 multitenancy application.
One application can contain multiple (N) different website addresses. It depence on tenant, ex.
https://tenant-a.test.myawsome.app
https://tenant-b.test.myawsome.app
https://tenant-c.test.myawsome.app
https://tenant-a.myawsome.app
https://tenant-b.myawsome.app
etc...
These applications use this same discord BOT.
User can connect his profile with the discord account, then discord BOT can ping his name if something will happen...
Consider using a single redirect URL that will then redirect the user to the appropriate sub-domain.
Thinking about it. A separate application, only to handle oauth process..
There is no another way?
I would agree with Jake here.
Besides it's a lot easier to interally keep track of your redirect urls, rather than updating them in a dashboard.
Add missing resolved field to message component data table.
Due to recent addition of auto-populated selects, the components might receive resolved data structures.
This PR documents the role_connections.write OAuth2 scope.
Hello 👋
Please provide an option on IDENTIFY to disable the mass sending of GUILD_CREATE payloads. The option can be defaulted to enable which would prevent any breaking changes or causing issues for any bots/libs that don't want to support or need this.
Benefits For Those That Opt To Disable
- Potentially remove the 5s delay for each shard to identify because Discord may not need to give its databases time to make all those requests to get guilds, channels...
- Near ...
Description
It seems that there's a few complaints already about the autocomplete's caching:
https://github.com/discord/discord-api-docs/issues/4804
https://github.com/discord/discord-api-docs/discussions/5121
I agree, it should be optional. It's conflicting with my use case as well: choices which can only be chosen once.
Though what I'm even more concerned about is that it seems that somehow this cache is shared across different commands. So if I have two entirely separate comma...
This is not going to happen. The reasons why it works the way it does is for good reason right now.
We will be sending GUILD_CREATE to bots for the foreseeable future. The 5 second delay is not going away as it's necessary to throttle connections to our internal systems as well.
This is not going to happen. The reasons why it works the way it does is for good reason right now.
We will be sending GUILD_CREATE to bots for the foreseeable future. The 5 second delay is not going away as it's necessary to throttle connections to our internal systems as well.
In my opinion, this isn't even needed, depending on the session timeout, you could RESUME the connection using the session, sequence number and resume_gateway_url, load your guilds from cache and be happy.
Having optional initial guild creates and an opcode for requesting guilds would be very helpful for me. Especially after some downtime, but not enough that the cache is completely wrong
Since text channels have been added to voice channels having the ability to use member context commands on voice channel members.
This would allow for faster actions on members who are in a voice channel with you.
The reply to the interaction would then be sent to the built in text channel in the voice chat (when using the command the UI would automatically open up the text channel)
(The commands wouldn't be accessible if the text channel is disabled, like regular channels where you can'...
@DV8FromTheWorld I believe there is not much more debugging I can do here. Due to this issue happening at a random chance and requiring a high volume of interactions it would be impossible to gather enough data to be able to tell exactly why it's happening. All I can tell is that, on discord.js, after calling deferReply() the request is sent to this method which I am not familiar with...
If it helps, I also get totally random, out of nowhere, “unknown interaction” errors in my bot logs [i run a bot in discord.py] when sending a non-deferred response to an interaction (ie its just interaction.response.send_message() rather than a deference response with a use of the followup webhook).
I’ve never bothered trying to work out why it happens since the error traceback shows its clearly a Discord issue, rather than to do with anyones’ library implementations [unless every single ...
@Drakyoid, you must include the code_challenge in the generated URL. If no transformation is applied, the code_challenge can be the same as the code_verifier and code_challenge_method can be sent as plain. As a result, your URL should look like this:
https://discord.com/oauth2/authorize?client_id=CLIENT_ID&redirect_uri=lokapp%3A%2F%2F&response_type=code&scope=identify&code_challenge=CODE_CHALLENGE&code_challenge_method=plain
The criteria for generating the code verifier, as we...
Currently channel selects only show the channel name, but not the category name when you mention the channel.
This makes it hard to identify the channel like shown in this example:

This could be changed like when you mention a channel:

[discord/discord-api-docs] Pull request opened: #5597 Add channel flag \`ACTIVE\_CHANNELS\_REMOVED\`
Although it isn't released to all servers yet, some servers have it and a bot could encounter it.
There are other channel flags, but they are not documented as this isn't released yet
There are other channel flags, but they are not documented as this isn't released yet
I'm aware, but those can't be encountered by bots at the moment, other than GUILD_FEED_REMOVED, which is not as stable.
Bots have access to all emojis from the servers they are in. However, trying to send a message containing an emoji that comes from a Twitch integration does not work. This is certainly not intended since you can use these emojis to create buttons. 

pls fix
Description
Unsure if it's intended, considering that the documentation does not specify any sort of narrowing of the enum either - namely https://discord.com/developers/docs/interactions/message-components#select-menu-object-select-menu-structure - the type of channel_types is array of channel types, but I feel like this is less than desirable behavior.
Steps to Reproduce
Assuming DISCORD_TOKEN is set to a valid bot token in your shell:
curl -X POST -H "Authoriza...
Description
When you type a slash command quickly, especially after clicking on a different channel, discord does not recognise the slash command and doesn't enter the options as desired (Normally subsequent attempts in the same channel work). Furthermore, when you press enter and send the message, it sends it as a regular message, instead of submitting it as a slash command.
Steps to Reproduce
- Get a bot with a slash command and an argument (preferably a short one)
- Click on ...
Released to Canary and PTB clients today
Description
Docs state that emoji_id and emoji_name will not be both set. See: https://discord.com/developers/docs/resources/channel#forum-tag-object-forum-tag-structure
The gateway seems to send the tag with emoji_id: 0
Fetching the channel in Postman (GET https://discord.com/api/v10/channels/961365597344657458) from the REST API returns the forum tag correctly. (emoji_id: null)
Steps to Reproduce
Connect to the gateway and wait for GUILD_CREATES to be sent aft...
Twitch integration emojis are role locked (probably the reason role locking emojis is even possible at all). Just because they're useable in buttons doesn't mean they should be useable in messages, Buttons follow different rules.
yeah, buttons can use any emoji on discord, whether the application is in the server or not.
I've since realized that this is likely an issue with the discord client, not the API. However, I'm not sure where to move this issue.
I think this is likely a misreading of the docs
notif settings are zero'd out before being sent to other people
if you are able to access someone else's notification settings, please file an issue along with repro steps and we'll take care of it
I believe the team has addressed this now, so should work for all text channels now
Do we document limits like this anywhere else?
Do we document limits like this anywhere else?
At some places like embed fields.
It would be nice if we have more limits documented to catch errors lib side before even making the calls.
I think it'd be best to wait for the feature to be released and then we can ask the team to take a pass and fully document the feature with any extra context they wish to provide.
I reloaded guild 961365597344657458 so it should be fixed once you reconnect to it
Hey @Rydez, I was unable to reproduce this issue. We should be clearing the autocomplete cache every time the selected command is changed.
Closing until additional evidence/repro steps are provided!
The error seems to be saying its a validation error on the name field, could you double check that you're not changing the name field?
This is a bug many people have reported in ddevs and I reproduced, it shows when name is not changed (I think the dev portal sends the current name in the request tho)
Looks like it was recently fixed though, I can't reproduce it anymore
Yep, its already fixed
Integration roles such as those being introduced with the new passport feature do not effect the state of the users pending status, atm giving a user a role will change their state to non pending, it would be nice to be able to toggle this on any role.
[discord-api-docs] Discussion #5245 marked answered: Dm\-Permission support for Application Commands
Yep it is a good idea, I hope discord add this feature soon.
Hello There , how are y'all , hope you are all fine .
It will be nice if discord adds a feature to make application commands only appear in bot's dms and only work there .
Thank you all , Have a nice day
PSA : i can answer all suggested answers
@khp After attempting to creating a minimal repro, I realized that the bug is a bit more subtle than I thought. Here's the minimal code you'll need to reproduce it using discord.js:
import {
REST,
Routes,
Client,
GatewayIntentBits,
ApplicationCommandOptionType,
} from "discord.js";
export const TOKEN = "";
export const CLIENT_ID = "";
const commandOne = {
name: "one",
description: "One",
options: [
{
name: "thing",
description: "Thi...
Do we have an expected date for the date picker?
no, they never give release dates
Unfortunately I am still seeing the same behavior. I've also checked with Eris & its rawWS event.
<img width="683" alt="image" src="https://user-images.githubusercontent.com/43022364/199622218-698b8de0-bb7f-478d-b462-a29cfecb4688.png">
This has also been repeatedly reported with JDA. I've implemented a fix in the library to mitigate the issue.
I had posted about this issue a while ago, here is a repro, with JDA
The steps are as follow:
- Use the first option (class_name)
- Choose a class name
- Start typing in the second option (method_name)
- Go back to the first option (class_name)
- Choose another choice
- Go to the second option
- Delete the previous input
- Start typing again
- The choices are the same as if i had kept the old
class_name
Expected result: An input changed, so the autocomplete cache of other i...
I found the issue, will be looking to get a fix in soon. Thanks for all the info!
I don't get how this doesn't fall under API but apparently it doesn't
That's for Twitch integration roles which are clearly unrelated to bots. This discussion is about manually toggling for non-Twitch roles whether they should change pending.
As the title clearly states, it was for ALL integration roles, including those added via bots using features such as guilds.join, of course that was classically ignored when the issue was closed. Which based on "do not effect the state" in this discussion is clearly possible (unless that was a typo).
Anyways, this repo is for bots & API, and what I was clearly asking for there was a change in API behavior.
A fix has been pushed to canary, let me know if this fixes the issue or you see anything else off!
I still have the issue, on the web version of canary, version: canary 156215 (0dab0a5)
I still have the issue, on the web version of canary, version:
canary 156215 (0dab0a5)
I think what you're experiencing is different from the OP, which was that autocomplete options with the same names for different commands were returning the same values, which I hope is fixed. It seems like yours is more along the lines of https://github.com/discord/discord-api-docs/issues/4804https://github.com/discord/discord-api-docs/issues/4804 which is a bit different. Will have to look into tha...
@khp, just downloaded the canary version and it seems like the problem is fixed! Thanks so much 😄
There is an issue that needs to be addressed by Discord regarding per-resource rate limits.
TL:DR Optimal Implementations require a consistent specification; which currently is confirmed to be inconsistent due to unstated exceptions.
Context
The context of this entire thread can be found from the following issues.
After a long period of thought, I have found a working implementation that addresses the entire Discord Rate Limit specification. The remaining dialogue can be found in https://github.com/switchupcb/disgo/issues/22#issuecomment-1302731736. Regarding exceptions, discussion has continued: https://github.com/discord/discord-api-docs/discussions/5605.
[discord/discord-api-docs] New comment on discussion #5605: specify rate\-limit algorithm exceptions
This discussion may be relevant to the following users.
Context:
https://github.com/discord/discord-api-docs/issues/5144: @erkinalp @splatterxl @Bluenix2 @Zoddo @lordofpolls
https://github.com/discord/discord-api-docs/issues/5557: @TAG-Epic @supersajuuk @AlmostSuspense @mbialecka @IanMitchell @night
Rate Limit Editors (https://github.com/discord/discord-api-docs/pull/4694): @shaydewael @devsnek @advaith1
[discord/discord-api-docs] New comment on discussion #5605: specify rate\-limit algorithm exceptions
Alternatively, if exceptions will never be specified, feel free to state that.
We also verified that we were not using access tokens from different users.
Hello,
If in modify channel there is a param of flags, why can't I use it when I create a guild channel?
My debug request for default_thread_rate_limit_per_user:
16:19:28.981 [DefaultDispatcher-worker-14] DEBUG [R]:[KTOR]:[ExclusionRequestRateLimiter] - [REQUEST]:PATCH:/channels/{channel.id} params:[{chan...
I'm also waiting on this
[discord/discord-api-docs] New comment on discussion #5605: specify rate\-limit algorithm exceptions
I really have no idea why you pinged me for, i literally don’t care about this topic. I liked one comment from Night because i agreed with him about how you were being rude to the maintainers [who are all discord employees]. Mass mentioning random users for no reason is unnecessary.
Mentionable/channel types for the Select message component
is not checked here, is this todo list outdated or is there more to come?
🤔
[discord/discord-api-docs] New comment on discussion #5605: specify rate\-limit algorithm exceptions
There's a difference between being straightforward and rude.
I liked one comment from Night
— @SuperSajuuk
As you stated, you were involved in that issue — on an answer that provided information about rate limits — and I pinged accordingly. In a similar manner to other users, you could have simply closed the ping. Certain users are happy for being pinged. Others (such as @lordofpolls) are using these threads to implement rate limit consumers, and should NOT be burdened by futur...
[discord/discord-api-docs] New comment on discussion #5605: specify rate\-limit algorithm exceptions
Alternatively, if exceptions will never be specified, feel free to state that.
This is indeed the case. I would also ask that you do not mass ping people, and if someone requests you do not ping them to absolutely not reply with a ping. Please be respectful of their wishes.
I am going to lock this thread to prevent further pings.
Consider using a single redirect URL that will then redirect the user to the appropriate sub-domain.
This would make implementing something like reaction roles so much easier
[discord-api-docs] Branch hemu/add\-automod\-regex was force-pushed to `4086c7a`
I think it should be fine without the extra escape -- the backslash is there to escape the period. Unless you meant something else i'm not understanding
The JSON already uses the \ for string escapes like "\n" for newline, so you need another backslash for regex "\\." in json is equivalent to \. in normal text.
eaf26d3 Update docs/resources/Auto_Moderation.md - hemu
Going to merge this in. If ya'll notice I missed something or documented something incorrectly (like missing JSON escaping the backslash in the example -- ty Rapptz and MinnDevelopment for catching that 🙂) feel free to comment here after and ping me.
[discord-api-docs] Branch hemu/add\-automod\-regex was force-pushed to `4a09e29`
[discord-api-docs] Branch hemu/add\-automod\-regex was force-pushed to `4a9d744`
015d2af [Automod] Add support for regex matching (#5504) - hemu
This still has the not-released label?
This would make my emoji info command so much easier to do and it would also other uses.
Description
You can send a message with NULL nonce, or a random nonce.
https://youtu.be/NQ4-cepLcYE
https://youtu.be/BGcoF_Zl88I
(Used youtube because videos are to long)
Steps to Reproduce
1 - Start Charles Proxy
2 - Send a message.
3 - View the "message"
4 - Right click on it
5 - Click "Compose"
6 - Go to "JSON Text"
7 - Change the "nonce" to random or set null
Expected Behavior
Return a ERROR/CANCEL.
Current Behavior
The nonce is passed as ce...
I think this would be a somewhat nice feature for bot developers wanting to use buttons with only icons but don't wish to provide a value, for example to avoid making the action row messy and long.
Reading back on my original request, I think what I'm ideally asking for is a way for developers to define their own custom rate limits through the API. That's essentially what the "cooldown" acts as, and it could also be amazing if we could point a cooldown to an existing rate limit or sub rate limit, e.g. message reactions.
For things like buttons, developers might wish to purposefully make it slower to spam without having to use reactions, which I believe most agree are a more abusive...
Deferred interaction responses are already used by many bot developers to pause the final response of an interaction. Adding a flag to signify that it's still pending a final response of some sort can be very useful to avoid spamming an interaction through a slash command or component.
My proposal is that with a flag on the interaction, bots can search up any given interaction still ongoing through the invoker to see if it has finished or not, giving developers the power to stop their user...
Webhooks can currently create new forum threads with the thread_name field, however they're unable to configure any of the settings another user can. The following settings would be preferable for a webhook to be able to create and edit.
auto_archive_durationrate_limit_per_userapplied_tags
This seems to be a slight oversight in the current webhook workflow since a forum thread is a new citizen with its own settings, whereas a message is pretty thoroughly covered in the...
This is especially frustrating for Message Commands when trying to send an ephemeral reply. If the message you trigger the Message Command on is far enough back in the scroll history as described in this issue, the same problem occurs.
Has this been deployed yet? I'm still experiencing the issue
The nonce field is used for optimistic message sending in the Discord client. The fact you can set it to a random number or null does not pose as an exploit because it's only meant to verify whether a message was sent or not and doesn't have any other purpose beyond that. The Discord client likely re-uses snowflakes here for analytical purposes to easily identify when a message was sent whilst not having overlapping nonces from multiple messages sent at the same time (though multiple mess...
I propose that the "Sending command" chat message is hidden for content menu commands.
Imagine you have a user command that opens a modal. Someone adds a bot for the first time that happens to be yours! They use a user command and see "1 new message" right before the modal opens. They may close the modal to check on that wonderful new message in their small server, getting confused when nothing is there.
The "new message" was the "Sending command" that usually gets replaced by a messag...
Description
When pasting picture from clipboard picture attaches as two pictures
Steps to Reproduce
Copy picture from browser(i'm using mozilla firefox) and paste it into discord message window
Expected Behavior
Picture actually attaches only as one file
Current Behavior
Picture attaches as two pictures
Screenshots/Videos

Client and System...
This bug not related to API or bots
Client bugs should be reported to https://dis.gd/bugreport :)
Description
PATCHing a forum channel, setting available_tags to include a tag object with a custom (non-snowflake) ID returns HTTP 500.
Passing an existing snowflake is simply ignored, instead of HTTP 400.
Steps to Reproduce
Where TOKEN is your bot token and CHANNEL_ID is a forum channel:
curl -X PATCH -H "Authorization: Bot $TOKEN" -H "Content-Type: application/json" \
-d '{"applied_tags": [{"name": "A tag", "id": "0"}]}' \
https://discord.com/api/v10/channels/$...
As the title says, the new select menu types (roles, users, mentionables, channels) only allow a max_values of up to 25. This is counter-intuitive and defeats a lot of use cases (i.e. where the user is able to select an arbitrary amount of roles) and presumably an oversight from the string select menus.
So are a lot of people, just be patient.
Description
Sending a request with required options in a subcommand after non-required does not return 400 bad Request Required options must be placed before non-required options.
Steps to Reproduce
Where $APPLICATION_ID is your app's id, and $GUILD_ID is your test guild.
curl -X POST -H "Authorization: Bot $TOKEN" -H "Content-Type: application/json" \
-d '{
"type":1,
"name":"command",
"description":"description",
"guild_id":"$GUILD_ID",
...
Description
The token from my Discord bot does not work no matter what I try. I have seen a similar error before. My bot has not sent that many requests over hours to my knowledge. Discord support is not helping me either. I don't know exactly what to do now. And especially if it should work again sometime how I should prevent something like this in the future. Especially since the bot is on more than 2.6k servers. Bot id is: 977206243770908702
Steps to Reproduce
Above.
Expect...
4011 means you don’t have sharding set up, so you need to do that. it isn’t a ban. https://discord.com/developers/docs/topics/opcodes-and-status-codes#gateway-gateway-close-event-codes
This still has the not-released label?
removed, ty for catching that
the main issue here should be addressed at this point, going to close this out. Thanks for catching this and reporting the issue :) The followup changes should be out later this week -- we're finalizing a few of the semantics.
A change was put in to ensure the included member fields reflect the latest updated values rather than the old values. This should be live soon. Going to close this out, ty for reporting this :)
Hey there, I'm closing this since it isn't related to Discord API. Like mentioned above, you can submit this bug to https://dis.gd/bugreport
It's likely that they are just curious nothing more.
Are there any plans to improve the deployment experience of bots? Automating different apps and bots from a CI/CD tool is essential. For that, we need an API that can configure the interaction endpoint, get bot tokens and other sensitive info safely and finally add the bots to the server. Also, remove them from the server and destroy the app if necessary.
hmm, i don't think i've ever seen a large platform add in deployment-related APIs. honestly i don't really see it as something that's really discord's responsibility, considering every bot dev has their own deployment handling and even a "secure" method to retrieve a token can be abused
setting things like app details through the api, including the interaction url, would probably be nice. but outside of that i don't really see them adding much else
It'd be nice if we could add the bot programmatically. Getting into the URL manually is ok, but doing it with a script it'd be awesome.
@KevinNovak Can you provide a specific example of an application command JSON and ideally an interaction create payload if you can get it from your client? Im not able to reproduce this error
@yonilerner That was still a problem in Oct. 5 when I reboot my bot last time, but it has somehow been fixed now after I reboot my bot today.
Did you do anything to mitigate this? I have started encountering this same problem. I have not changed anything about my code so I have to assume something has changed with Discord API.
Will be merged on 11/16 with the release of new client updates, though apps can set the nsfw whenever
| guild_id? | snowflake | Guild ID of the command, if not global | all |
Let's make this upper too?
You mean stuff like autodeploy on git push etc?
Not exactly. Those workflows, pipelines, hooks, jobs, and whatnot can be built by the community. However, there's no way to do anything like that because Discord doesn't provide an API to create apps and associate a bot to a specific app in an individual account or even in a team. Additionally, to add a bot to a server you need to manually do it by inserting a link with the bot permissions in the browser; then, you select the server you want. All of that could be done programmatically, and we...
| default_permission? | boolean | Replaced by `default_member_permissions` and will be deprecated in the future. Indicates whether the command is enabled by default when the app is added to a guild. Defaults to `true` |
| nsfw? | ?boolean ...
| nsfw? | ?boolean | Indicates whether the command is [age-restricted](#DOCS_INTERACTIONS_APPLICATION_COMMANDS/agerestricted-commands) |
| nsfw? | ?boolean | Indicates whether the command is [age-restricted](#DOCS_INTERACTIONS_APPLICATION_COMMANDS/agerestricted-commands) |
| nsfw? | ?boolean | Indicates whether the command is [age-restricted](#DOCS_INTERACTIONS_APPLICATION_COMMANDS/agerestricted-commands) |
| nsfw? | ?boolean | Indicates whether the command is [age-restricted](#DOCS_INTERACTIONS_APPLICATION_COMMANDS/agerestricted-commands) |
[discord/discord-api-docs] Pull request opened: #5618 Update GameSDK docs due to feature deprecation
- Adds a changelog with text from the DDevs announcement
- Adds/updates danger boxes for deprecated features
- Updates feature lists and intro text to remove/mark deprecated features
check if this all renders correctly
This really needs to be updated, as mentionable selects have been added unless there are more.
#### Nov 9, 2022
> danger
> This entry includes breaking changes
To help keep us focused on the features, improvements, and gaming-related experiences that Discord users love, we are deprecating the following pieces of the GameSDK **starting today**, and decommissioning them on Tuesday, May 2, **2023**:
> The GameSDK's Achievements, Applications, Voice, Images, Lobbies, Networking, Storage, and Store (purchases and discounts) features have been deprecated, and will be decommissioned on **May 2, 2023**. [Read more](#DOCS_CHANGE_LOG/game-sdk-feature-deprecation)
> danger
> The GameSDK's Achievements, Applications, Voice, Images, Lobbies, Networking, Storage, and Store (purchases and discounts) features have been deprecated, and will be decommissioned on **May 2, 2023**. [Read more](#DOCS_CHANGE_LOG/game-sdk-feature-deprecation)
> The GameSDK's Achievements, Applications, Voice, Images, Lobbies, Networking, Storage, and Store (purchases and discounts) features have been deprecated, and will be decommissioned on **May 2, 2023**. [Read more](#DOCS_CHANGE_LOG/game-sdk-feature-deprecation)
> The GameSDK's Achievements, Applications, Voice, Images, Lobbies, Networking, Storage, and Store (purchases and discounts) features have been deprecated, and will be decommissioned on **May 2, 2023**. [Read more](#DOCS_CHANGE_LOG/game-sdk-feature-deprecation)
I haven't made sure it works yet, but wanted to do a pass on the copy first
@Jiralite yah will add a changelog day of or day before
Great! The rest looks good. Thanks again discord team ❤️
quick update:
- right now,
nsfwis only in response if it's set totrue. this is how it was documented - but before this goes live, it will always appear in the response (similar to other fields), and will just resolve to
false. I've updated the PR to be inline with the upcoming behavior, NOT the current behavior.
| 1 << 22 | ACTIVE_DEVELOPER | User is an [Active Developer](https://discord.com/developers/active-developer) |
this link requires login—could we point to help center article instead? https://support-dev.discord.com/hc/articles/10113997751447
The reasons why it works the way it does is for good reason right now.
We will be sending GUILD_CREATE to bots for the foreseeable future.
Is it because bot and C-S APIs are not completely separate from each other?
Oh sure, didn't notice
| 1 << 24 | ACTIVE | Indicates if an app is considered active. This means that it has had any global command executed in the past 30 days. |
name is ACTIVE not ACTIVE_APPLICATION
oh thanks, the message in ddevs made it look like it's active_application
i removed it from the pages that are for any game and aren't related to the store
Description
This is marked as a bug because this issue did not occur using the same working rate limit handler in prior actions: https://github.com/switchupcb/disgo/actions [ https://github.com/switchupcb/disgo/actions/runs/3384051926 (8D), https://github.com/switchupcb/disgo/actions/runs/2830072049 (3M) ]. This issue was resolved (temporarily ?) by only relying on the Reset-After header. Such that the X-Ratelimit-Reset rate limit header is or was incorrect OR the log displays the ...
Using reset-after is always preferred for this exact reason. Presumably when using reset you are assuming that your clock and discord's server clocks are at exactly the same time. In all likelihood, they are not. I've seen this issue pop up with ratelimit implementations before, its just not something people think about too much.
If you are using retry instead of retry-after you should add an offset to the time you actually try again equal to your current system date (at time of response...
Expected behaviour: [...] OR users are told which to header to use in the documentation.
A guideline is given in the rate limit docs: https://discord.com/developers/docs/topics/rate-limits#exceeding-a-rate-limit
Your application should rely on the
Retry-Afterheader orretry_afterfield to determine when to retry the request.
In general, one should not rely on the system clock for anything that needs to be accurate to the second let alone millisecond.
The absolute "reset a...
A guideline is given in the rate limit docs: https://discord.com/developers/docs/topics/rate-limits#exceeding-a-rate-limit
— @vivisrc
Sick thanks.
Found this, while researching and considering to make a request about it. Using discord.py and have hit this problem multiple times now.
Traceback (most recent call last):
File "/home/debian/.pyenv/versions/3.10.4/lib/python3.10/site-packages/discord/app_commands/commands.py", line 861, in _do_call
return await self._callback(self.binding, interaction, **params) # type: ignore
File "/home/debian/zerotwo/cogs/utility.py", line 102, in avatar
await ctx.send(f"{output_em...
Description
Discord,
I'm not sure why, but Discord is not embedding any links from my website (https://abstraktmusiclab.com). I've seen in another bug report here, that you were able to generate a response from Discord when it tries to access my website, and I'd really appreciate if I could see something like that so I can further debug what could be the issue that is causing this block.
Maybe it's a captcha block, maybe i...
Additional info:
https://socialsharepreview.com/?url=https://abstraktmusiclab.com
Facebook, Twitter, Linkedin don't seem to have a problem embedding
Hi, currently you are working on a system that allows you to manage the purchase of premium bot via discord, it would seem that it is not possible to have payments at once, yet this feature is relevant for bots like mine or translator that allow the purchase of google character for the servers of users, and in this case the purchase per month seems to be useful, is it planned to allow these features?
By the way, everything is ok on Cloudflare. I can see the request from Cloudflare being allowed to go through
Description
The newish rate limit on GET /prune endpoint is too strict to the point it makes the prune model in the client unusable
Its 1 per 15 minute shared, which means when you first enter the menu your requests for the next 15 minutes are exhausted, if you wish to use the role functionality or change from 7 days to 30, the request fails. This results in no prune counts being returned back to the client.
Steps to Reproduce
Try to select the 30 day prune option in the client, n...
3 Words:
Slash Command Aliases.
Would be nice, but i don't know if discord wants to do this
I would love if this was added though
I don't think "AutoMod" should be used here. See https://github.com/discord/discord-api-docs/pull/4860#discussion_r876503657 - the other Auto Moderation change log respects that comment.
Bumps minimatch from 3.0.4 to 3.1.2.
Commits
699c459 3.1.2
2f2b5ff fix: trim pattern
25d7c0d 3.1.1
55dda29 fix: treat nocase:true as always having magic
5e1fb8d 3.1.0
f8145c5 Add 'allowWindowsEscape' option
570e8b1 add publishConfig for v3 publishes
5b7cd33 3.0.6
20b4b56 [fix] revert all breaking syntax changes
2ff0388 document, expose, and test 'partial:true' option
Additional commits viewable in compare view
[ is returned in the Gateway application object but not in any HTTP endpoints that return app flags.
Steps to Reproduce
You can go to /applications/819778342818414632/rpc.
Alternatively you can GET /oauth2/applications/@me or another endpoint that returns app flags (e.g. /applications/:id/rpc or /applications/:id/public).
Expected Behavior
The flags value is ...
This would make it so convenient if buttons could trigger a slash command
Description
When mentioning a slash command with the `` syntax documented here, the slash command is not shown in the users language, even when the names have been localized.
Steps to Reproduce
- Create an application command that has been localized to multiple languages. For example, "/setup" (as the default name) and "/configuración" (as a localized Spanish name).
Scenario A: User language is not the same...
This seems to be a duplicate of #5518
Why was this very useful section removed?

You can only get this full info from third party sites now
(Someone in the serenity support server asked about subcommand limits and I remembered the above section but couldn't find it in the docs, so I searched around for like 20min to find that this PR yeeted the section)
using the create dm channel endpoint will return the existing channel if one already exists, this pr documents/makes that clearer
Description
When you go to a specific malformed OAuth2 URL, the worker throws an exception.
Steps to Reproduce
- Go to https://discord.com/oauth2/authorize?client_id=&response_type=code&scope=guilds%guilds.members.read with the separator for the scopes being
%. - Notice that the worker throws an exception.
Expected Behavior
The error should be caught and the user should be notifie...
Description
Attempting to click on a slash command mention (with the syntax) on Desktop this triggers a slash command to be started. On mobile clicking the mention does not do anything.
Steps to Reproduce
- Mention a slash command with the syntax.
- On a mobile device, click on the slash command mention.
Expected Behavior
I would expect this to start typing a slash command like on Desktop.
Current Behavior
Nothing happens.
Screenshots/Videos
No response
##...
We have no current plans to offer custom colors for buttons. This ensures a consistent design experience for users across our apps.
Now that custom profile colors exist, I don't think it would be a bad idea to allow custom colors for the buttons interactions as is the case with embeds
This will help the average user understand exactly what it does much easier, it will also help us (the developers) make our own style for our bots
Description
Creating a new message with a GCP uploaded file sends the uploaded file ID in an attachment object in the request body under the field uploaded_filename, but sending an invalid URL value returns a 500: Internal Server Error response.
Steps to Reproduce
curl --location --request POST 'https://discord.com/api/v9/channels//messages' \
--header 'Authorization: Bot ' \
--header 'Content-Type: application/json' \
--data-raw '{
"content": "",
"attachmen...
This is reproducible for any discord.com URL. https://discord.com/%
Adds documentation for the GCP upload feature recently added to the client and bots can use. This is very much not finished and I would appreciate any feedback or corrections!
This is a client-only API that we don't want to offer any external stability guarantees on currently, given it is very closely coupled to GCS, which is an internal implementation detail as far as bots are concerned.
First off, thank you so much for adding slash commands! My discord bot is so much easier to use now that these have been implemented!
My only problem is DMing the bot from a server.

My bot, StoryBot, uses slash commands both in a server and in DMs; however, if someone types a slash command while DMing the bot directly from the server li...
Description
A forum post posted by a webhook does not support the username parameter.
Steps to Reproduce
$ curl $WEBHOOK_URL -d '{ "username": "very cool bot", "content": "a post", "thread_name": "hello world" }' -H "Content-Type: application/json"
Unrelated to the original issue, but you can execute webhooks without -X "POST". Should be fixed too.
Expected Behavior
The username should display.
Current Behavior
The username is ignored.
Screenshot...
Unrelated to the original issue, but you can execute webhooks without
-X "POST". Should be fixed too.
curl automatically set the method to POST when using -d
Works for me with
curl https://canary.discord.com/api/webhooks/... -H "Content-Type: application/json" --data '{"thread_name": "test", "content": "test", "username": "Blue"}'
Premium app is still in alpha and one time payment is in our roadmap :>
Allowing archive permission is enough
Premium app is still in alpha and one time payment is in our roadmap :>
This is a good idea, but it presents some interesting technical challenges on our end. So, not saying no to this but I can't give any promises or ETAs.
Description
when i paste the link to the API endpoint url it wont work
Steps to Reproduce
give me the active developer badge if we cant figure this out
Expected Behavior
helping me
Current Behavior
nothing yet
Screenshots/Videos
No response
Client and System Information
meta browser
This is a good idea, but it presents some interesting technical challenges on our end. So, not saying no to this but I can't give any promises or ETAs.
This issue report isn't very descriptive and is very vague.
Removes "Timeout Members" from the note under the permissions table

Also clarifies what is meant by "owner account", in the permissions topic page. I've left the
"Manage Permissions" refers to MANAGE_ROLES
part alone too since although it's not referred to as "Manage Permissions" in the role edit menu, it's referred to "Manage Permissions" in channel permissions (and so is ...
"timeout members" is still used inside role settings and on the mobile client, and i think it doesn't hurt to keep it there due to the difference between the permission name and the feature itself being named timeouts
Hi, thanks for the report. This does appear to be a duplicate of those issues, so I'll be closing this one in favor of those
Hi, as mentioned null and randomized value nonces are valid. If you do find a security vulnerability, please submit them to our program as mentioned above.
Hi, I have the same issue as you, but I'm using firebase dynamic links and their preview (open-graph part) works on every platform but discord. I'm also suspecting that our servers (or something) are blocking discord from fetching the open-graph part, how can I check if it's being blocked? we use amazon services but I'm not really familiar with them.
I wrote a detailed question here on SO but got no help :<> <https://stackoverflow.com/questions/74374827/firebase-dynamic-link-open-graph-not...
It seems like it's a server thing. I reached out to their support to test it.
Please let me know if you find a solution
I think this was a great idea for developers
Examples;
Locking channel by right clicking.....

Any updates on this? Do we have a roadmap for when this could be implemented?
Description
Headers indicating rate limits in responses are only valid when you are ratelimited.
headers when not rate limited:
x-ratelimit-bucket: d1240eeffb4c549bd62b579ece0ffd01
x-ratelimit-limit: 50000
x-ratelimit-remaining: 48773
x-ratelimit-reset: 1668720787.644
x-ratelimit-reset-after: 102737.719
headers when rate limited:
x-ratelimit-bucket: 1d3c67957bcdccc6709861c232df8529
x-ratelimit-limit: 5
x-ratelimit-remaining: 0
x-ratelimit-reset: 1668618055.755
...
We are also running into this, but I think with slightly different symptoms:
Starting about 20 hours ago, our bot started reporting issues with rate limits. After drilling into the rate limit headers, it looks like there is some new rate limit of 50,000 that is getting reported for a rate limit for all interactions made in any channel. The rate limit seems to have a 72 hour reset time.
There is also a similar rate limit for DM'd interactions with a bot, though it seems to be a diffe...
There is an ongoing effort to migrate RLs from bucket style to leaky bucket style. However nothing in the last 24H has been enabled besides gateway session starts. There was a refactor to the RL parameters though, which I think surfaced this issue.
In regards to the OP. The RL buckets are different, which leads me to believe that you are hitting a different RL.
The first RL d1240eeffb4c549bd62b579ece0ffd01 is an internal RL for stopping indexing on a channel with bot spam; which should...
Recently I came across a weird issue with where my bot was saying it was missing the Manage Roles permission even though it had it on the role. After some digging it turned out that the channel where the interaction was used in had denied the Manage Permissions. This caused the app_permissions field to exclude the Manage Roles permission. Because they use the same value.
I will have to calculate the permission myself with the roles that the bot has to avoid this, resulting in an un...
I think what you really want here is a separate field for role permissions in addition to the app_permissions field. A lot of permissions can be denied at channel level by overwrites, which is by design and important for permission management (see muted roles).
I think what you really want here is a separate field for role permissions in addition to the app_permissions field. A lot of permissions can be denied at channel level by overwrites, which is by design and important for permission management (see muted roles).
Yes that would solve this issue as well. But I still think that the Manage Roles and Manage Permissions permissions are too different for them to have the same value. Because right now the app_permissions field is telling me...
Any updates on this? Do we have a roadmap for when this could be implemented?
Ian said that now that the new select menus are implemented, modals will probably come next.
Description
When trying to update my bot's message to introduce an embed, I noticed that it is unable to show it. Attempted with raw HTTP request as well and it fails to update it, content works fine of course.
Steps to Reproduce
curl --request PATCH \
--url https://discord.com/api/v10/channels/:CHANNEL_ID/messages/:MESSAGE_ID \
--header 'Authorization: Bot TOKEN' \
--header 'Content-Type: application/json' \
--data '{"content": "memes2", "embeds": [{"title": "hell...
[discord/discord-api-docs] New comment on discussion #3210: API Feature Request: Track invite used\.
for what it's worth you can generate your own invite codes and require these to be entered in a special channel before your bot gives them access to the rest of the guild, but not sure if this is against the Discord ToS 🤷
Same issue appears when doing POST to create a message as well

Do you have the embed setting disabled on the client?
Do you have the embed setting disabled on the client?
Nope, tested it with a different bot to be sure as well, and somehow there it worked with the same exact testing code I used 🙃

If it helps somehow:
Working Bot ID: 267941509272174592
Bot that can't send embeds: 383595618855157760
Yesterday it also worked just fine, it's just today it suddenly wanted to stop working ...
Welp.. that was indeed the issue, hidden in the channel overwrite permissions. Sorry for wasting time, closing the issue..
Fixes a typo in the new "Upcoming Application Command Permission Changes" changelog added today.
Description
Currently, it is possible to edit a non-ephemeral interaction response through the Edit Message endpoint (i.e. PATCH channels/{channel.id}/messages/{message.id}). This can be done for the original interaction response by using Get Original Interaction Response (i.e. GET /webhooks/{application.id}/{interaction.token}/messages/@original) to get a message object for the response that includes the channel and message ID.
Get Original Interaction Response also curre...
It would be nice to have slash commands splitted into categories in slash command list!
Like this:
I have 5 commands:
- Kick
- Ban
- Scream
- Info
- Ping
Instead of seeing the slash commands within 5 command, it would be nicer to see this in the slash list:
MODERATION
/kick
...
/ban
...
FUN
/scream
...
GENERAL
/info
...
/ping
...
I was very surprised when I didn't see this field in the Interaction object. I think this field will be very useful in many cases.
This is a minor quality-of-life feature request.
The Get Current Bot Application Information request returns an Application Object. While this does contain some flags that could hint at a bot's verification status, there doesn't appear to be a explicit boolean or flag for whether or not a bot is verified.
This inform...
It indeed would be awesome, but they'd likely lock it behind a paywall - new Bot Nitro anyone? Only $5 a month!
they want the bot api to return the profile themes of users, not a way for bots to set their own
I've noticed there's no mutual servers section in the app directory so I think there should be a mutual servers section in app directory to check the mutual servers with the bot, it would be pretty useful IMO.

same problem bot can't post emojis even if he has administration
but if the everyone role have external emojis it works just fine !
Any update? I encountered this issue today and I'm wondering when it will be fixed.
It would be nice if the select menu choice and autocomplete choice limit could be increased from 25 to 35.
With 25 you can for example not allow all days of a month for selection and you cannot provide all characters of the alphabet if the initial auto-complete choices have all of them.
Description
Overview
This issue does not allow the invoker of an application command to upload an attachment to an option that has type 11 (attachment type) if the invoker is missing the upload files permission in the guild channel they're trying to invoke in.
- If the invoker is missing this permission and tries to invoke the command, the option's popup stating, "Drag and drop or click to upload file", does not show on a Desktop client.
- If the invoker is missing the permis...
Currently, users are not made aware if an application they have given OAuth2 consent to has joined them to a guild. They simply join the guild silently and the guild is added to their list. Additionally, they immediately count as a member of the guild.
This has led to malicious OAuth2 applications using the guilds.join scope to join users to guilds without their consent or request. It has been stated by Discord previously that the guilds.join scope should only be used alongside consent...
I like this idea. But imo the "I did not ask to join this server" shouldn't be the same size as the others, as it may result in misclicks.
Description
Up until a few hours ago I was able to move channels just fine, no permissions were changed for my bot, and now I can't move any channels without the Admin permission. My bot has Manage Channels and Manage Permissions on the guild and no override denies that on any channel. I believe this was caused by a recent API change, which is why I'm making the report
Steps to Reproduce
- Make sure your bot has Manage Channels and Manage Permissions but not Administrator (my bot ...
It seems like it's a server thing. I reached out to their support to test it. Please let me know if you find a solution
I contacted Firebase support and after a round of emails back and forth, and them testing and re-producing the behavior I'm experiencing they said its out of their control and that I should contact Discord support, which is what I will do I guess.
Description
I have Firebase dynamic links set up in my react-native app on both IOS and Android, and they work perfectly except for the open-graph part which works on all social platforms but not on Discord. I want it to work on Discord too.
From what I understood from Firebase links docs, the open-graph part is controlled by the social property, so I have specified it like this:
social:
{ title: `Post by Yuniac`,
descriptionText: 'Jesse Faden, the bureau director',...
Description
Yeah it’s causing me not to see messages in any server like everything is just loading
Steps to Reproduce
Like can you please fix this issue
Expected Behavior
Idk stp
Current Behavior
The chats and server loading
Screenshots/Videos


Client and System Information
Stable 159692 (79ae406)
Host 1.0.9007
Windows 10 64-Bit (10.0....
Make sure you have use slash commands enabled in user settings
Make sure you have use slash commands enabled in user settings
I've been looking for a setting as such, can you maybe guide me find the toggle button please?
Under "Text & Images" turn on "Preview emojis, mentions and markdown syntax as you type"
Under "Text & Images" turn on "Preview emojis, mentions and markdown syntax as you type"
Under "Text & Images" turn on "Preview emojis, mentions and markdown syntax as you type"
I did not want to close this but anyways, it's still not working:


What about the server settings, are users allowed to use slash commands
What about the server settings, are users allowed to use slash commands
This is happening for all the servers, even in those where I'm admin.
The custom id represents the modal as a whole, so referring to it as a "component" feels a bit confusing
It looks like you have "Use the legacy chat input" enabled (under Accessibility settings). For the moment, application slash commands are not supported in that chat input.
Description
Search results which relate to a guild event link to their an invalid anchor on the gateway topic. The anchor itself is valid on the gateway events topic; I believe this is an oversight when gateway events were separated from the main gateway topic.
Steps to Reproduce
Search for any gateway event (CTRL + K) and observe that the link points to `https://disc...
I've been working around this for now by accepting the time-format tags as a valid input. I.e. parsing out the Unix timestamp from <t:XXXX:?>. People are starting to get familiar enough with these to embed into messages directly that it seemed like the best choice.
Description
that bug makes me unable to open discord as my account has been blocked
Steps to Reproduce
I reacted to a message on my computer. When I went on my phone, I found that the message was not reacted, so I re-reacted using my phone. When I went back to my computer, the message has been somehow reacted twice by me, only visible on computer. I un-reacted, and re-reacted a few times(not fast) to try to fix the issue. Then discord started to automatically react-unreact at an as...
Description
As the title says...
In my tests, I came to the conclusion that the problem is in the filter used in the API.
One of:
- The API ignore the locale of the client requestin othe filter;
- The API does not filter by the translated version of the comands;
Steps to Reproduce
Create a command with translations;
Change the client language to one of the translations;
Try searching for the translated name;
Expected Behavior
Find the command matching the tranla...
This is not an API issue, this repository is not the place
https://dis.gd/bugreport
Description
👋 hello. I'm having troubles with gloabal slash commads. 5 days passed and the commands are not visible in any of the servers. But they appear in new servers.
Example:
The bot is in 3 servers. I added a command hi . It's not appearing in any of the 3 servers (even after reinviting the bot) .
Then the bot joins a 4th server and the command hi is visible only on that server. Than 1 register another command named test. Then it won't appear in any of the 4 servers.
...
Sorry for bumping this discussion, however this was a feature that was mentioned inside a Discord blog post when the message content intent became enforced.
"If an app has commands that are specific to certain areas of Discord, they can live directly in that context menu for easier access. For example, a command that does something particular for a channel could be added directly to the channel context menu."
https://discord.com/blog/welcome-to-the-new-era-of-discord-apps
Description
Messages in servers and DMs wouldn’t load, so I signed out and now it won’t let me sign in saying I’m being blocked from accessing API temporarily
Steps to Reproduce
.
Expected Behavior
Idk
Current Behavior
Still won’t let me sign in
Screenshots/Videos

Client and System Information
Discord app on IPhone
this repo is for bot api issues, for general help go to https://dis.gd/contact or simply wait for the ratelimit to expire
While a lot of new selects were adding, we are still lacking in guild selects. Guild selects could be useful for DM-based commands, an example use case would be ModMail, where you would select which server you want to send the message to via a Guild Select menu.
Description
It would be a very good feature if the application could answer MODAL_SUBMIT events after validating the inputs internally.
Why?
As a modal receives information from an user, it's very common that the user gives wrong and/or unexpected information.
Since the modal only closes when the application responds to the submit event, an event like MODAL_FIELD_ERROR (or any) could be sent with:
- a descriptive error given by the application saying what's going wrong,...
Isn't that a select menu with extra steps?
So are all the other auto-populating selects if you put it that way, but thats not the point.
Haven't seen them. Gotta take a look. What I meant is that a select menu would fit perfect for what he asks (in my opinion)
A guild select would allow for more than 25 shared servers without pagination, and potentially have the guild icon be shown. It would be a lot nicer than what we have right now
That's right! I forgot select menus only accept emojis as icons.
Having Guild Select Menu would be a great addition. Also implementing an icon_url field in a Select Menu Option would be great too.
Global slash commands are registering successfully for others. Please provide a full repro with example payloads and we can investigate further.
Can we get more information about the maximum length for the key, name and description fields?
It should have the expected behavior, however this is not enough information to debug the situation. Slash commands on mobile seems to be working for others. Please provide a full repro with example payloads and we can investigate further.
Shouldn't this be marked as optional?
I would guess a 204 code.
Hi @monicahung, I did some further testing.
It appears the issue only happens when a command mention is BOTH inside of an embed AND on mobile.
Clicking on a command mention that is outside of an embed, just normal text, on mobile works.
Clicking on a command mention that is inside an embed on desktop also works.
Let me know if I can provide any more information.
is there a reason application role connection metadata isn't just in the Application page?
Is there any way to describe that a bit more easier?
It could be confusing for new devs.
I imagine it will make a lot more sense when the feature is shipped
the maximum allowlist word count for KEYWORD will be 100. Maybe we can just say Maximum of 100 or 1000 here? and clarify in the existing footnote below?
oh its a shared footnote with keyword_filter field. hmm maybe create a new dedicated footnote for the allow_list field. Something like this:
An allow_list string can be a phrase which contains multiple words. Wildcard symbols can be used to customize how each string will be matched. Rules with `KEYWORD` [trigger_type](#DOCS_RESOURCES_AUTO_MODERATION/auto-moderation-rule-object-trigger-types) accept a maximum of 100 strings. Rules with `KEYWORD_PRESET` [trigger_type](#DOCS_RESOURCE...
don't want to create too much work for you though, I was about to put up a change that included this + something else and searched for existing PR's and found yours. How about I just finish making all the additional changes on my PR and we close this one out to make it easier?
I did a rough mock-up of how this might look:

And how it might look in the code, using a new "Command" button style":
{
type: 2, // "Button" Component Type
style: 6, // "Command" Button Style (requires fields 'command_id' and 'command_name'),
label: 'Add to List',
command_id: '472091337469007488',
command_name: 'list add',
}
Reposting this from #5190, I did a mock up of what this might look like:

And how it might look in the code, using a new "Command" button style":
{
type: 2, // "Button" Component Type
style: 6, // "Command" Button Style (requires fields 'command_id' and 'command_name'),
label: 'Add to List',
command_id: '472091337469007488',
command_name: 'list add',
}
1.) Add support for allow_list field for KEYWORD trigger type
2.) Bump max regex keyword length from 75 -> 260
fc8abfb [automod] Add allow_list for keyword rule and b... - hemu
[discord-api-docs] Branch hemu/am\-regex\-limits\-and\-allowlist was force-pushed to `fa2f067`
@shaydewael is this change big enough to warrant a Change Log entry?
summarizing the info in the above footnotes in table format here for easier reference.
is there a reason application role connection metadata isn't just in the Application page?
this could be added as a future change. for now it's an API endpoint we're making available.
There are atleast two systems for a selection menu that I know of:
- typing "@" shows a list of roles/users to mention
- typing "#" shows a list of channels to mention
I'm looking for a way to add a custom menu like this where I could search through a pre-populated list, and once selected can replace the input with a link.
An example:
My custom selection menu is populated with "foo", "bar", "baz". It is activated by the "!" character. If I type the activating character (even mid-se...
https://github.com/discord/discord-api-docs/discussions/5554 would address this need and also provide major QoL for people using other selects as well. Things like guild emoji / stickers as selectable entities would also be nice.
I mean the docs can be in Application.md instead of a new Application Role Connection Metadata page
Hello @KevinNovak, our team has been able to reproduce something similar to this on Android with the new information you've given us. I'll sync this to our internal tracker and we'll do further investigation, thank you for bringing this to our attention.
4161802 [automod] Add allow_list for keyword rule and b... - hemu
03fb07b [automod] Update change log - hemu
wasn't a major change but still going to update change log b/c I think we should log all API changes 🙂
[discord-api-docs] Branch hemu/am\-update\-changelog was force-pushed to `b1af1f9`
Bump max keyword rule per guild limit from 3 to 5.
4a1b71c [automod] Increase max keyword rule per guild l... - hemu
- Increase maximum length for each regex pattern in the `regex_patterns` [trigger_metadata](#DOCS_RESOURCES_AUTO_MODERATION/auto-moderation-rule-object-trigger-metadata) field from 75 to 260.
same here
- Automod rules with [trigger_type](#DOCS_RESOURCES_AUTO_MODERATION/auto-moderation-rule-object-trigger-types) `KEYWORD` now support an `allow_list` field in its [trigger_metadata](#DOCS_RESOURCES_AUTO_MODERATION/auto-moderation-rule-object-trigger-metadata). Any message content that matches an `allow_list` keyword will be ignored by the Automod `KEYWORD` rule. Each `allow_list` keyword can be a multi-word phrase and can contain [wildcard symbols](#DOCS_RESOURCES_AUTO_MODERATIO...
82cf813 Apply suggestions from code review
- hemu
What happened to https://github.com/discord/discord-api-docs/pull/4860#discussion_r876503657?
I think to reduce confusion would be good to stick to the full version in these docs
There's mixed version now.
My suggestion is to add a few more types to the modal action row:
SwitchInputRadioSwitchInputAttachmentInput- Any select menu type
Previews
SwitchInput
RadioSwitchInput
AttachmentInput
Any select menu
Why do we need this?
This will help users manage our bot easier, instead of running 10 commands, they can do it directly from one modal, super easy!
Description
If you send a message with an attachment image.png, and an embed with an attachment://image.png image URL, and then PATCH/edit anything in that message (or at least anything in the embed), the attachment will now display outside of the embed as well. This makes editing embeds/message with attachments that are used in this manner very...bad for user experience.
Steps to Reproduce
- Upload a message with an image, and then embed that image via the
attachment://p...
My bot is also experiencing this issue.
that's kinda a dupe of #4899 and afaik they already have more components planned
Description
I had opened Discord this morning, gave it 45mins to load and it didn't so I tried leaving to app and reentering hoping that would fix it and it did not.
I then deleted the app and went to log back in hoping it would fix something since all my other apps loaded perfectly fine.
It only took a couple seconds to finish downloading and when I went into the app and typed in my information it told me there was a API issue and to make a complaint here.
I'd given it an hour before...
Their server does not return opengraph data to our crawler:
<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><style data-styled="" data-styled-version="5.3.5"></style><meta charSet="utf-8"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="preload" href="/_next/static/css/df111af9770e3a01.css" as="style"/><link rel="stylesheet" href="/_next/static/css/df111af9770e3a01.css" data-n-g="...
This issue tracker is for reporting bugs with our developer API. For app issues, please contact support at https://dis.gd/contact
No changes have been made to the channel re-parenting permissions. To update the parent of a channel you must have manage channels permission for that channel as well as the new context you are moving it to (the guild or the new category).
By the way, everything is ok on Cloudflare. I can see the request from Cloudflare being allowed to go through
We are being blocked from accessing this website:
<div style='height: 98vh;'>
<div style='text-align: center; padding: 10% 0; font-family: Arial, Helvetica, sans-serif;'>
<div><p>Bot Protection Firewall</p></div>
<p>Blocked because of Malicious Activities</p>
<p>Reference ID: 871155821637e534716e49</p>
</div>
</div>
Description
Problem on the voichat server thing.
Steps to Reproduce
First off go on discord go on a server and tell your friend to join general vc
after that server mute them or server deafen them
after you try to unmute or deafen your discord pretty much crashes and you have to wait 10 seconds for it to work
Expected Behavior
It should work normally with no delay or anything
Current Behavior
Laggy and the site crashes alot
Screenshots/Videos
No response
###...
What happened to #4860 (comment)?
I think to reduce confusion would be good to stick to the full version in these docs
There's mixed version now.
Do you mean the use of Automod in the Change Log instead of using Auto Moderation ?
Use Auto Moderation terminology instead of AutoMod consistently
in change log.
3281019 [automod] Consistently use auto moderation term... - hemu
Ex: A music bot registering a "DJ" permission that can be added to a role the same way you'd add something like "use external emojis" to a roles perm set.
It'd be useful for fine tuning bot permissions without having to delve into a maze of menus.
I also seem to experience this issue with my bot. Ephemeral interaction replies don't show emojis that the bot does not have access to, but does show custom emojis in the current server. Using a select menu with using the emoji option does show all custom emojis regardless if the bot has access to it or not.
It's quite confusing on how interaction replies and follow-ups don't show this and yet, select menu components do. These are both interactions so shouldn't this be following the same ...
I also seem to experience this issue with my bot. Ephemeral interaction replies don't show emojis that the bot does not have access to, but does show custom emojis in the current server. Using a select menu with using the emoji option does show all custom emojis regardless if the bot has access to it or not.
It's quite confusing on how interaction replies and follow-ups don't show this and yet, select menu components do. These are both interactions so shouldn't this be following the ...
Here are also two examples of how weird this is:

The one above is without @everyone having the rights to use external emoji

This one when @everyone has the right to use external emoji
The most weird t...
+1 Useful for selecting a specific set of roles e.g. colour roles
As to allow for said spambot to be banned from the server, without having to fish for the server admins.
Did you consider the privacy concerns with simply forwarding any reported DM to all servers?
The option to do so would probably eliminate that
Doesn't Discord already has a account flag for that? If an account has a SPAMMER flag, it's up to the server admin to do what they want with that account which has it.
Instead of using buttons, you can mention the command in something, such as an embed, and it will work. I know this isn't the point of the discussion, but if someone is looking for an alternative right now, its available.
The sender may not be a spammer either and the user simply reported it.
@lsdimagine any updateson this, seems like it evolved!!? :(
I have a case when the Android client send the name on the value field!!!
I have a commando with 2 autocomplete strings () autocomplete , one for the user select a chanel name (need to be autocomplete cause only pre configured channel can be selected).
The auto complete paylod i send for the 'channel' option:
[
{
"name": "#canal-negado [Canais de Texto]",
"value": "895338113713459290"
},
{
...
Lotties are listed in "supported image extensions", but are not allowed in embeds.
Description
{"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."}
Steps to Reproduce
{"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 issue tracker is for reporting bugs with our developer API. For app issues, please contact support at https://dis.gd/contact
I'm not sure that's how you're supposed to use the template. The error explains itself pretty well along with a link to elaborate.
Yeah I can't reproduce this anymore even though I didn't change anything, it was only happening throughout that weekend when I reported it
This issue is also happening for me
This was already raised and rejected for avatars here: https://github.com/discord/discord-api-docs/issues/4031#issuecomment-963456127
Thanks, didn't manage to find that issue, my bad.
Make it possible so you can remove all reactions with a certain name from a certain user
Doesn't Discord already has a account flag for that? If an account has a SPAMMER flag, it's up to the server admin to do what they want with that account which has it.
The flag isn't documented though.
Just a small QoL change, if a user needs support with the bot they could simply click the button on the bot's profile to join the support server. The support server would be the one defined as the bot's support server in App Directory.
The SPAMMER flag should only be applied on already disabled accounts as said by a Discord engineer (if an active account has this flag, it's likely a reinstated account on which TnS forgot to remove the flag). So you are not supposed to do anything to accounts with this flag.
that's a good idea but it doesn't have to be tied to app directory imo, the ui to select a support server could be moved to the more general pages
It will be a really very good feature to have as then we will be able to stop people from spamming the buttons.
Description
Anyone in a discord server with the access to the /TTS command can cause users to hear whatever they spam in there whether they are in that channel, or even that discord! The issue is even more apparent when you spam / and keep hitting TTS, over and over again. Discord doesn't even have a cooldown for it. You can have the message go seemingly forever. From the results I got, 5 min of "keep assist slash"
Steps to Reproduce
Spam /tts then / over and over again, and it wil...
Non-API related feature requests go here. The /tts "command" is a fake command rendered by the client and is not related to the API. Additionally, what you are reporting is a feature request, not a bug.
This change happened on July 11; should be marked as answered
This was released on October 13; should be marked as answered
This was released on October 13; should be marked as answered
This change happened on July 11; should be marked as answered
In my opinion, it would be pretty useful, if there would be a new, decent Permissions Update.
This would include Permission Groups in the Integration Settings with custom labels, decided by the app developers, which can be applied on select menus or button or any other interaction type.
This would remove the need of hard coding certain Button Access by any Permission and server administrators would have the possibility to give certain roles access to interactable objects instead of givi...
If anyone has any question about my Feature Request / Idea, let me know and I'll try to answer.
The text to speech feature is basically useless and used by no one (except to annoy others). Most server owners turn that permission off to stop trolls. Why should TTS stay then?
Have you considered that sight-impaired or blind people may desire to use Discord and enjoy the convenience of a built-in way to have a message read to them that they otherwise couldn't read? Yes, screen readers exist for the sight impaired, but some apps do have their own built-in solutions for accessibility solutions.
Closing this as it's not an API issue. You can submit product feedback at https://feedback.discord.com/.
Closing this as it's not an API issue. You can submit product feedback at https://feedback.discord.com/.
Description
A User object returned by the Discord API returns an undocumented field named avatar_decoration.
Steps to Reproduce
Invoke an endpoint that returns a User object
Expected Behavior
The Discord API returns only fields documented at https://discord.com/developers/docs/resources/user#user-object-user-structure.
Current Behavior
The Discord API returns the fields documented at https://discord.com/developers/docs/resources/user#user-object-user-structure and...
the existence of undocumented fields is not a bug, they're just related to unreleased features. the rule of thumb is if it's not documented, ignore it
Do you mean a slash command of another bot? If not, how would this be different from just a regular button interaction?
@jocafamaka looking at this now - is this still happening to you? if so, a few questions:
- is it specific to particular guilds, or does it happen across every single guild?
- is the
settingscommand a global or guild command?
Description
Options do not populate in dropdown menus when the command is selected.
You now have to type something into the input field of slash commands before options begin to populate the menu. This can't be intentional and it is a really bad user experience.
Bots in my production environment have become affected by this (which I haven't pushed updates to in several days)
Steps to Reproduce
- Create a slash command
- Give it a few options
- Search for the command and ...
Do you mean a slash command of another bot? If not, how would this be different from just a regular button interaction?
I meant for a button to be able to invoke another slash command in the same bot, without using slash command mentions, nor implementing regular button interactions that invoke other slash commands in the code yourself.
It's not happening anymore.
As we talked about on Discord, the problem lasted for a few hours.
It only affected one guild. (In any client)
Global commands. (Affected every command)
@infinitestory It's not happening anymore.
As we talked about on Discord, the problem lasted for a few hours.
It only affected one guild. (In any client)
Global commands. (Affected every command)
I don't see what the problem is with just making a button do the same thing as a command in your code. I've put the relevant code in a function, and call that function upon a slash command interaction or a button interaction.
I don't see what the problem is with just making a button do the same thing as a command in your code. I've put the relevant code in a function, and call that function upon a slash command interaction or a button interaction.
I know you can do that, but if Discord implemented this into their own type of button component, it would be nice.
If a slash commands requires more arguments then a button click can't just run the command. Making the button start the slash command would help to keep the user experience consistent. Otherwise you would need to code a way to collect args from the user after a button click. Which means you now need to code for 2 different ways to collect args from the user: via slash command and via button. Not impossible but making buttons start slash commands simplifies this.
I just ran into this issue today in the mac desktop client. The user was compromised and a bot had posted 1 message in every public channel at 9:04a. I issued a ban at 9:42a (same day, only ~38 minutes had passed), and picked the option to delete messages up to an hour old.
The option seemed to delete the one message in the channel I banned the user in, but all other channels and messages were left alone... I tried to re-ban the user and increase the time limit to 24 hours, but to no avail...
I would opt for user experience over ease of development. And clicking a button and then filling out fields in a modal dialog is much better UX than slash commands, to me. So I'd rather they invest more time into having all slash command option types available as components in modals, making collecting the user input that way more feasible.
I just ran into this issue today in the mac desktop client. The user was compromised and a bot had posted 1 message in every public channel at 9:04a. I issued a ban at 9:42a (same day, only ~38 minutes had passed), and picked the option to delete messages up to an hour old.
The option seemed to delete the one message in the channel I banned the user in, but all other channels and messages were left alone... I tried to re-ban the user and increase the time limit to 24 hours, but to no...
Message components are currently lacking in things that slash commands provide like autocomplete, validations, and the ability to tie actions to permissions. I agree it would be a better user experience using buttons and modals, and I hope Discord does add parity between slash commands and components. In the meantime slash command buttons seem like a decent option since most of the functionality already exists.
Description
ah
Steps to Reproduce
oh
Expected Behavior
os
Current Behavior
pozdro
Screenshots/Videos
Uploading IMG_0713.MOV…
Client and System Information
gg have anice day
Huh, I don't remember that discussion, but I'm going to mark this as closed then. I think global commands do have more of a propagation delay for search index updates in general, unfortunately. I'll think about if there's anything we can do to make that a bit faster.
This has been fixed. In this case the problem was the inverse: while the user scoped headers were correct the ratelimit was incorrectly being applied at the shared level.
@infinitestory Is this done with?
As of now, still happening in web and desktop clients:

Works as intented on android...
It's fixed on canary and ptb and will be on stable soon
How come this defaults to 0 and default_sort_order defaults to null? Seems strange.
This behavior is expected because we don't delete bot messages on guild ban. However, this functionality is planned.
Description
If too many commands exist in a guild (may also apply globally, maybe just being available in a guild, etc), permission settings for app commands are ignored.
The cause of the issue is having too many commands. To accomplish this, I have 62.5k commands in my guild from one bot. This is 100 base groups, each with 25 subgroups, each with 25 subcommands. The value at which this breaks permissions is likely much lower, though.
Now when I create a new command just to tes...
Oops, forgot to check in here (although it looks like our ticketing system correctly closed the issue). Yes this is fixed, please let me know if you see anything else inconsistent with message commands. I think I made sure everything goes through the same shared pathways so localization should work equally well.
Do you mean something like this
I can't use the slash commands on any server, even the one I Own
check image below

Description
I swear to god i didn’t even do anything except talk to my friends. My discord was bugging so I thought nothing of it, I logged my discord account out in order to restart it. When I pressed login, I couldn’t login because Discord is blocking me from accessing their API due to me exceeding their rate limits???? I don’t even know what that means but whatever i did, please specify. But I swear I did nothing wrong.
Steps to Reproduce
N/A
Expected Behavior
Letting me l...
Description
Request Guild Members Structure is called GuildRequestMembers at https://discord.com/developers/docs/topics/gateway-events#request-guild-members-guild-request-members-structure but nowhere else.
Steps to Reproduce
- Learn to read.
- Click link.
Expected Behavior
Consistent name is specified (previously Request Guild Members).
Current Behavior
Inconsistent
Screensho...
Why not fix it myself? Maybe it was purposeful.
Description
Really didnt want to submit a "bug" but wasnt any other option so sorry in advance.....
Problem: using oauth2 to try and get connection info from end users however once i get the code from them and submit the code to 'https://discord.com/api/v10/oauth2/token' i get a 200 response with everything looking ok until i get to the data of the message which comes across encoded (i think). Ive tried a couple different things but cant seem to get an actual json data response in the...
this seem to only happen with axios not others
Description
Can't access DM's Im getting an API error that says : code :0 ?


Steps to Reproduce
- Fix it ?
Expected Behavior
To read messages.
Current Behavior
No messages. Internet is fine. Can't read DM's. Im getting an error message
#...
Description
When I delete a slash command in my file, it stays in the Slash Commands bar as if it's working, but it's not.
In addition to the ghost Slash Command, when I redo the ghost Slash Command, it no longer works.
To get the Slash Commands back that are not buggy I have to remove the Bot and add it back to my server.
, but when I do that comes another problem,
Slash Command stops working on Bots.
Steps to Reproduce
Add a Bot to the server, create a Slash Command, run the ...
Application commands are registered on Discord's side, so to delete them you need to send an direct API request and not delete a file on your side (discord can't see those):
https://discord.com/developers/docs/interactions/application-commands#delete-global-application-command
well to those that are curious this was the problem:
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept-Encoding': 'application/x-www-form-urlencoded'
},
Adding Accept Encoding fixed it
2bb7cda Execute Webhook also strips invalid characters - typpo
36085ff CHANNEL_UPDATE can contain deleted roles/members - typpo
I have the same exact issue and I have only been talking with my friends
Your ISP is probably using your IPv4 for several of its customers. You will have to wait until your ban ends, maybe discord support can help you: dis.gd/support.
I hope they add support for IPv6 soon, but #1280 is 3 years old and there seems to be no progress.
Testing further, this is unrelated to the number of commands registered, but actually channel overwrites?
Being granted VIEW_CHANNEL and USE_APPLICATION_COMMANDS through a channel overwrite is granting access to commands regardless of integration settings.
Os comandos do aplicativo são registrados no lado do Discord, portanto, para excluí-los, você precisa enviar uma solicitação de API direta e não excluir um arquivo do seu lado (o Discord não pode vê-los): https://discord.com/developers/docs/interactions /application-commands#delete-global-application-command
How do I add the Slash Commands again?
For The Gateway Resuming docs Its not completely clear about the resume_gateway_url
When it says you need to reconnect with it, it doesn't specify you got to add the version and encoding you want to use once again (Unless I'm mistaken and it does though I could not see anything about it). If you do not add the version and encoding you want you will get a invalid session op code (9), Its not very clear that you need to provi...
Description
When searching on the forums, if the search is invalid there is a message that says "Believe this query should return results? Let us know." - The link that "Let us know" used to go to is now an archived repository, so the link takes you to a 404 as issues can no longer be created.
Steps to Reproduce
Search for something that returns no results, click the "Let us know" under "Believe this query should return results? Let us know."
Expected Behavior
It should take ...
Description
After a permission change (channel or role), Thread Members Update wont be fired when removing a bot that had access to the thread previous to the permission change.
Steps to Reproduce
- Create a thread
- Add the bot to the thread
- Edit role or channel permissions to prohibit seeing the channel (
VIEW_CHANNELfor example) - Remove b...
@shaydewael Is this going to be merged?
👋🏽 It's me, again. Run. Jokes aside, this is something I've seen increasingly pop up this year, and it's a precarious feature. For eight years (:blobsweat:) Discord has had mentions, and as far as memory serves, embeds too. At some point in time, allowed mentions were added to the ✨ official ✨ API, which made bots ever so slightly less annoying.
However, embeds have always acted as a poor-man's allowed_mentions on basis that mentions present within embeds somewhat counterintuitively *n...
Upon even further testing, it seems the command is only unrestricted in a specific channel, and I'm at a complete loss as to why.
It's a good idea to add proxy settings to Discord desktop like Spotify.

Better to make a new discussion about this as this discussion is to track current official API plans
this would be a total disaster if it isn't opt-in, and I don't really see the point anyway
Not only not wokr on "Try my commads" also does not work in chat mention.
If the mention contains the translçated name clicking the mentions does nothing, only works if the mention use the original name.

In addition to not working from the "Try my commads" it also does not work in the chat mention.
If the mention contains the translated name clicking on the mentions does nothing, it only works if the mention uses the original name.

Also seeing this behavior, clicking the command only works on if the original/default name is used, not the localized one.
In addition to not working from the "Try my commads" it also does not work in the chat mention.
If the mention contains the translated name clicking on the mentions does nothing, it only works if the mention uses the original name.
I created #5518 for this.
Description
In forum channels, disabling the create post permission prevents thread owners from editing tags/editing thread name/closing threads they have created even when the threads themselves are still unlocked or the author has send messages in thread permissions.
Steps to Reproduce
- with account A, create a thread in a forum channel
- with account B, disable the create posts permission for account A in the forum channel
- with account A, try to edit tags/thread name/clo...
I was reviewing this Modify Channel endpoint and double checked the edit channel in the client, and noticed the difference for the stage channel case
also fixed table spacing
wouldn't it be easier to read with the actual type names instead of numbers (or both)?
Applied tags are on threads, not on forum channels.
wouldn't it be easier to read with the actual type names instead of numbers (or both)?
Not sure... could take up quite a lot of space.
i don't think that's a valid argument, the docs is made to be user friendly and the space it takes doesn't really matter
i don't think that's a valid argument, the docs is made to be user friendly and the space it takes doesn't really matter
True... I'll change it.
It is a good idea to add proxy settings to Discord desktop like Spotify.
For example in UAE, voice connections are banned and this feature can help us to proxy all of the connections to SOCKS5 proxy.
Spotify UI:

Since this brings the topic back up of documenting fields per channel type, could #4106 maybe be considered?
| available_tags? | array of [tag](#DOCS_RESOURCES_CHANNEL/forum-tag-object) objects | the set of tags that can be used in a `GUILD_FORUM` channel | GUILD_FORUM |
| last_pin_timestamp? | ?ISO8601 timestamp | when the last pinned message was pinned. This may be `null` in events such as `GUILD_CREATE` when a message is not pinned. | DM, GUILD_ANNOUNCEMENT, FORUM_CHANNEL, GUILD_TEXT, PUBLIC_THREAD, PRIVATE_THREAD ...
| applied_tags? | array of snowflakes | the IDs of the set of tags that have been applied to a thread in a `GUILD_FORUM` channel | PUBLIC_THREAD |
| default_thread_rate_limit_per_user? | integer | the initial `rate_limit_per_user` to set on newly created threads in a channel. this field is copied to the thread at creation time and does not live update. | GUILD_TEXT, GUILD_ANNOUNCEMENT, ANNOUNCEMENT_THREAD, PUBLIC_THREAD, PRIVATE_THREAD, FORUM_CHANNEL ...
Description
When you buy a nitro subscription in the nitro settings will be a date when the billing will be.
But when I reach that date I got an email telling me the billing is in 3 days and now the date also switches inside of the discord nitro settings. This happened to me 2 times.
Steps to Reproduce
I don’t know sorry.
Expected Behavior
The date shown in the settings should be the correct date.
Current Behavior
The date is wrong until you reach it.
Screenshots/...
go to https://dis.gd/contact for product support, this repository is for the bot api
this might have broken some spacing but it's hard to tell given the width of the table
Couple spacing issues, will sort that out when I get home.
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.
Seems to be pretty much the same thing as #5679? I'd love if this were implemented.
Description
Pretty simple issue: The documentation for message types (https://discord.com/developers/docs/resources/channel#message-object-message-types) only goes to 24. When someone subscribes to a server, the message type value for the alert has a value of 25. Now that subscriptions are available for all servers, the associated message types need to be documented. Based on testing I know 25 is used for new subscribers, but am unsure if there are other undocumented types, like for ...
Description
Users can use hidden report API without limit and with a token from a single account, and the request is all being counted as a valid report, resulting in large number of false bans without a proper investigation.
Recently, some users are using report API to spam by reporting many servers.
Discord support is ignoring almost all requests from users, so many communities are being destroyed, and not got restored.
They say "our verification system can't be wrong. Make a n...
What's this just a couple random default screen shots
In android devices cause this issue?
@devsnek the docs specifically outline the behaviour and it's not being respected here. Does that fall under a feature request and, if so, shouldn't the wrongful information be removed from the documentation?
Thanks for your report. In the future, please report security issues as instructed here: https://discord.com/security.
Create a Discord Bot in Go
Disgo is a Discord API Wrapper designed to be flexible, performant, secure, and thread-safe. Disgo aims to provide every feature in the Discord API along with optional rate limiting, structured logging, shard management, and caching. Use the only Go module to provide a 100% one-to-one implementation of the Discord API. Disgo also provides the following exclusive features.
- [EVERY Rate Limit (Globa...
Bot libraries are added by Discord once their system picks up the library having met activity requirements.
- #4456
Description
All attempts to update a guilds icon result in a 500 error, across all platforms.
Steps to Reproduce
- Upload a new icon to a guild.
- Attempt to save your changes.
Expected Behavior
The guilds icon updates.
Current Behavior
The save fails & a 500 error is logged in the networking tab.
Screenshots/Videos
No response
Client and System Information
Canary 162326 (33cb516) Host 1.0.54 (27618) Windows 10 64-Bit (10.0.22000)
This is related to an ongoing incident: https://discordstatus.com/incidents/g4sdylljnh9c
Description
(Translator)
I recently had my webhook deleted by a third party without permission, just the link! I looked to see if it was possible and yes it is!
Such a problem should not exist because with a simple permission this would be solved.
If possible, I would like to have my webhook restored because I have several systems attached to it and it would be a lot of work to have to change all of them to a new webhook and still run the risk of it being deleted again.
Web...
posting a webhook link publicly allows anyone to spam ping @ everyone through it or send any other message, and yes, delete it. webhook links should be kept secret. it is intentional that having the webhook link lets you delete it.
This is indeed not a bug. I'll look into seeing if we can make it clearer that webhook URLs are supposed to be kept secret.
https://discord.com/developers/docs/topics/gateway#sharding
https://discord.com/developers/docs/topics/gateway#session-start-limit-object-session-start-limit-structure
Number of identify requests allowed per 5 seconds
Is this SendEvent also limited by the the Global Gateway Rate Limit (120 RPS)?
Description
SessionStartLimit data isn't sent by Get Gateway request
https://discord.com/developers/docs/topics/gateway#sharding
The Get Gateway Bot endpoint will always return the correct amount of shards, so if you're already using this endpoint to determine your number of shards, you shouldn't require any changes.
https://discord.com/developers/docs/topics/gateway#get-gateway-bot
Returns an object based on the information in Get Gateway, plus additional metadata that...
The 120rps ratelimit is per websocket connection, it's max_concurrency that's global
you made a request to /gateway (https://discord.com/developers/docs/topics/gateway#get-gateway), not /gateway/bot (https://discord.com/developers/docs/topics/gateway#get-gateway-bot). only the latter includes session_start_limit
I have updated the original thread. I understand that the 120 RPS limit is per WebSocket Connection. I also understand that max_concurrency applies to all WebSocket Connections (aggregate; Identify SendEvent). I am asking, is the Identify SendEvent is bound by solely the max_concurrency limit, or if it bound by both the max_concurrency limit and the Global Rate Limit?
technically by both, but it's a weird way to think about it. keep in mind that these two limits are pretty different, they don't know about each other. the max_concurrency limit applies to identifies, and the 120 rps limit applies to all sent payloads, which identify is one of - so yes, sending 119 pings and then an identify will hit the 120 rps limit
you shouldn't be dealing with the 120rps limit in your identify logic (or any payload-specific logic for that matter) though - the limit i...
I just have the same problem and i dont know what i need to do. I just hope this "ban" ends
Please add this. I'd love for my ticket modals to have this feature.
Description
My account cactusjack#6414 has been blocked for API temporarily due to exceeding our rate limits frequently It would be great if it get fixed as soon as possible.
Steps to Reproduce
.
Expected Behavior
ITs not
Current Behavior
My API is blocked im not able to join
Screenshots/Videos

Client and System Information
API te...
Description
As of yesterday, there seems to have been a breaking API change that causes PUT/channels/:id/messages/:id/reactions/:code to fail with certain previously accepted formats.
Before you argue that this is documented to be this way, the change is still affecting probably thousands of bots and should thus be considered expected behavior. When a large portion of API consumers relies on certain behavior, changing it becomes breaking, even if that behavior may not have been expl...
The issue appears for me on the macOS client, and web client (safari, chrome). Slash commands work for me without on iPadOS and iOS. Other users on a discord I run are reporting similar issues as well.
The issue in the screenshot is not related to permissions, it's because you have "legacy chat input" enabled in accessibility settings. If you turn that off you should be able to use slash commands.
A fix for this is rolling out.
Description
My account has been banned from the app temporarily how long does it take because I didn't do anything wrong
Steps to Reproduce
?
Expected Behavior
My account was banned for a long time
Current Behavior
Speed up the ban
Screenshots/Videos

Client and System Information
iPhone
Description
When you turn the screen sideways, a few channels at the bottom disappear and i can't click them. They should stay visible.
Steps to Reproduce
You can fix this bug with: The channels' location should stay same when the screen turned.
Expected Behavior
When you turn the screen sideways, a few channels at the bottom should not disappear.
Current Behavior
When you turn the screen sideways, a few channels at the bottom disappear.
Screenshots/Videos
Unfortu...
Not an API related bug, already known and for the future report bugs via the form at https://dis.gd/bugreport
Bots can't access the subscription-related endpoints but I documented the role tags, premium emoji stuff, integration type, message type, and publicly available guild features (not the testing guild features). I didn't document the subscription listing stuff in /discovery/:slug since that endpoint is not documented yet (requires #1762).
resolves #5711
I experienced the same issue. I found that if you just enter / and then select the command when it appears in the list of available slash command, it works as expected. Typing any part of the command after the / results in the issue you describe. I've been doing that as a workaround, but obviously the issue needs to be resolved.
Animated avatar decorations are not supported yet, right?
some decorations are animated but they are returned as an animated png, you can't get them as a gif (like stickers)
superseded*
superceded by #5668
Solves #5702 It adds info relating to needing to provide version and encoding when resuming
After Greetings..
I have my own programs and my own team on discord and i'm working hard on my programs to grow up the community, but we're finding out that (Active Developer Badge) is going to anybody who are not developing anything, by some developers who are selling that badge for money (inviting people to their teams) and receiving money for it..
so we hope you solve that trouble to discrimination only developers with that badge.
thank you...
I agree. Also listing members in a kick menu would be very helpful, but its limited too much
this I agree with
if this was a thing it could allow for more compact role menus
If people are selling badges you should report those users with proof at https://dis.gd/report. Making a discussion here does not help in any way.
I would agree, but scrolling through 25 options is already quite far to scroll
25 is already a burden. It'd call for a unique context menu to better suite the environment and prevent such a compact list. 27-30 maybe. But I don't see how this would be beneficial, design wise.
Description
A Guild Member object returned by Resolved Interaction Data doesn't contain the non-optional deaf and mute fields.
Steps to Reproduce
Create a Slash Command that takes a User as a subcommand
Use the subcommand and specify a User
Expected Behavior
One of:
- The non-optional
deafandmutefields are returned as part of the Guild Member object - The
deafandmutefields as part of the Guild Member object are documented as being optional
Current B...
Looks like this has shipped, so will this PR be reopened now?
It's been almost 7 months since the DID_REJOIN flag has shipped, so I'm bumping this.
Just out of curiosity, there are also two more new member flags:
COMPLETED_ONBOARDING->1 << 1BYPASSES_VERIFICATION->1 << 2
but they are part of an experiment and shouldn't be documented for now.
- add active developer
- change certified moderator to moderator alumni
selected the wrong branch
- add active developer
- change certified moderator to moderator alumni
(now with the correct branch selected)
a: Dup of #5695 and #5619
b: you can change the target branch within the pr
This is not a bug, they are documented as partial member objects
members?* Map of Snowflakes to partial member objects
* Partial Member objects are missing user, deaf and mute fields
I'm facing some issues with showing Modal in my bit. The same code works 99% times but in some cases the interaction returns Unknown Interaction when trying to show the Modal. When I replace Modal with a Reply to the interaction, it works everytime. But as soon as I revert back to using Modal it starts failing again. This happens in certain buttons interactions set through certain slash command data. The issue persists even if I repost that post. But if I try posting it again with...
[discord/discord-api-docs] Issue opened: #5731 \`Unknown Interaction\` when trying to show \`Modal\`
Description
I'm facing some issues with showing Modal in my bit. The same code works 99% times but in some cases the interaction returns Unknown Interaction when trying to show the Modal. When I replace Modal with a Reply to the interaction, it works everytime. But as soon as I revert back to using Modal it starts failing again. This happens in certain buttons interactions set through certain slash command data. The issue persists even if I repost that post. But if I try post...
the bot is probably taking more than 3 seconds to respond to the interaction sometimes, so it's timing out
the bot is probably taking more than 3 seconds to respond to the interaction sometimes, so it's timing out
No. Because with the same code if do interaction.reply() it works everytime. But fails if I do showModal()




2ef329c port tutorial - shaydewael
This was implemented some time ago and bots' approved privileged intents now show on their profiles and app directory page
<img src="https://user-images.githubusercontent.com/45880040/206806562-2cdc5ff9-e594-4b25-949d-c176fe4ec2ed.png" width="500">
<img src="https://user-images.githubusercontent.com/45880040/206805401-0c4da1cf-f778-4c76-a850-fa70cf078e05.png" width="600">
Description
Well I was using discord and it randomly stopped working, I’ve used my other devices and it still isn’t working. Something about API
Steps to Reproduce
I don’t know
Expected Behavior
I just wish this didn’t happen it’s so irritating.
Current Behavior
Discord not working, I’ve tried reinstalling and it’s still not working.
Screenshots/Videos
No response
Client and System Information
I used all my devices, none of them worked bc of this issue. i...
Please contact support: https://dis.gd/contact
Description
Now im in voice but there a bug saying im not in any voice right now
Steps to Reproduce
It happens sometimes i dont know why
Expected Behavior
I cant get out the voice
(if i want to left the voice i need to turn off the phone)
Current Behavior
I can't get out from the voice
Screenshots/Videos

Client and System I...
Personally, I find that there is something the new selects are lacking. Let me explain.
I have a /server-settings command. There is a select menu with several different kinds of settings you can change. So far, so good.
Now, for one of the settings, the admins are presented a list of all channels, and they can click each to whitelist it for something, or deselect it again to remove it from the whitelist. That whitelist is saved to my database.
The problem is, if an admin runs this co...
I tested this on both JDA and discord.js, it works fine on JDA but doesn't work on discord.js. I believe this is a discord.js issue.
I tested this on both JDA and discord.js, it works fine on JDA but doesn't work on discord.js. I believe this is a discord.js issue.
Did it happen everytime for you? The Modal creation fails only in certain messages. In 99% messages, clicking the Button generates the Modal smoothly. But in some messages clicking the Button fails the Modal generation with error Unknown Interaction. If I replace Modal with Reply in those messages, it works.
Did you see the same result @I...
I tested this on both JDA and discord.js, it works fine on JDA but doesn't work on discord.js. I believe this is a discord.js issue.
Did it happen everytime for you? The
Modalcreation fails only in certain messages. In 99% messages, clicking theButtongenerates theModalsmoothly. But in some messages clicking theButtonfails theModalgeneration with errorUnknown Interaction. If I replaceModalwithReplyin those messages, it works.Did you see the same...
Description
OpenGraph meta tags that indicate video content don't seem to be embedding, even though the tags are correctly utilised
Steps to Reproduce
Post this link in discord: https://beefox.xyz/video-test-page.html
See that it correctly embeds excluding the video aspect
Expected Behavior
The video should be embedded along with the rest of the open graph tags
Current Behavior
The video is not embeded
Screenshots/Videos
 CHANNEL_NAME_CHANGE type messages deletable in threads by users with MANAGE_MESSAGES permission, as it would make logical sense. It's weird that it isn't like this already.
I've made a visual of how this could look like:

There are captcha bots, and the undeniable best way to make captchas is with a modal, as that allows you to run a captcha check without resorting to DMs.
The idea is making a button in #verification channel, that when pressed, opens a modal of the captcha, with the image of the captcha embedded in it, example below, and telling the user to complete the form ( modal ) and if he makes it properly, he joins the server.
 make sure the user parameter is empty
- Edit your message while your app command is still in the chat field
- Press enter in the edit field
Expe...
What exactly would that permission do, though?
Can you leave an ex of how to make this request? To help me and future fellas who'll soon find this link. Since this seems to be a common issue, and probably a lot of bot devs pass through it, but don't even have any kind of content explaining exactly how to delete a ghost slash command.
The endpoint docs were linked above; nobody can really do a general example for it because how you do it depends on what programming language and libraries you are using. Creating a command is a POST request and deleting a command is a DELETE request; if you created the command then you can delete it.
If you’re using an api library to register commands then check its docs and go to its support place to see how to delete commands using that library.
What exactly would that permission do, though?
It depends on how the bot chooses to handle members with that custom permission
What exactly would that permission do, though?
It depends on how the bot chooses to handle members with that custom permission
^^^ @MaksiRose
Some bots want to use purely embeds for messages for that ✨extra fanciness✨ so it could be useful in that case. Imo a good way for this to work would be only to mention if the mentioned user/role to explicitly set in allowed_mentions by snowflake.
I've confirmed the issue doesn't persist if I repost the same message. It seems tied to some message id.
I tested this on both JDA and discord.js, it works fine on JDA but doesn't work on discord.js. I believe this is a discord.js issue.
Did it happen everytime for you? The
Modalcreation fails only in certain messages. In 99% messages, clicking theButtongenerates theModalsmoothly. But in some messages clicking theButtonfails theModalgeneration with errorUnknown Interaction. If I replaceModalwithReplyin those messages, it works.
Did you se...
I've already done this and I'm waiting for a solution
Description
(I'm not sure that this is the same problem #5731)
I only fail to interact with specific Button ID.
Steps to Reproduce
(I think this issue only occurs in my bot)
ID "start_verification" is can interact multiple times and always displays the latest Modal.
But, ID "start_verify" is can't interact multiple times and showing the very old Modal.
Expected Behavior
must can interact multiple times and always displays the latest Modal
java.lang.IllegalState...
@IllagerCaptain I still don't get it 🤷♀️
"It depends" just doesn't really give me an idea at all. Can you give me a concrete example of something someone with only that bot permission turned on could do that someone without wouldn't be able to?
From what i understand their suggestion is to allow bots to upload custom permissions in the UI, so you can tie certain access to users with that permission. It looks similar to what music bots do when asking for a DJ role (which for example can give you access to skipping queued songs) or bots which allow to customize their settings to people with some sort of manager role. But instead of asking admins to configure a role that will have access to the bot configuration/setup, then it's whoeve...
I still don't know the reason, but I re-clone the project again and solved it.
Ah, now I get it, thank you. Indeed a nice idea
It would be useful for context commands to be able to jump to specific message in the current guild. Right now the only way to accomplish this is to send user message with link to the message, which is a bit clumsy.
I can imagine this working even for slash commands, but it makes more sense for the context menus.
Ideas to think about: allow jumping to roles, users, channels?
Disgo is requesting an appeal to the activity requirement as it is the only Go Discord API Wrapper which implements every field of every request and event. Disgo plans to provide out-of-the-box sharding (while DiscordGo does not). Disgo is also innovative by containing exclusive features no other recommended library provides such as Automatic Intent Calculation.
Being recognized by the Discord API Documentation would be beneficial to Disg...
As an interesting addition could have a choice between "file from device storage", "camera image", "screenshot", "canvas", etc. as an attachment
[discord-api-docs] Branch linked\-roles\-tutorial was force-pushed to `0d7d78b`
@shaydewael, it's been a month and no comment; what's to happen with this PR? Have you forgotten about it? Internal issues?
in comparison to Python which has 7 libraries listed
Python has 7 libraries listed because they are active. Your library's feature set is almost definitely not going to impact Discord's company policy.
Description
Sending message components with a non-application-owned Webhook results in a success response instead of an error response. This incorrectly communicates to the user that the request was valid, even though the request was in fact not valid. The documentation should specify this behavior if intentional.
Sending Content and Components
Sending the following payload
{
"content": "Test",
"components": [
{
"type": 1,
...
In regards to developer support, what about prompt support for developers in general?
I had an account that owner of a developer team with a verified bot that was disabled then deleted, but the ownership didn't get passed to the next and only user on the team that is marked admin. So now that user account can't add any others to the team. The verified bot is in almost 2,000 servers so asking all the servers to add a new bot just isn't logical, the team ownership needs to be transferred fro...
contact support for that
I have. Their response about 6 months ago was to create a new bot and tell the server owners to add the new one- which isn't logical when you're bot is in almost 2,000 servers. We've tried reaching out to support again to explain this but it's been a month without a response.
We've added this to the suggestions, but I hardly believe they actually pay attention to these- and if they do its aggregated data, so even though a huge issue for those this has happened to, it's still not that commo...
did you select the correct category about developer team ownership transfer? there is a process for these cases normally
Yes I did actually, funny you should mention that. Because there is a category and sub-category that is labeled "Developer team ownership" and when they responded one of the first times they said it was in the wrong category.
So with the latest request, I took a screenshot of the category dropdown menus and added it so as not to get a "wrong category" and ignore forever reply.
the first response is sent to everyone because they get lots of people asking offtopic questions to dev support, it even asks in bold to reply to it if it's in the correct category. as long as your ticket is open that means it's in queue, if it's inactive for a long time you might want to join ddevs and ping a staff member like kady or ian with the relevant ticket/bot ids and concise context
Yes I'm aware of the first msg from Clyde bot. Will try ddev server, but theres no channels in there related to dev portal or dev team.
use the bot verification one
I'd say this a feature request the desktop client and not for the api.
See for client features: https://support.discord.com/hc/en-us/articles/213490807-Where-can-I-submit-Feature-Requests-Feedback-and-Suggestions-
I'd say this a feature request the desktop client and not for the api.
See for client features: https://support.discord.com/hc/en-us/articles/213490807-Where-can-I-submit-Feature-Requests-Feedback-and-Suggestions-
cf55403 add docs for default forum layout field in chan... - Daniel Mejido
Add 'default_forum_layout' field to Channel object api docs
cf06a70 Add docs about age-restricted commands (#5617) - shaydewael
| GALLERY_VIEW | 2 | Display posts as a collection of tiles |
if it has no default value, how does it display for users by default? list view still?
| LIST_VIEW | 1 | Display posts as a list |
`default_forum_layout` is an optional field in the [channel object](#DOCS_RESOURCES_CHANNEL) that indicates the default layout for posts (or threads) in a [forum channel](#DOCS_TOPICS_THREADS/forums). A value of 1 (`LIST_VIEW`) indicates that posts will be displayed as a chronological list, and 2 (`GALLERY_VIEW`) indicates they will be displayed as a collection of tiles. If `default_forum_layout` hasn't been set, the value will be `0`.
Setting `default_forum_layout` requires...
I'd suggest explicitly listing the possible values here—either how I included it or in a bullet list or something.
Yes, on the UI it shows as "List" when it's NOT_SET. Because "List" is the current default value.
ceb0ea7 Update docs/Change_Log.md - danielmejido
d06d61a Update docs/resources/Channel.md - danielmejido
fabbb08 Update docs/resources/Channel.md - danielmejido
Thats a good idea, I'll try that. I just reported it as a bug and got a response an hour ago so if they aren't able to help resolve my issue I'll report it through bot verification.
none of that is a bug though
e6166f5 fix tabs for table - Daniel Mejido
Seeing as how a server admin can claim ownership after 30 days, one can assume the same goes for developer team ownership
bc812ce remove mention of threads - Daniel Mejido
When is this null? I thought when it's unset it is 0 and not null
What happens when you set this to null here?
0af53e9 int is not nullable - Daniel Mejido
Not necessary, but it could be helpful to include that posts will display as list in this scenario as well
I duped the row above, it's not null, you're correct that it's 0 when a value isn't set. Updated
it's not nullable- nice catch, updated
GitHub doesn't let me approve review, but since you requested it.
LGTM 👍🏼
can repro, seems to happen when the slash commands aren't fully loaded, such as using frequently used commands
but they're not actually fully loaded. when used, this sometimes happens. Not all the time. It's a very odd bug. It persists to this day though.
I have this bug for my command, which I have posted on Stack Overflow here. Does this deserve its own issue, or should this be re-opened? I believe it's the same.
Yet fail to meet other criteria presented by the linked post. Features such as Automatic Intent Calculation and Structured Logs save customer support time for the company. This saves money for Discord such that an appeal may be granted by an employee. This is why it is being requested. As a reminder, if this appeal is denied, we will continue to work towards meeting activity requirements.
Note: @splatterxl isn't an employee.
Note: @splatterxl isn't an employee.
If you would like a response from a Discord employee please contact developer support
Have been getting random unknown interaction errors as well on deferReply() and showModal() rarely. Decided to check how much time each reply is taking (even though everything is deferred) using console.time() and console.timeEnd() and surprisingly that one day no errors occurred.
Splatterxl is correct, the list is generated, so we won't be adding it at this time. But given the prodigious coverage of the API and rate limiting implementation, I expect it wouldn't take too long to get a few thousand users. Good luck!
Error returned when trying to create stage instance with a guild_scheduled_event_id that has entity_type not for STAGE_INSTANCE
Flag REQUIRE_TAG (1 << 4) = 16 does not seem to work for creating forum channels
Description
I aint getting my bedge and it says "You are not eligible for the Active Developer Badge" even when i made an app and run my first command.
Steps to Reproduce
I ran the first command and waited 24 hours but i still cant get the bedge.
Expected Behavior
I get the bedge
Current Behavior
I aint getting it
Screenshots/Videos

Client and Sys...
it's supposed to be the case already but even if it wasnt, it wouldnt be a bug
Description
Wifi issues while being rated, and can’t be able to log in.
Steps to Reproduce
Expected Behavior
Normal
Current Behavior
Blocked from accessing API temporarily due to exceeding limits

Screenshots/Videos
So when I log in the issue that occurs, says i’m blocked from accessing when I click...
Description
Similar, if not the same, to closed issue #4595.
Bot responds to the autocomplete interaction with the ApplicationCommandOptionChoiceData format expected by Discord.
Discord shows the autocomplete list properly, but when a user clicks on an autocomplete option it auto-fills using name and not value.
Steps to Reproduc...
24 hours is the minimum time, not the maximum. Additionally, it is spelled "badge" not "bedge".
Feature request:
platform_profile? field. It's a link that users are redirected to when they click the box under "Apps".

Description
Hey everyone, I'm having issues trying to call AUTHORIZE through the RPC API. I'm getting an OAuth error saying that I'm requesting an invalid scope, despite the scope being valid (rpc). It used to work up until a few days ago.
Steps to Reproduce
Run this Node.js example with clientId, clientSecret, and redirectUri specified:
const RPC = require('discord-rpc')
const main = async () => {
const client = new RPC.Client({ transpor...
Tags can only be used in PATCH of forum threads
They weren't talking about tags.
You placed flags under the wrong request.
For create channel you can't set flags (pinned).
It needs to be under modify.
About the PATCH, I'm sure I created the channel and received PATCH, I don't remember why.
They weren't talking about tags.
You placed flags under the wrong request. For create channel you can't set flags (pinned). It needs to be under modify.
Sorry, I got the names mixed up, but that's just it
About the PATCH, I'm sure I created the channel and received PATCH, I don't remember why.
It has to be a modify operation. Clients don't have the capability to directly pin a post nor does the api has
So how do you explain my debugging? If he said the first field worked, the second field should work too, or test it yourself
remembering that flags are only for forum threads, for now
Description
Going through the oauth flow using both the role_connections.write scope and PKCE will return an invalid_scope error to the browser
Steps to Reproduce
(validity of challenge does not matter)
Expected Behavior
The browser should be returned an authorization code in the url regardless...
This is intentional, unfortunately it's not possible to securely support this without a breaking change
1681ffc Create DM endpoint clarification (#5633) - AlmostSuspense
a658801 Fix error in modal docs (#5660) - AlmostSuspense
2600e3c Update certified moderator flag description (#5... - advaith1
fixes a typo and add context menus to the list of exceptions (not sure if the hyperlink syntax is correct but i hope so)
I'm also seeing the same problem in a python application that was working previously and now hits this error when using the rpc scope.
Am seeing this with discord version 1.0.9008 on Win10
that looks correct - the client displays the name when it's selected, but it sends the value to the app
I am also seeing this with the scopes rpc and rpc.voice.write in my C# app. Both are seen as invalid when I try them individually.
They worked a couple days ago when I last did some testing with my beta testers.
App details:
Language: C#
Library: DiscordIPC
Version Details:
Stable 164048 (25cf192)
Host 1.0.9008 (27798)
Windows 10 64 bit
The name is what should visually be shown to the user. The value will be used when the interaction is sent.
I'm also seeing the same problem in my C++ application.
Using "rpc", "identify", "rpc.voice.read" and "rpc.voice.write" scopes.
It was working fine a few days ago, but yesterday I got an OAuth error with invalid scope.
error message:
"cmd":"AUTHORIZE"
"data":{"code":5000,"message":"OAuth2 Error: invalid_scope: The requested scope is invalid, unknown, or malformed."}
System Information:
Tested on both Windows 10/11 and Mac 12.3.1
Are your apps whitelisted to use the rpc scope?
I've never had to since September...
The interpretation I had reading the docs was that the "requires discord approval" notice on rpc and similar was that the user had to acknowledge that the app wants to use these rather powerful scopes, as that logic lined up with how I interpreted the RPC docs regarding your app and how users of your app vary depending on if you've gotten through the approval process or not.
If there was some additional approval step, then the docs don't seem to cl...
Are your apps whitelisted to use the
rpcscope?
My plugin requires each person to get their own client id and client secret.
Until this change, the rpc, rpc.activities.write, rpc.voice.read, and rpc.voice.write scopes could freely be used by the app's developer and App Testers.
So basically this was possibly an intentional change and we have to get Discord approval now?
...Is there a doc in the developer portal for that? the only one I can find is this one regarding game/server style apps, but neither the checklist or buttons it references show up in the dev portal for me...
they stopped approving apps for RPC years ago, and it isn't really supported anymore (beyond the unauthorized ipc connection for rich presence)
though it is unclear whether this change was intentional
regardless, it has not been possible to fully release an app with the rpc scope; it has always (or for a long time at least) been locked to the app's developers and testers for unapproved apps.
@advaith1 @devsnek As you can see in the image above, it behaves just like the linked issue, which was a bug. If it sends thevalue through with the slash command, I can never know because the input validation does not pass because is the min max length values. In either case, it's still a bug
Looks like you're having a separate issue, that the client is not properly applying the length requirements when autocomplete is used
@advaith1 I'll try it without the min max values and see what it passes through.
@advaith1 I'll try it without the min max values and see what it passes through in the final interaction. If I understand correctly, it should still be the value despite what is shown in the input field
This feature has been implemented! Huge thanks to the Discord developer team for making this happen!
This feature has been implemented! Huge thanks to the Discord developer team for making this happen!
Private threads would be very good and it's really important for support servers for companies.
Description
Twitch allows the creation of animated emotes since June 2021, since then its integration with Discord has given problems, causing imported animated emotes to appear as static on Discord. This was shown to be a bug on the Twitch's side, until now
As described here, Twitch's API now supports export of animated emotes, but the problem persists so now the bug is on the Discord's side
Steps...
This has been discussed in #3310 and #4758, but considering app_permissions has already been implemented at the guild level (#5131), I believe a standalone discussion will help bring attention to it
As a developer of a stateless app, I want to see my bot's computed permissions for a specific channel so that I can easily warn the admins which actions my app won't be able to perform due to missing permissions
A significant step in configuring my app requires an admin to select a categor...
Description
Boolean values in metadata field on Update User Application Role Connection endpoint currently works only with 1/0, but not with true/false.
Steps to Reproduce
- Create a linked role with boolean metadata like
allergictonutsfrom the example. - Connect the user via oauth2
- Create metadata info for the user like this:
curl -X PUT -H 'Content-Type: application/j...
Alternatively, it should throw an error if an invalid value is passed. Just silently erroring, with no feedback isn't very nice.
I tested currently the linked role example and created a linked role Cookie Monster. The requirement for this role is 10 Cookies Eaten Greater Than. Now I connected my Discord account with my app via oauth2 and set the metadata {"cookieseaten":20}. Now I can self-assign the role Cookie Monster.
If I set now the metadta for my account to {"cookieseaten":9}, I leave automatically this role. This what I want. But if increase the eate...
@advaith1 @devsnek I removed the character limit from the slash command and confirmed that although the text that autofills the field is the 'nice' name, it passes the 'ugly' value into the slash command handler. This is a weird position to be in, because I can't use autocomplete with a nice name. Is there any way to have it autofill just the value? It seems counter-intuitive to do it this way, not at all what I expected.
This is an extremely unintuitive permission setting for users.
It looks like its about links. But it actually about embeds.
Perhaps the client sees embeds as a type of link, but users see it as a bot message. Users can not be expected to know this.
In reality what happens is the permission becomes useless because every bot requires it.
99% of bots use embeds for normal messages, and it has nothing to do with embedding content from the web that could potentially be nasty.
Maybe sendin...
Good evening,
I'm opening this PR to propose the addition of one of my projects.
Mineral is a framework for designing Discord bots in the Dart language.
The project includes a total management of the dispatching of events, commands or context menus.
I would like to know if you accept the addition of such projects in your documentation at this time.
If you would like more information about the project, please do not hesitate to contact me.
Thank you in advance and have a great ev...
Hi, thanks for the PR! We maintain the list of libraries using usage statistics. Once your library has enough users, we'll add it to the list for you.
Thanks a lot ! See you soon 👋
You are missing a thumbnail. Once you add one, I believe it should work.
This does not appear to be a bug, nor is it related to Discord's API. For product feedback, please visit https://feedback.discord.com
The enterprise API Discord leverages for Twitch does not yet support them. In addition, there's other conflicting work which teams here would need to complete along with this (like upgrading existing emotes which are now animated and how this interplays with animated emoji, a paid feature of Nitro).
This does not appear to be a bug. Per the documentation, the BOOLEAN_EQUAL and BOOLEAN_NOT_EQUAL types support integer values
Description
When a premium role (server subscription) is retrieved from the Discord API, it always returns available_for_purchase as null.
Steps to Reproduce
- send a request to get a premium role
Expected Behavior
If the subscription is a draft subscription, available_for_purchase should return false, and if it's public it should return true.
Current Behavior
It's always returning null.
Screenshots/Videos
, so going to close this without merging 😅
Looks like this was accidentally changed in the rewrite
It works the same way as the boosting role tag. I added a note about it in my PR:
Tags with type
nullrepresent booleans. They will be present and set tonullif they are "true", and will be not present if they are "false".
It works the same way as the boosting role tag. I added a note about it in my PR:
Tags with type
nullrepresent booleans. They will be present and set tonullif they are "true", and will be not present if they are "false".
oh ok that's kinda weird
is there any reason it's like that and not like anyone would expect a boolean to work? this seems so much more confusing than it should be tbh
the intent was to maintain a static type representation of
{[key: string]: SnowflakeId | null}
Suggestion
ability to have a string thing but the metadata/requirement could act like a boolean
In Action
Requirements
PUT request to https://discord.com/api/v10/applications/clientid/role-connections/metadata
[
{
"key": "gamerank",
"name": "Rank In Game",
"description": "Rank a user has in game",
"type": 9 // new string application role connectionmetadata type
}
]
This would be more for display, but in requirements it would act ...
Just string can causes some problems. And probably most of people won't know the correct values. So I think we should be able to add some options to select like this:
[
{
"key": "gamerank",
"name": "Rank In Game",
"description": "Rank a user has in game",
"type": 9,
"options": [
"Rank 1",
"Rank 2",
"Rank 3"
]
}
]
This wasn't very clear, and one could guess this can be sent when an update is made to any user.
My god i wrote the nodejs but the Discord Developer UI is so infuriating and disfunctional it's unbelievable!
Is ask God "what is your logic?!"
I ask the Discord UI developers "what is you logic?!"
My god i wrote the nodejs but the Discord Developer UI is so infuriating and disfunctional it's unbelievable! Is ask God "what is your logic?!" I ask the Discord UI developers "what is you logic?!"
It sounds like they haven't got an experience designer on the team if that's the kind of pain points a user like yourself is experiencing. Your experience should be designed better, I'm sorry that they haven't done so.
Hello, @everyone!
I wrote a repository for Verification roles in Python,
take it and use it, if you notice a mistake, then dare to fix it!
Let's do our best to make this feature a standard in bot development!
Description
The GitHub webhook text for Actions jobs now has "None" in place of the job name and status.
Steps to Reproduce
- Have a GitHub repo with an Actions workflow
- Set up a Discord GitHub webhook that sends messages for Actions jobs
- Make the workflow run
Expected Behavior
The message contains the job name and status as it used to
Current Behavior
The message contains "None" instead
Screenshots/Videos
12/03:
, it has no special behavior unlike type 3 which redirects you to the Server Subscriptions tab when used.
Can repro, we have had this happen since the 10th actually.

This seems like a great idea and the example you included made me think that a type which checks if a string array contains a specific value could be useful. For example if a person had multiple "in-game ranks" the linked role could check if the array contains the specific rank that you'd want the role to link to.
this was not the solution, i have updated the test page and it still does not work
ah just solved it, it was the line <meta property="twitter:card" content="summary_large_image">
Description
Currently, the C# GameSDK wrapper uses PInvoke marshaling to pass delegates as callback function pointers to the native library. According to the documentation, the passed delegate mustn't be garbage collected while the native code still stores the function pointer:
However, if the unmanaged function stores the delegate to use after the call completes, you must man...
This should have been fixed as of a couple months ago. Let us know if you re-encounter it in the future.
This PR documents the new role tag that was added along side the rollout of linked roles. guild_connections appears in the tag list for a role when its considered a linked role and managed by verification.
Description
I am writing a bot (with administrator's permissions) using discord.js written on TypeScript.
It's main job is to listen to events and handle each according to some logic.
For some reason the events: "messageCreate", "guildMemberAdd", "guildMemberRemove" fires just fine,
but other 2 events: "guildMemberJoin", " voiceStateUpdate" NOT fires, and I can't figure why.
I wondered if there is any bug with these events or did I just implement it badly.
Waiting for your ...
voiceStateUpdate will not fire since you do not have the voice states intents enabled.
voiceStateUpdatewill not fire since you do not have the voice states intents enabled. note thatjs codecan make it monospaced and add syntax highlighting so it is easier to read here.From the lack of inlay hints for
guildMemberJoin, you may have the wrong signature, try asking in https://discord.gg/djs
Thanks for the quick reply, I Fixed the voiceStateUpdate issue by added IntentsBitField.Flags.GuildVoiceStates to the client's intents array, as you wrote.
I'll ...
Is getting better!
Now the locaised version on mentions just don't get render as such:

Communicating is essential, and on discord we have serious problems about it.
It is not possible to have a limitation of only 4k characters.
I wanted to turn my discord into a real forum but I can't even post a guide without going over the number of characters.
this thing needs to be removed.
Other Things To Implement:
1: Display colored names based on role in voice chat (this helps to immediately distinguish who is present in VC, an admin, a moderator, a specific user)
2: Fix blo...
Description
If you add an interactions URL to an application, the associated bot gains a BOT_HTTP_INTERACTIONS flag in their public_key attribute. However, there is no notification that anything changed.
Steps to Reproduce
- Start a bot that checks whether another bot uses HTTP interactions or not.
- Add an HTTP endpoint to a bot that initial bot shares a server with.
- Observe how no matter how well coded the cache for that initial bot is, it will never say the other bot ...
this is working as intended. most changes are not fanned out to guilds.
Description
It would be useful if there was some indication of whether the bot user of an application is a member of the server an interaction is sent from. This would make it easier for applications to enable or disable certain actions that require a bot user in the server.
A possible solution would be to include a simple boolean of indicating if the bot user is a member, or including a nullable member object of the bot user in the server.
Alternatives Considered
One alternat...
Unfortunately we're going to have to mark this as a wontfix, see #api message
We may consider adding support for this in the future
Would someone with this issue be willing to provide a complete, runnable code sample that reproduces this issue? Its very difficult to figure out if this is even a bug or not
In your code sample, you have
"Authorization": `Bot ${token}`
, but when using an OAuth2 access token, you need to do
"Authorization": `Bearer ${token}`
Oh wait I misunderstood, my bad
Is it possible the bot doesnt have the CREATE_INSTANT_INVITE anymore?
We've made some changes in the last couple months, is this still an issue?
I don't think it is because the bot has admin privileges.
The final change ended up being adding a per guild webhook limit of 1000 and bumping the per channel webhook limit to 15.
If you can put together a runnable code sample that reproduces this error I may be able to help debug, otherwise there isn't a lot I can do. The API appears to be working as expected for most users
@yonilerner like I've said above, simply set up an 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 code sample because it really is random
I thought it would be too big to describe the entire application, so I attached the code of the file that describes the command processing. Please note that this code is very dirty;;sry
https://gist.github.com/10tera/e019a2a427e435333e8ee40f64abd622
I am unable to reproduce this on the latest Stable 165256 (6ee5f8a) or Canary 165485 (07d8b41). If this is still an issue, can you please include the exact application command JSON you're using to create this command?
It seems likely that there is a mistake in the way your server has been configured. If you manage to collect more information about a potential bug, feel free to reopen this ticket.
I'm getting a 403 error when modifying safety_alerts_channel_id, is it because it's not released yet?
blob documenting experiments smh smh
join raid alerts are out to 30% of communities, 50% with 5k+, and all partners [rollout]
I had this issue earlier but haven't seen it again since about 2 weeks ago.
Thanks for the suggestion, this should be returning empty arrays now.
How is this completed? The fields are still undocumented and the PR to actually resolve this is still open.
Likely since it was reported as a bug but it is not.
Funny definition of 'completed'.
Description
me aparece el error "Error al ejecutar 'insertBefore' en 'Node': El nodo antes del cual se insertará el nuevo nodo no es un hijo de este nodo." en la pagina de discord developers
Steps to Reproduce
- entrar a discord developers
- presionar aplicaciones
- presionas un bot que creaste
- y aparace el error
Expected Behavior
esperaba entar sin problemas
Current Behavior
un error que no me deja avanzar
Screenshots/Videos

Client and System Information
Stable...
The way youre getting the tokens seems very error prone. Unfortunately I cant help debug this much more, but given that only are experiencing this issue I think its likely a problem with your code. I would refactor your code to not use so many nested closures. In particular, line 127 looks questionable in that you may not be accessing the index into the tokenlist array that you think you are
I would try deferring the response first and then editing that with a modal to see if it gets around potential timeout issues.
Also it seems like the issue is no longer happening, so Im going to close this issue, but you can reopen it if Ive misunderstod.
As NurMarvin said, this repo is only for bugs related to the API or app features related to bots/applications.
@yonilerner I believe the bug report is about the endpoint creating an empty message by ignoring the extra field, which is probably unintended.
Description
Hi,
When my friend is in invisible mode, I can spot her.
Steps to Reproduce
Open discord from any phone.
Open a new server.
Switch account to invisible mode.
Just click on the server name.
And you will see that you will appear online even though you are in offline mode.
Then try it as two people.
Expected Behavior
Just "2 Member" .. So, 2 offline..
Current Behavior
"1 Online - 2 Member"
it shouldn't be like this.
Screenshots/Videos
https://prn...
Sent when an integration is created. The inner payload is an [integration](#DOCS_RESOURCES_GUILD/integration-object) object with `user` omitted and an additional `guild_id` key:
| last_message_id? | ?snowflake | the id of the last message sent in this channel (or thread for `GUILD_FORUM` channels) (may not point to an existing or valid message or thread) | DM, GROUP_DM, GUILD_TEXT, GUILD_VOICE, GUILD_ANNOUNCEMENT, ANNOUNCEMENT_THREAD, PUBLIC_THREAD, PRIVATE_THREAD, GUILD_STAGE_VOICE, GUILD_DIRECTORY, FORUM_CHANNEL ...
| name? | ?string | the name of the channel (1-100 characters) | GROUP_DM, GUILD_TEXT, GUILD_VOICE, GUILD_CATEGORY, GUILD_ANNOUNCEMENT, ANNOUNCEMENT_THREAD, PUBLIC_THREAD, PRIVATE_THREAD, GUILD_STAGE_VOICE, GUILD_DIRECTORY, FORUM_CHANNEL...
| parent_id? | ?snowflake | for guild channels: id of the parent category for a channel (each parent category can contain up to 50 channels), for threads: id of the text channel this thread was created | GUILD_TEXT, GUILD_VOICE, GUILD_ANNOUNCEMENT, ANNOUNCEMENT_THREAD, PUBLIC_THREAD, PRIVATE_THREAD, GUILD_STAGE_VOICE, FORUM_CHANNEL |
| flags | integer | [channel flags](#DOCS_RESOURCES_CHANNEL/channel-object-channel-flags) combined as a [bitfield](https://en.wikipedia.org/wiki/Bit_field) | ALL |
| default_thread_rate_limit_per_user? | integer | the initial `rate_limit_per_user` to set on newly created threads in a channel. this field is copied to the thread at creation time and does not live update. | GUILD_TEXT, GUILD_ANNOUNCEMENT, FORUM_CHANNEL |
The thread rate limit parameter is copied into thread objects.
It's copied to rate_limit_per_user.
| rtc_region? | ?string | [voice region](#DOCS_RESOURCES_VOICE/voice-region-object) id for the voice channel, automatic when set to null | GUILD_VOICE, GUILD_STAGE_VOICE ...
| video_quality_mode? | integer | the camera [video quality mode](#DOCS_RESOURCES_CHANNEL/channel-object-video-quality-modes) of the voice channel, 1 when not present | GUILD_VOICE, GUILD_STAGE_VOICE ...
| position? | integer | sorting position of the channel | GUILD_TEXT, GUILD_VOICE, GUILD_CATEGORY, GUILD_ANNOUNCEMENT, GUILD_STAGE_VOICE, GUILD_DIRECTORY, FORUM_CHANNEL |

