I assume you didnt read my comment so i will show it visually

#github-notifications
1 messages · Page 38 of 1
It was a client issue I believe, just restart your client and it should be fixed.
@Athenua I have, however always comes only "The application did not respond" and then the slash commands are gone again. Then I have to reload Bot and so on. Already the normal Discord client?
If Discord is going to officially point new developers to replit, you will need to add an exception for it in the exceeding-ratelimits-too-often IP ban mechanism.
I'm seeing a lot of people seeking for help in ddevs or dapi because their IP gets randomly banned from the API likely due to other users on the same IP spamming the API.
The Command Permissions section of the Integrations page for a bot is a useful alternative to trying to create commands/settings/etc that control who can use certain commands (which I think was the goal). However, leading a user (especially a user less-familiar with Discord) to this page is a bit tricky. Being able to provide a clickable hyperlink or button component that takes a user directly to this page (if possible for their permissions) would drastically smooth out the experience of swit...
@night can you re-read my comment above (and this one) and help me understand why this is not a bug in the documentation or not something that can be / should be changed? Sorry for the length. I didn't expect to write an essay on something trivial either.
As far as I can see, (1) there are two endpoints here with the same name (one is deprecated) and (2) the active endpoint is referred to by two different names. I think that alone is confusing from the point of view of a regular API consum...
This would be fairly straightforward: a button style that corresponds to MESSAGE-type Application Command.
This type of button would:
- be functionally identical to attempting to use the command via the context menu for the command
- visibly promote specific MESSAGE-type commands on specific messages
- be greyed out or invisible to those who can't use the command (following permissions v2)
The reasoning for this feature: Sometimes a bot knows that a user might want to use a cert...
Description
Message context commands 403 for messages where you dont have write permissions in the given channel, this leaves the UI in a loading state, although i cant now check as commands v2 is fully rolled out i think v1 allowed you to use contexts under these same circumstances.
Steps to Reproduce
Have send message permissions denied in a channel and try to load context message commands on a message.
Expected Behavior
The menu loads as normal.
Current Behavior
The ...
Description
The slash command picker UI is left empty but still present if you dont have access to any commands, this is not the bext UX in the world and is quite confusing lol (i thought commands were still broken in DAPI, turns out i just didnt have perms), a better solution might be to load a small message explaining that you dont have access to any of that applications commands if the application_commands array is returned empty when requesting a specific applications commands
###...
i think v1 allowed you to use contexts under these same circumstances.
it did not.

Ideally, it would make sense for the client to not show "Apps" at all on channels you do not have the read message permission for, instead of the permanent loading menu, which I can repro (see below).

As you can see in the picture, I am using greyed out primary buttons. Imo, we should have a new component, label, with the styles:
- Button Style - it would show in the place of a button, but'll not be clickable and will not have background.
- ActionRow style - must be the first object in the list, and will add a label above the action row
- Modal style - it would add text...
This is reproducible in dms for global commands as well. However, I believe the solution is to hide the application icon for applications which don't have commands you can use in the current channel (the API already returns the correct result here, this is a client side thing). So, if you have permission to use none of the commands in a channel, it would behave like a fully denied use application commands permission.
Endpoint linking is also historically a pain in the butt, though maybe less-so now with the checkLinks CI.
Fwiw, the checkLinks CI is pretty much a 1 line change away from being able to spit out all valid endpoints since every single one of them is a valid anchor link and it's just parsing out that excess information.
This was what i had in mind initially but would cause that applications command list (empty) to flash infront of you, basically you click on it then it's instantly hidden, i felt the message was a better UX
I guess discovery does still need to show all the applications in the sidebar so you can click an application to filter down to it before the full lists loads. So yeah, message is probably better (or if we're really lucky, one of those wumpus errors), and it provides a surface to show other errors for e.g. 5XX responses.
I guess discovery does still need to show all the applications in the sidebar so you can click an application
yeah sadly, itd be very expensive to have them just now show right from the first "/" which is fair enough, so i think this is probably the best workaround
[discord/discord-api-docs] New comment on discussion #4889: Settings for applications inside Discord
Still waiting for stickers, or permissions v2 for that matter
you have stickers in react native (permissions v2 still no)
Has this feature been released yet ? I can't find it anywhere.
yes, it released several months ago
@night Any chance an update broke this again about ~7h ago ?
[discord/discord-api-docs] New comment on discussion #4889: Settings for applications inside Discord
You can't upload stickers in the alpha either, that's what I meant
Is that not just a side-effect of them being markdown'd headings? I'm able to find them because they all have the pattern ## {name} % METHOD {route}.
I think some of this is worth moving to a proper discussion so that it's not ignored, which happens in closed issues. Specifically, I'm interested in a general discussion on endpoint naming because this inconsistency is not the only one.
Actually you made me realize that ## {name} % METHOD {route} is machine readable because whatever Discord uses to build the docs exists. I guess that's your point with checkLinks.
Description
Exacly the same as https://github.com/discord/discord-api-docs/issues/4856 but with the non-bulk endpoint.
Updating or creating commands through the non-bulk endpoint may cause commands not to appear in the command list, making use impossible.
The only way to make them appear is to set a manual override for each affected command (which can be removed later).
See video below.
Steps to Reproduce
-
Have admin or be owner
-
Create or modify a command with the gu...
Ever thought bout big community servers before posting this comment?
bump - I really need this!
Currently - we can only make a text input as a modal component.
I've taken the rest below from @NegativeDev (thanks), but here is what me and Negative think should be available in modals.
NumberInput
This would only allow numbers. Pretty self explanatory
SelectBoxInput
This would present a list of boxes of texts, similar to how SelectMenu looks
FileAttachInput
The ability to attach files, with proper security measures in place would be quite nice for different uses, suc...
Description
Discord crashes when running the blurplefy slash command with an attachment
Steps to Reproduce
- Type a blurplefy slash command
- Select an attachment
- Send the command message
Expected Behavior
The command runs the filter on the selected image
Current Behavior
Discord crashes immediately
Screenshots/Videos
No response
Client and System Information
Operating System: Android
Version: 125.14 - Stable
Device Model: CPH 2239
Description
The API documentation writes: "Timestamps will display the given timestamp in the user's timezone and locale."
An example output is provided as: 20 April 2021 16:20
However, no matter what language/locale I select. I cannot get my desktop discord client to display the time in this 24h format. It is always in 12h format in American English.
Steps to Reproduce
- Use the desktop app
- Pick any language other than American English for the language settings
- Send a ...
If you wish to see 24h format (as well as DD/MM/YYYY), you must use English, UK as language.
Timestamp formatting is powered by Intl, and en-US always uses 12h format by default.
The formatting relies on this setting in windows:

Thanks for the comments but my point is that I have everything set to English (UK). Both in discord and in windows.

It always shows the time formatting for English (US) no matter what language/locale you pick.
Able to reproduce, seems all absolute date and time formats seem to be forced in en-US (including names of days and months) whilst the relative time format has no problem being translated.

Good feeling you'll be redirected to https://dis.gd/bugreport however
Description
The Developer Reference is not clear how or where the User Agent requirement is enforced. The Reference only states that a user-agent must be provided which conforms to RFC2616 with additional format restrictions: https://discord.com/developers/docs/reference#user-agent
The Execute Webhook API API accepts the following User Agent strings, none of which do not abide by your restrictions.
Ruby(fro...
Additionally, the "sent at" text will always be 12hour too.
@devsnek Why is this a documentation issue?
Why is requests getting special treatment which is not part of the python standard library, when urllib, which is part of the python stdlib, is not getting the same treatment?
Same! I use Trello, and have to request the users to upload the files to Trello after I automatically create a ticket.
Also non fields text like in #4897
Please note that unless you format your user-agent as mentioned in https://discord.com/developers/docs/reference#user-agent your requests may or may not succeed.
That is all there is to it.
Yes, that would be useful as well!
Also available is
|| Spoiler ||
~~ and deleted text ~~
Pretty sure most if not all of these are already planned
Along with a date input too
@nmsturcke date chooser is planned for sure, but for slash command. Idk about modals
iPhone with language and region both set to English (UK)
@nmsturcke date chooser is planned for sure, but for slash command. Idk about modals
I heard they were going to be added to modals too, not sure where or when I heard it though
It would be really interesting if they add that. Forms have been something in discord you kind of had to make do with sending messages and receiving them - modals make this so much easier
a cryptic 403 from Cloudflare with no error body to debug with.
You should get an HTML body from CloudFlare saying either that your user-agent was blocked (error 1010) or a more generic Access denied due to Firewall rules ([error 1020](https://support.cloudflare.com/hc/en-us/articles/360029779472-Troubleshooting-...
The current Interaction Data documentation is unclear when it comes to what fields the developer should expect when. Surrounding information helps to form a better picture, but the table itself is confusing, particularly with the suggested but incorrect optionality of fields.
This PR separates the structures and updates the fields to better reflect expected behavior for the different interaction types.
Two things,
1: I wasn't sure if the Resolved Data Structure should remain immediatel...
can repro, Canary 127307 (5bcd5d5)
Include info on websocket, and update for commands v2
545ad93 update for websocket path (#4910) - shaydewael
Description
If you had a command which used V1 permissions there is a way to make it not possible to update the permissions for it.
Steps to Reproduce
- Have a command from pre-V2 permissions which had a user who never in the guild given permission to use it
- Attempt to remove their permission to use it from the Integrations menu
Expected Behavior
The user is removed from the list of users able to use the command
Current Behavior
An error with "Unknown Member" is disp...
I believe this should probably move below all the individual data structures as they all represent the same sub-point in the overarching structure. Intuitively, modals would probably have some sort of resolved structure, but its not there right now cause modal input doesn't seem to be powered by slate 😢
The inner data payload of an interaction can vary drastically from interaction to interaction but is guaranteed based on the [type of interaction](#DOCS_INTERACTIONS_RECEIVING_AND_RESPONDING/interaction-object-interaction-type). As mentioned in the table above, `PING` interactions *never* have a `data` property. For all other types of interactions, the structure of the inner `data` payload can be found below, split by type.
It appears that it does indeed return a Cloudfront error code -
$ curl -D - -A 'Python-urllib/3.8' https://discord.com/api/webhooks/...
HTTP/2 403
date: Tue, 10 May 2022 06:12:31 GMT
content-type: text/plain; charset=UTF-8
content-length: 16
x-frame-options: SAMEORIGIN
referrer-policy: same-origin
cache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
expires: Thu, 01 Jan 1970 00:00:01 GMT
expect-ct: max-age=604800, report-uri="https:/...
Is there any update on this?
Attempts to combat the documentation issue described in #4908 by adding a visible warning box
> Client requests that do not have a valid User Agent specified may be blocked and lead to a Cloudflare error page.
Description
Welcome all, I have a problem I made bot a long time ago and I got bored of his picture and his current name I said I will change it but when I entered discord site in developers applications I changed the image and changed the name in the site but in Discord they did not change and tried again and the third time did not change I wish to solve the problem
Steps to Reproduce
.
Expected Behavior
.
Current Behavior
.
Screenshots/Videos
in website :

both of these should be marked as "requires Discord approval"
Endpoints that allow using data provided by these scopes should also be documented.
for most restricted scopes, the connected endpoints are not documented
for most restricted scopes, the connected endpoints are not documented
Yes, I agree; I didn't know they were restricted when I posted my comment (it was a quick review without actually testing these scopes).
I think this is a step in the wrong direction.
It's already an issue that despite Read Messages being a permission that can already be granted or denied from bots, a separate intent is also needed in order to read messages. If a server manager wants to grant permissions or capabilities to a bot, they should be able to do so. If a bot needs certain permissions to function, and a server manager does not grant those permissions, then the bot failing to function correctly is the fault of the...
[discord/discord-api-docs] New comment on discussion #4914: Allow to disable commands for admins too
Admin role have a clear warning that Members with this permission have all permissions and also bypass any channel specific permissions or restrictions.
If you don't want your admin to use the command, then remove the admin permission and add all the permissions to that role.
[discord/discord-api-docs] New comment on discussion #4914: Allow to disable commands for admins too
Please read the description again. I made clear that it's about disabling commands entirely, and you cannot "remove admin" from the server owner.
[discord/discord-api-docs] New comment on discussion #4914: Allow to disable commands for admins too
I read that and removing permission from server owner doesn't really makes sense after all they are the owner and they should have all the permissions.
[discord/discord-api-docs] New comment on discussion #4914: Allow to disable commands for admins too
It's not about removing the permissions, but about disabling the command completely for the whole server.
Like an Enabled: Yes/No switch somewhere in the UI.
Being able to disable all commands of an application with a single global switch maybe be also a good idea.
The bot invite-window should say which intent an app has been approved for, by telling users which data it could collect, as not everyone has a good basic understanding for intents.
I made a concept on how I imagine this could look like, attached below.
As Discord keeps making changes to protect the users privacy, this would be an important step to let users know which data is actually granted, as I think very little users actually bother to read an apps privacy-policy.
 way
There also should be a feature that discloses what intents a bot has in the integrations panel for each integration in server settings
(First of all, duplicate of #3310)
This would be a valuable addition, especially for bots that don't connect to the gateway. Caching permissions is not effective, because:
- If the bot already has the needed permissions, then it will still hit a 403 if the permissions change; it would be just as effective to not check permissions at all (and save several API calls)
- If the bot doesn't have the necessary permissions, it will need to keep fetching them every request, because the normal ...
To follow up, consider an alternative: All bots can request any permissions they want, but elevated permissions require an additional confirmation box to be clicked (next to each elevated permission checkbox) before allowing the bot to be authorized, forcing users to acknowledge the difference between elevated and non-elevated permissions. If a bot actually needs those permissions to function, and the user is not willing to grant them, then it is probably the case that the bot should simply n...
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...
maybe just include the bot user object (if there is one) in application objects?
Missed this in my search, and this would be a better solution than what I proposed.
aren't they stored for 90 days? i've always heard it was 90 and not 45
[discord/discord-api-docs] New comment on discussion #4914: Allow to disable commands for admins too
When I see this:

I do not think of "permissions" which are "bypassed by admin". It looks like "command is disabled in all channels" and should not show up. The current design makes no sense to me.
hmmm when I was looking in the code it looked like it was 45, but let me check again
I believe it used to be 90 but was changed to 45 years ago
yeah but it could be a better ux than just having it inside a slash command option
It looks like only 45 at the moment—checked in some internal docs and verified in the client for a few different guilds.
For transparency's sake—I've also made a branch that takes the deduping a step further and only notes exceptions in the keys table: https://github.com/shaydewael/discord-api-docs/blob/test-other-audit-log/docs/resources/Audit_Log.md#audit-log-change-key-exceptions
I think with the objects and key exceptions clearly documented for the events, this would make it a lot easier to maintain the docs and offer built-in flexibility as audit log events and object payloads change over time, especial...
this is a small thing, but including "page" seems a little confusing. maybe switch to the language they use on their docs?
could do "page" -> "in the HTML body"
> For `APPLICATION_COMMAND_PERMISSION_UPDATE` events, the `target_id` is the app ID since the `changes` array may contain several permission changes for different individual entities.
25c5151 Make type-naming consistent (#4852) - TheUntraceable
This PR is looking a lot better than the other one, thanks!
Regarding the other branch:
For most objects, the change keys can be any field included on the object, and the types and descriptions can be found in the respective documentation. The following table details possible exceptions to this pattern for select objects.
As long as all the exceptions to this pattern are documented, I think this way of documenting the audit log change keys is fine as well.
The key thing (no pun intend...
Maybe we could just add a note about Android? Either including it in this info box or below it in something like:
warn
On Android clients, commands that users don't have access to will appear in the command picker, but will be disabled and unusable.
I don't think it needs to be too specific—this should be fixed in the next month in which I'll remove it.
| APPLICATION_COMMAND_PERMISSION_UPDATE | 121 | Permissions were updated for a command | [Command Permission](#DOCS_INTERACTIONS_APPLICATION_COMMANDS/application-command-permissions-object-guild-application-command-permissions-structure) |
The current link is for a single permission update, which while intuitively is the entity being updated, isn't the one actually represented by this entry.
> For `APPLICATION_COMMAND_PERMISSION_UPDATE` events, the `target_id` is the app or command ID since the `changes` array represents the entire `permissions` property on the [guild permissions](#DOCS_INTERACTIONS_APPLICATION_COMMANDS/application-command-permissions-object-guild-application-command-permissions-structure) object.
target_id is the same id used in the permissions update endpoint, which is usually a command id, but can also be application id for the "global" ...
Is it worth noting the exception here somehow?
I'm again going to ask if its somehow possible to get the key for application commands permissions update to be something other than a snowflake. It makes it significantly harder (read: impossible) to type these entries as strictly as we could before and you already have to check new_value / old_value to see what type the id is anyways (channel, role, or user).
@ckohen I get that and think it's a reasonable ask—I can bring the request to the devs working on the feature. It may be helpful to open a Github Discussion for it as well so that it's a bit more visible long-term. For this PR, I'm really just trying to document the current state.
I agree with this, also maybe a type such as picture or video?
It still wouldn't be accurate as to the behaviour of commands v2. As far as I can tell, on commands v2, the client itself caches the requests it makes for up to 1 hour, which means that it's possible for a command to still take an hour to roll out.
This seems a bit inconsistent, shouldn't the fields for old_value and new_value objects be documented in the fields column here for Command Permissions (rather than as an asterisks under the table) to fit the current style in the PR, not the special casing for the value of the key field which would be a better fit documented on the Audit Log Change Structure object?
For most objects, the change keys can be any field included on the object, and the types and descriptions can be found in the respective documentation.
Just a question for the other branch, the above is used as a catch all but doesn't this leave it up to end users to reverse engineer which fields are actually included in the audit logs? This is especially the case for audit log create events where people might naturally expect to see all of the object's fields in the change object(s) if ...
If `new_value` is not present in the change object while `old_value` is, it indicates that the changed property has been reset or set to `null`.
Since this line now acts as the only documentation for the fact that any fields marked as null on their relevant change object would never be null here, would it be worth also documenting that old_value won't be present if the field was originally null?
This also needs to update every example which makes an api request to use a valid user agent header, as the existing ones are not valid.
for example:
headers={"User-Agent": "DiscordBot (https://github.com/discord/discord-api-docs/, main)"}
requests.get(..., headers=headers)
@onerandomusername I don't think that's necessary for the smaller snippets, but I'll look through the bigger ones later as I'm on mobile currently
I'd assume "improved entry point" is crossed out because of the React rework, after the rework Android probably already has it?
This can help us to easily search certain posts rather than doing a global search on server
This limitation seems pretty arbitrary.
If the idea is that it would be confusing for users if they didn't have time to read the message before it disappears, then why is it limited to ephemeral messages? It's surely as or more confusing if a normal channel message (where multiple people can read it) disappears quickly?
One of our use cases for ephemeral messages is gathering user input then editing that ephemeral message over and over like a in-channel multi-step form. Then when they're...
Description
As far as I know, ordinary users get deny permission overwrite from GUILD_CREATE, but for some reason bots don't
Steps to Reproduce
- Connect to discord gateway
- Send bot token in identify
- Recieve GUILD_CREATE
- Look to permission_overwrites array in any channel wich have any deny permission overwrite
- It have only id and allow overwrite not deny
Expected Behavior
It gives deny and allow permission overwrites
Current Behavior
I recieve only allo...
We can add the one hour copy into the warning box as well (updated the suggestion). I just want to isolate the behavior into a callout so it's easily removable and doesn't affect desktop, which is by far most used.
@onerandomusername that's not correct
In the line above, could we reflect this change?
Maybe change to "Returned when fetching the permissions for a command or application in a guild"
> If you don't have permission to use a command, it will not show up in the command picker. Members with the Administrator permission can use all commands.
Maybe we could just add a note about Android?
added
@FasterSpeeding I think even with the keys listed there's already some level of reverse engineering needed for the case you're talking about since it's not guaranteed that all of the keys listed will appear (they usually don't, even for some create events). Part of the reasoning for the other branch is to discourage hardcoding or assuming inclusion of keys that follow the standard pattern, and assume that any of the object's key can show up but is not guaranteed to.
I prefer the simplici...
In the example of that ticket, the error code: 1010 is the body of the response rather than a header or the response type (which is still 403). You can verify by removing the -D flag which dumps the header
[discord/discord-api-docs] Issue opened: #4923 Documentation doesn't cover all image sizes available
Description
https://github.com/discord/discord-api-docs/blob/main/docs/Reference.md?plain=1#L295
Image size can be any power of two between 16 and 4096.
But using a script, all the available images sizes actually appear to be the following:
16,20,22,24,28,32,40,44,48,56,60,64,80,96,100,128,160,240,256,300,320,480,512,600,640,1024,1280,1536,2048,3072,4096
Should these all be documented, or are sizes that aren't a power of two not meant to be officially supported as part of the A...
Added "sticker_ids" to the note about required params for the create message endpoint in order for it to match what is said in the 'JSON/Form Params' table also under the create message endpoint
> Note that when sending a message, you must provide a value for at **least one of** `content`, `embeds`, `files[n]`, or `sticker_ids`.
Yeah, and let admins make certain channels completely inaccessible for other admins or even owner, by denying VIEW_CHANNEL (View Channel) as a user-based channel override, sounds good?
What is "Improved entry point" and why is it crossed out for Android?
Basically allowing you to open the slash command picker similar to how you can create threads by clicking the + beside the chat box.
Also, are there any plans to add the slash command permissions UI to mobile?
I don't think they'll be doing that soon, because the mobile app never had a functional integrations menu.
> Note that when sending a message, you must provide a value for **at least one of** `content`, `embeds`, `files[n]`, or `sticker_ids`.
Description
The Discord RPC API supports subscribing to Message Events like MESSAGE_CREATE and MESSAGE_UPDATE. However, it does not appear that the new Thread Events such as THREAD_CREATE or THREAD_UPDATE are available as valid events to subscribe to.
Is there a valid way, or a workaround, to get the Thread Message contents? This is not a bot account, so it seems I cannot use the REST API to query the message contents.
If not, will this be added to RPC in the future?
Steps t...
This PR adds my slash command builder tool to create JSON payload for the Application Command API to the community resources section.
Currently supports all possible fields for Application Commands including localization options, permissions, options, choices etc.
- Adds remaining changes from v10 to docs
- Adds changelog for v10
- Reworked the Uploading Files reference section a bit to try to add some clarity
- Requests to v10 and higher will no longer be supported on `discordapp.com` (this does **not** affect `cdn.discordapp.com`)
- The `reason` field has been removed for `PUT /guilds/{guild.id}/bans/{user.id}` and `POST /guilds/{guild.id}/prune` endpoints. The `X-Audit-Log-Reason` header should be used instead. Read more in the [Audit Logs documentation](#DOCS_RESOURCES_AUDIT_LOG).
AFAIK the reason field parameter only existed for these 2 endpoints.
The original phrasing also looked like that X-Audit-Log-Reason was something new, but it has been around for years.
- Requests to v10 and higher will no longer be supported on `discordapp.com` (this does **not** affect `cdn.discordapp.com`)
- Message routes (like [`POST /channels/{channel.id}/messages`](#DOCS_RESOURCES_CHANNEL/create-message)) now use the `embeds` field (an array of embed objects) instead of `embed`.
| summary *(deprecated)* | string | **deprecated and will be removed in v11.** An empty string. |
btw, isn't something that changed in v8?
3041e34 Updated the note under create message (#4924) - ninjafella
yeah i get that it's invalid JSON—since it's not an example that people would be copying/pasting, it doesn't feel like a big deal to notate it with additional info. but i'm fine removing the comment.
i'd want to keep the field regardless since it does appear in the payload.
Could this block be moved up to be above the v10 changes? it will be more visible there keeps the changelog chronological
Yeah I was debating between backdating the v10 entry date to February to add consistency, or to reflect the date of change log publishing. I'll do this and backdate though—agree it's better to keep releases chronological.
peiviledged -> privileged
Description
I am able to see my bot's slash commands in my server, but it seems others can't. I am also unable to see these commands in the integrations tab


Steps to Reproduce
No steps known
Expected Behavior
Slash commands should appear
Current B...
Could the new active thread endpoint be listed as "List active guild threads". I think it makes it easier to point people to the correct endpoint if they are distinct.
- The `summary` field for applications will be removed in the next API version (v11)
- Starting in v10, you must specify the message content intent (`1 << 15`) to receive content-related fields in message dispatches. See more in the [Gateway Intents documentation](#DOCS_TOPICS_GATEWAY/gateway-intents).
Maybe make Boost Tier link to the support article here
Gets the user achievement for the given achievement id. If you keep a hardcoded mapping of `achievement <--> ID` in your codebase, this will be better than iterating over each achievement. Make sure to call `FetchUserAchievements()` first still!
IIRC this was removed previously to reflect the deprecation?
Yeah it was, but I added it back in since the empty string still appears in the payload. Even if deprecated, if a key is still present it feels like it should still be included
This should mention the affected fields rather than a general statement, as some fields like mentioned roles will still be there despite being part of the message content
I updated the post, but we're postponing this for now and will have separate comms when there's more info to share
> Fields specific to the `GUILD_CREATE` event are listed in the [Gateway documentation](#DOCS_TOPICS_GATEWAY/guild-create).
Ah, thank you, I like that much more.
78a152e Separate GUILD_CREATE fields from Guild object ... - Bluenix2
Same as last suggestion—feel free to take or leave
\* For **voice channels**, `bitrate` can be set up to `96000` in non-boosted servers. In [boosted](https://support.discord.com/hc/en-us/articles/360028038352-Server-Boosting-FAQ-#h_419c3bd5-addd-4989-b7cf-c7957ef92583) servers, it can be set up to `128000` for level 1, up to `256000` for level 2, and up to `384000` for level 3 or in servers with the `VIP_REGIONS` [guild feature](#DOCS_RESOURCES_GUILD/guild-object-guild-feature...
Feel free to take what you want from this, but I just tried to clean it up a bit since it's a long note. Not sure about bolding voice channels/stage channels, but stage channels feels buried so that's reasoning.
\* For **voice channels**, `bitrate` can be set up to `96000` in non-boosted servers. In [boosted](https://support.discord.com/hc/en-us/articles/360028038352-Server-Boosting-FAQ-#h_419c3bd5-addd-4989-b7cf-c7957ef92583) servers, it can be set up to `128000` for level ...
c3bf7c2 Fix very minor inconsistency (#4929) - GoogleGenius
was added in #4919 (sorry for not merging this one first)
I have been seeing something like this ever since Permissions v2 and Backend v2 rolled out. I believe that if you revoke permissions for certain conditions the bot will still appear in the menu with no commands similar to the screenshot.
I am also unable to see these commands in the integrations tab
Not sure about that though ^
Is this about if the bot has been verified (+75 servers) or the verified key in the user object, (which iirc refers to if the owner has a verified email)
Should the 4 states be documented here?
https://discord.com/developers/docs/reference#api-versioning
Mainly regarding what deprecated means
The Problem
In the current state, if you trigger an interaction while being scrolled in a channel, you won't see the reply until you scroll back down to the very bottom of the channel. And in some cases, you won't even be able to see the reply if it's ephemeral, because the message will be gone due to the scroll position.
Additionally, this is an issue if you're doing some sort of task that requires you to go back finding old messages in a channel and do something with them (like using...
Noticed this as well. I found I could type / to open the command menu and specifically click on the application icon to open the bot's commands and trigger a reload for the command cache though. This bug didn't happen before v2 systems.
Apparently fixed.
It is necessary to update all commands registered before the fix.
-
Added submenu on the backend, so removing the guide contents to clean up vertical space:

-
Modified assets to have more padding because of current limitations on rending images
-
Link cloudflare hosting guide (will add more as they're released)
eefa4f3 Getting Started cleanup (#4931) - shaydewael
After I deployed a new bot which registered slash commands, those commands will appear in the auto-completion of Mobile App, but not Desktop App. However, after I manually synced those commands within "Server settings => Integration => Bot command", they show up within Desktop App auto-completion.
The way I register the commands are like:
const { SlashCommandBuilder } = require('@discordjs/builders');
const { REST } = require('@discordjs/rest');
const { Routes } = require('discord-api-t...
Sparked by some discussion in [ddevs](#api-questions message)—hoping to make requirements a bit more visible and clearer
- Removes the
Requiredcolumns and adds that info to theFieldcolumn similar to other tables (relies on the "content,embeds,files[n], orsticker_ids" disclaimer) - Small copy/
code block/Capitalization edits
☝️ @snow sandal opened that re: the discussion the other day—lmk if you don't think it's clearer
Description
Whenever my bot tries to edit a message with a new image, it returns a discord server error. This is mostly reproducible in DMs. As I was recording videos to demonstrate the issue, I found that on my tablet, the message isn't edited in either DMs or a guild, but it works on my phone when in a guild. And now after trying to record it on my phone, it doesn't work either.
Steps to Reproduce
-
Send a message with an image in a DM with a bot.
-
Edit the message with a n...
I was able to record and demonstrate what the bot should do on mobile.
Description
When I go to the link from discord.js, it leads to this page and has an error (screenshot added)
Steps to Reproduce
Visit this page: https://discord.com/developers/docs/dispatch
[Original: https://discord.com/developers/docs/dispatch/field-values#predefined-field-values-accepted-locales]
Expected Behavior
I recommend redirecting to the homepage or https://discord.com/developers/docs/dispatch/dispatch-and-you
Current Behavior
Minified React error #130; visit...
Having three required properties in the table but only one in practice is a bit confusing IMO. Perhaps all of them could be optional and the info box could stay?
Can confirm. I cannot edit a content-only message to embed-only in DMs. This used to work 2 days ago.
| name | string | the rule name |
i think you should take all these "auto-mod" from the rows, its title is already explaining that it's a automod rule
I'm getting an internal server error when trying to PATCH a message with attachments: [] in the json payload.
My message doesn't actually contain any attachments btw.
<img src="https://cdn.discordapp.com/attachments/697489244649816084/975038956276158514/unknown.png">
<img src="https://cdn.discordapp.com/attachments/697489244649816084/975038956515237898/unknown.png">
Description
In the server folders when you open and close a server folder it bugs and the server icons do not appear in the same folder.
Steps to Reproduce
Double right click on a folder
Expected Behavior
What should happen is that you see the icons of the first 4 servers in that folder
Current Behavior
The folder icon remains instead of the server icons
Screenshots/Videos
https://user-images.githubusercontent.com/102625468/168430554-30f35e2d-5714-4770-88a7-5da7...
Originally discussed in #4841 and #4919.
⚠️ Unfortunately this has been stalled long enough so it would be a breaking change.
The idea here is to get the key for application commands permissions update to be something other than a snowflake. It makes it significantly harder (read: impossible) to type these entries as strictly as we could before. It's basically typing the key as a String now and leaving it at that. If you do use that, you can no longer identify the type of the values by ...
Description
Hey all, I created this issue last year and it was moved to the Discord GameSDK repository, which has now been archived.
Is Discord moving away from gaming and focusing more on the social side of things?
The Discord GameSDK was [last updated in September 2020](#gamesdk-announcements message) (v3.1.0) on the Discord Developers Discord server, and there are...
Is there an update on this issue? Not even fixed so it works or says HTTP 400?
Same here. Ubuntu 20.04 with Firefox 100.0 and Chromium 101.0.4951.64 both are stuck in this captcha loop.
Switching channels should also clear the cache from what I heard.
I can't use defer because I don't want the server to get spammed with, "Invalid search parameter"
You can reply to the user "wait a bit I'm searching".
When its done you can either edit it, or post your public message to the channel, or edit it and give it a button that the user can press to proceed to next stage.
So in your case you would reply with ephemeral and say "Give me a sec", if there is an error you update the text in the ephemeral with the error.
If there was not an error...
When you try to edit permissions for commands of an integration, you only see the name of the top-level command. This means you have to just know what that command does when editing permissions for it.
An improvement for user-experience would be to add the command description, and potentially also the relevant subcommands for each command.

I have no idea what these commands...
In the integration settings there is a search bar which allows to search for applications by name. It should also allow searching by bot name, since that is often not identical and you don't know which bot corresponds to which application necessarily.


When creating a sticker using the Create Guild Sticker endpoint, you have to specify an exact media-type for the image you use, ie. image/png and application/json. Discord should be able to determine the type automatically, just like they do for image attachments.
For image attachments with the Create Message endpoint, you can get away wi...
Description
When I type / the client shows commands for a bot which I am unable to configure in the integration settings.
Steps to Reproduce
Check the commands in the Discord API server.
Expected Behavior
The list of bots should be the same when typing / and in the integration tab.
Current Behavior
They are not the same.
Screenshots/Videos
Commands shown for Muck Man when typing /
 (64-bit)
, and Chrome Version 101.0.4951.67 (Official Build) (64-bit).
Transferring ownership of the test server to said alt does not alleviate the ...
Interesting observations network inspection though.
When I attempt to view context menu commands / commands it makes a request like so:
https://discord.com/api/v9/channels/<snip>/application-commands/search?type=1&limit=10&command_ids=&include_applications=true
It does not load because that does not return the info necessary, in fact it returns an "Invalid Form Body".
{"code": 50035, "errors": {"command_ids": {"0": {"_errors": [{"code": "NUMBER_TYPE_COERCE", "message": "Va...
It's also worth noting that this occurs with third party bots, and my own. No matter the mix.
I was trying to find where those command IDs are supposed to come from in the client code, but can't find anything. I suspect they come from the websocket (not a normal XHR request).
I also created a completely fresh server with no integrations, and on 2 accounts (work & alt) I got the same 400 invalid form body and was unable to view slash commands, even built in ones. As before, this was pers...
Description
When I try to edit the permission of an integration in the Discord API server, I get a save button which is non-functional. I belive the API does a wrong permission check.
Steps to Reproduce
- Create a guild and invite an application
- Join with an alt account and set your permissions to Manage Server (access to integration tab), but not Use Application Commands (shouldn't be required)
- Try setting permissions and save
Expected Behavior
The permissio...
You also need manage roles to modify permissions for app commands
Description
If you have a modal with some fields eg. 3 or more, you cant scroll down on them while having the keyboard open. The keyboard is shown on top of the textfield and you cant see what you are typing in in that field
Steps to Reproduce
- Grab an apple device
- Open a modal with a few TextInputs
- Type inside the last input
Expected Behavior
Be able to scroll down (android footage attached)
https://user-images.githubusercontent.com/66848091/168494508-482ed9ce-c...
I have been seeing something like this ever since Permissions v2 and Backend v2 rolled out. I believe that if you revoke permissions for certain conditions the bot will still appear in the menu with no commands similar to the screenshot. This is a bug.
I am also unable to see these commands in the integrations tab
Not sure about that though ^
Yeah, and now my other members can see the slash commands, but they aren't appearing in the integrations tag
For slash commands, currently the description shows in command permission editing popup when you press the command in the list.
Context menu commands do not have descriptions at all.
Context menu commands do not have descriptions at all.
Which is why I'm asking it to be changed.
The request doesn't seem to mention allowing bot devs to set descriptions on context menu commands
well... the discord gamesdk was discontinued :(
I saw SKUs were discontinued but didn't think that included the whole GameSDK as well. Is there another way to set rich presence and send lobby invites?
not sure about lobby invite, but if you wanna set rich presence then you can use rpc
the game SDK hasn't been deprecated, only store pages and commerce were
Description
I set up my bot and everything. It was working fine last night and I am hosting it using Uptimerobot.com. So a few minutes ago, I felt like testing if it was still working, it wasn't. I went to repl.it (where the code is) and it showed me that my token is invalid. I proceeded to regenerate my token and paste over 5 times and it is still invalid. I am pretty sure its valid at this point.
I have read on StackOverflow that this might be because Discord blocked my bot for mali...
This is not an API issue or error. You should head to discord.js support and ask them for help
This is not an API issue. You should head to discord.js support and ask them for help
This guy had the same issue as me tho, https://github.com/discord/discord-api-docs/issues/1346
Maybe generic pre-translated options could be good, so Yes, No, Confirm, Accept, Deny, Cancel, and OK could be viable options (Next and Back not here because those would make more sense with pagination)
Ever thought bout big community servers before posting this comment?
Personally, this shouldn't be an alternative but both should be there, to prevent weird behavior where only some bots work.
We currently have no plans to raise this limit.
Something we have considered, regarding your point on music bots taking up slots, is allowing apps to connect to multiple voice channels in the same server, but no guarantees or timeline on that though.
Are there any plans to document this, especially when it comes to the integrations list in server settings?
Now that the new permissions system is out, can this be considered? My bot would also greatly benefit from this
Could this be revisited now permissions v2 is out?
Hmm we have jump to present button right?
That doesn't work for ephemeral messages, they just disappear when you click it.
That sounds a feature request
The idea also aims at removing the need to scroll back to present in certain situations
It is a feature request 😅
A notice to everyone who checked this discussion: the same discussion was already made by me in https://github.com/discord/discord-api-docs/discussions/4837
Line 150 has a miss-spelling of the word back.
ack is short for acknowledge and is used in many other places including right above this instance. there's no spelling mistake
Similar yes, you wanted to be able to choose with 50 bots are usable, while I want more than 50 bots usable
What about the second point?
- There are multiple servers which offer communities for users to come together and play various bots together especially ones which require interaction between users eg bots which require trading.
Also if this is something discord is not going to change, it should be documented and clearly communicated to users because if you go into a few support servers, you can still see multiple people asking why the bot doesnt show up in integrations and developers...
Also I just noticed, each webhook created takes up a space for a bot.. This is getting even more difficult to manage 😕
Is there a route to update automod rules?
The situation in your screenshot is because the application was authorized with the webhook.incoming scope; standard webhooks do not show in the applications list.
Bots have not been given access to automod yet, since it's still in development and it's unfinished, so they currently cannot use the endpoints.
on iOS it doesn't even allow you to copy embed contents tho
Description
Displays all slash-commands in android app, regardless of permissions/default_member_permissions
Steps to Reproduce
Create command(s) with default_member_permissions or overwrite permissions in integration settings for existing command(s)
Expected Behavior
Users without required permissions dont see this command(s) as on desktop or web app
Current Behavior
Users without required permissions still see these command(s)
Screenshots/Videos
desktop/web
 | auto moderation rule was triggered and an action was executed (e.g. a message was blocked) |
table formatting
| Type | Value | Description |
| -------------------- | ------- | ------------------------------------------------------------------------------- |
| KEYWORDS | 1 | check if any words from a user defined list of keywords exist in content |
| HARMFUL_LINKS | 2 | check if any known harmful links exist in content ...
Yes! I was thinking about that before. I agree with the idea.
Perfect! Yes, it's a large topic.
I think yes. @hemu what do you think?
This was clarified before, wrongly stated afterward, and has now been corrected:
https://github.com/discord/discord-api-docs/blob/43b67450eae11173da0ebefec52dfb45cb073040/docs/interactions/Application_Commands.md?plain=1#L329
Added proper vocabulation to the file!
Any updates on this? It's been nearly four years 👀
Description
It seems like the default_member_permissions field is currently not working properly, causing members to not have access to commands that they should have access to.
Commands are either invisible to members when they should have access to them (according to default_member_permissions as well as the integration settings), or are visible (sometimes in cases where they shouldn't be) but fail to execute without ever hitting our bot instance. More details described below.
##...
@greysdawn That one is infeasible according to #4436.
It is not only about slash commands, message context commands have same problem. May be user context too, but i didn't checked.
| exempt_channels | array of snowflakes | the channel ids that should not be affected by the rule (Maximum of 50) |
| exempt_roles | array of snowflakes | the role ids that should not be affected by the rule (Maximum of 20) |
> info
> Automod rules are limited to 1 rule per trigger type, with the exception of `KEYWORDS` which can have multiple
Hello there,
I would be nice a options component for modals, it's useful for ex: tags or other things.
do you mean selects? these are already planned
@erkinalp but it would be feasible with access to the search API, which is why I mentioned it here. You can search for messages that mention specific users and also search for their ID to see where it comes up, then delete messages that are found
As i'm not sure if this is actually the same issue I filed #4959 -- definitely seems related / similar tho
Description
When using the bulk update endpoint with a command that has the dm_permission field, it still gets updated, even though they did not change.
Steps to Reproduce
Use the bulk edit endpoint (i tried it on a guild, but should behave the same on global) with the following command
{"dm_permission":false,"default_permission":true,"name":"test","options":[],"description":"hello","type":1}
Now, if you use the same endpoint again, with the same command, it will update the...
Congrats! You’ve found the Discord Developer Documentation! These pages are dedicated to showing you all the ways that you can use Discord to make cool stuff. Whether you’re looking to create awesome bots for your community, empower your applications with our API, or hook us right into your game with Rich Presence or the GameSDK, Discord has something special for you.
I think the previous wording was more correct here.
No matter where your game lives, it should have a first-class experience in Discord. [Rich Presence](https://discord.com/rich-presence) is the way to make that a reality! We had got tired of exchanging usernames, friend codes, and lobby passwords, so we created Rich Presence, an easy-to-use, easy-to-integrate way to get people playing games together that lets you:
We love our developers, and we plan to keep making practical tools so that YOU can keep making cool stuff for everyone. Build a bot, create an API wrapper, integrate our account system, or put us right in your game; whatever you do, do it with Discord.
yea let's remove documenting this new embed type for now even if the type does currently exist b/c we don't have any guarantees re. how the automod message itself will be structured, it could change in the near future
adding endpoint docs so I might move this under the POST endpoint
@shaydewael can you review this pr?
Apps don't own servers, so this change is wrong
> .env is a file where all your sensitive crenditials and data is stored, which should not be accessible to anyone, even if it is public
The use of applications vs apps is very inconsistent in this now
We’ve got a whole suite of tools to help bring your game to life with Discord. Need networking? Have [networking](#DOCS_GAME_SDK_NETWORKING/)! Want a friends list? Take [relationships](#DOCS_GAME_SDK_RELATIONSHIPS/) too!
@Wondermarin sorry, I forgot, thank you.
please add pinned servers, i have a lot of servers and join a few servers everyday, i'd like to be able to pin servers at the top
fix has been made and will be deployed shortly
Arrange them in folder. Make a folder named official or something like that and keep it at the top. Drag your frequently visited servers in the folder.
Client feature requests should be made at https://dis.gd/feedback - this GitHub Repro is for Discord's API & its documentation. :)
Have same issue today. I tried different browsers and my phone. Any updates?
still hope for a separate object? 👀
there are some plans to cleanly support this for all messages, not just auto moderation messages, so we will prob migrate after this is done. For now we're avoiding documenting what's currently b/c of this future churn
Shouldn't the structure for this include an id? Both the PATCH and DELETE endpoints reference an id from the auto moderation rule.
Yes! Sorry, I forgot it. Done!
This appears to be fixed, however I'm leaving this open for a discord employee to close with confirmation
Yes, this is fixed. Sorry I forgot to update you on this
Somehow, an user needs to close the modal to read the error and then re-open the modal. If that case is unhandled, all fields are cleared.
That would be the worst behaviour users can expect. So unlikely, if something is wrong in the modal, bots don't have a great option to tell the user actually what's wrong with that.
Also when pressing a button, most people are saying that the fact of scrolling is really bad. Imagine needing to scroll down to read the error message and then scroll back up...
For now, ephemeral messages could be used to reply to interactions to display errors to a specific user.
That said, I understand that they don't have the same error styling, and I could definitely see how it would make a good addition and make app errors feel a bit more native.
Hi all, it looks like we mainly have two issues being reported here:
- setting
default_member_permissionswhen creating a command causes the command to not show up until the command's permissions are updated (#4959) - having access to none of an application's commands makes the slash command picker confusing, because it continues to show the application's icon on the sidebar (#4895)
Because we have more specific issues for these issues I'm going to give this one a close. If you have ...
In addition, when using selects, using an ephemeral response as an error message means that what is selected in the select changes. (When an interaction fails, for example, what is selected is reset).
An error response type could help with this
Looks like this has shipped, so should this PR be reopened now? (it needs some edits though)
Description
When publishing my commands, Discord is replying with a 429 Bad Request error and says that "command name toggle got already used is this options". So I can't publish /logs toggle and /xp toggle commands. Renaming one of those two commands like logs enable will make things work correctly.
Steps to Reproduce
Just make a put request to https://discord.com/api/v9/applications//commands with the following JSON* plus headers that only contains an Authorization with...
429 is an HTTP status code for ratelimits.
internally we've been naming this FLAG_TO_CHANNEL. But i think we should improve on the name. Flag is a bit ambiguous so I'm thinking of the log term instead. And instead of LOG_TO_CHANNEL, maybe we just use LOG_MESSAGE? Mentioning channel in name seems unecessary and it'll be consistent with BLOCK_MESSAGE. What do ya'll think 🤔
I agree, but I was thinking about another idea and I don't know if it can be LOG_MESSAGE or MESSAGE_LOG. I'm hesitating a little bit because you mentioned that LOG_MESSAGE will be consistent with BLOCK_MESSAGE. It's only an idea. What do you think?
Get a list of all rules currently configured for guild. Returns a list of [auto moderation rule](#DOCS_RESOURCES_AUTO_MODERATION/auto-moderation-rule-object) objects for the given guild.
This functionality is not released yet
When will it be considered released? This seems to function properly on desktop (including client filtering) and also blocks commands being used on mobile
afaik it is not supported in dms yet, it is in development though
Add /guilds/{guild.id}/users/{user.id}/banners/{hash}.{PNG||JPEG||WebP||GIF} to the CDN endpoints table in Reference.md
this is incorrect (it is not the avatar field) and also pointless because the banner field is not exposed to applications.
forgot to change the avatar
and the last time i checked my bot received banners for guild member payloads
interestingly now it doesn't
Oh, I'm sorry.. I get a 400 Bad Request error... 😅
{
code: 'APPLICATION_COMMAND_OPTIONS_NAME_INVALID',
message: 'Option name toggle is already used in these options'
}
Minor change to language in warnings above Channel and Message Types to indicate that some types are also available in newer API Versions, not only a single API version.
> Type `19` and `20` are only available in API v8 and higher. In v6, they are represented as type `0`. Additionally, type `21` is only available in API v9 and higher.
We currently have no plans to raise this limit.
Something we have considered, regarding your point on music bots taking up slots, is allowing apps to connect to multiple voice channels in the same server, but no guarantees or timeline on that though.
Added in 15abf0aa376c3d893bdf02432e40206d2cbdf946 -- thanks for taking a look!
Description
I wanted to add roles while making the member join but for some reasons it doesn't work or the documentation is wrong ?
Steps to Reproduce
await fetch(`https://discord.com/api/guilds/${ServerID}/members/${UserID}`, {
method: "PUT",
headers: {
"Authorization": `Bot ${botToken}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
access_token: access_token,
roles: [rol...
For "Additional context" the bt is Admin so it can give roles.
Add a "Additional Context" space for bug report.
You can just use the description, also why is this required?
It looks like you're passing raw numbers into the roles array. Snowflakes are passed everywhere as strings because this happens when you try to stringify a snowflake

This field was removed in API v10 but was overlooked in #4927
required
Yeah forgot it, it should not be required but in description you just have to describe the bug so that's why I think they should add a Additional Context element
It looks like you're passing raw numbers into the roles array. Snowflakes are passed everywhere as strings because this happens when you try to stringify a snowflake
Yeah I see I just tried as string it work perfectly I don't know why when I first tried it was not working I probably did it in wrong way ! Thanks anyway :)
any important relevant information should be in the description. also, Informations is incorrect
Of course. There are many guilds that restrict the possibility of using external emojis only for active people (as a reward for participating), for example. Having to use unicode emojis on servers that don't have that permission enabled makes app design unnecessarily inconsistent.
I'd be wary about the word "chat" here. Does "chat" have semantic meaning in the API / this documentation? If not, it might not even be worth mentioning that there's an associated text channel since all voice channels will have a text channel. The distinction will only mean anything to devs who used the API prior to the release, because after there will be no concept of a "voice channel without text".
Will this be added to mobile at some point?
I run a couple decent sized bots and want to switch over to slash command perms for the benefit that guilds have complete control... but the lack of mobile support for command permissions is kind of a deal-breaker. If I rely solely on command perms I can just imagine questions from all the mobile users who don't have that option.
The new command permissions system is awesome... the ability for guilds to control which users/roles have access to commands, and in which channels, means that as a bot developer I don't have to worry about coding a permissions system into my bot.
However, managing slash command permissions is not currently available on mobile. If you try to go to the "Integrations" page under "Server Settings" you are met with the following screen:
Protocol FR13NDSH1P can only be executed from the ...
one day i'll sleep my dudes
It's really annoying when your buttons look something like this:

At the moment I solve this issue by adding an ungodly amount of \u200b /u200f and /u2003 characters.

 already look 10x worse than the current desktop buttons so I doubt discord cares.
I don't believe it would be a huge issue if they could be aligned properly on desktop and keep the current look they have on mobile.
Fix typo in docs/resources/Audit_Log.md
Fixes a typo in Audit Log Events, in the MESSAGE_PIN event.
Mobile would still benefit from the full action row parameter. In this case it would just fill the normal max width of mobile rather than the whole action row
| guild_id | snowflake | the guild which this rule belongs to |
| name | string | the rule name |
As well as the ones below ("the rule ...")
The parameters should be ordered according to the json table.
This allows for the optional in the table in Application_Commands.md to match the formatting seen in other pages in the docs. If this is approved, or liked, I'll go through the docs and make sure they all have the same formatting choices across all pages.
Huh, I didn't see that page. Makes sense now. Closing pull request.
Description
Guild commands take almost the same time to refresh when they being edited, so fast development or testing isnt possible.
The commands are registered but they are not visible (after 10-60 Minutes they are) when I type / in the chat.
Even after multiple restart (the bot and the client) nothing. Its annoying to wait half an hour and somethings longer just to test a new feature or something else.
Steps to Reproduce
- Add a slash command
- Update the OptionData
- Bo...
This doesn't happen. I tested this by deleting an alt myself, and waiting the period it takes for the account to be "pruned." The username is now "Deleted User," and I observed correlated GUILD_MEMBER_REMOVE event on the server it shared with my bot, but... no email!
remove request format from resource structure section (as opposed to the actual get guild widget request).
We ended up archiving the specification attempt by JSON and simply implemented the Go Types at https://github.com/switchupcb/dasgo. These types are pulled from a generator (such as one implemented in https://github.com/switchupcb/disgo) which makes maintaining the thousands of lines of code super simple.
As of now, we have to re-implement the fields according to the new dasgo specification and the roadmap in Disgo (a few features + examples + testing) and it will be completed. There were a lot of issues with the current Go options which I will outline in a report.
Hi,
The current timestamp formatting options are extremely limiting and difficult to work with.
For instance there is currently no way to show weekdays without using the absolute longest option, which is really hard to make look good.
What I'd like to see is formatting like date-fns format() that is based on Unicode technical standard #35
https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
https://date-fns.org/v2.28.0/docs/format
Why don't use HEX colors and change it directly in css? You could use parameters to set style like: border color, background color, text color. I don't think that limit a developer option in something like this is any good, everyone wants that, so why not?
And last, but not least:
"green to indicate success, red to indicate danger" this is horrible color choice if you want to talk about accessibility, since I know people with Protanopia, which is a colorblind type that can't differ between ...
this is horrible color choice if you want to talk about accessibility
Yes, but this is something that a colorblind mode can handle, while custom colors would be far more challenging. So you kind of made an argument against custom colors with this. You are not choosing colors, you are choosing button styles (which can be represented differently by clients, depending on settings) unlike custom colors.
The fixed formats were chosen because they are i18n friendly. Arbitrary format strings can lead to cases where it looks better in one language but looks unnatural in another language.
You are not choosing colors, you are choosing button styles
If you can set border color and background separately you are changing what you call "button styles", since the only difference between styles is background color and the type(success, destructive???, etc), nothing more.
but this is something that a colorblind mode can handle
Since Discord don't care about creating this mode, it doesn't change a thing to be challenging or not, you have to install something to change color...
That's surely something that can be accounted for.
If it's not then adding a short and long weekday (i.e Wed & Wednesday) and a shorter long date like 24. May would be just fine.
To be a bit more explicit, the current system just uses the locale to render the date how someone would expect it (e.g. MM/DD/YYYY vs DD/MM/YYYY) using a short set of strings that allow Intl.DateTimeFormat to work with that constraint in mind. Free form format strings like the ones in the Unicode TR35 would make it possible for a user to create a format string that would look fine in e.g. en-US locale but look foreign in ja-JP locale.
Adding additional locale-independent formats for wee...
Yeah, I get that, it's nice how it's implemented it's just frustratingly limiting.
I'd be pretty happy if I could just have long and short weekdays though.
Cannot reproduce on latest stable 126.12. If you're still having problems can you provide an example config?
Thanks for the PR, but I think context can go in the bug description!
d01200e Clarify some Channel/Message Types' API Version... - bachmacintosh
91d41fe chore: Set permissions for GitHub actions (#4953) - naveensrinivasan
e0879d2 Update create and modify channel documentation ... - advaith1
This command setup seem to work for me at least, this is my payload:
[
{
"name_localizations": {},
"default_permission": true,
"name": "xp",
"options": [
{
"name_localizations": {},
"name": "toggle",
"options": [
{
"name_localizations": {},
"autocomplete": false,
"name": "toggle",
"description": "No description",
"description_localizations": {},
...
Uh, really? That's strange, let me try..
Thank you for your response.
Mh.. I made a request by only keeping essential data like you, and it seems to be working... (I apologize for the displaying of the code...)
[{"name":"logs","name_localizations":{},"description":"Permet de gérer le système de logs.","description_localizations":{},"options":[
{"name":"channel","type":1,"name_localizations":{},"description_localizations":{},"options":[{"name":"salon","name_localizations":{},"description":"Le salon où envoyer le...
Functionality to support this has been merged and is on its way to canary.
Functionality to support this has been merged and is on its way to canary.
not the biggest fan of the "alert" term here for this use case (even in the frontend) but will change it to that for now for consistency with the frontend 👍 good suggestion
Here are the checks I made:
- [x] Getting a successful response by keeping only /logs and /xp (see above)
- [x] Re-checking first check after some adjustements
- [x] Adding /automod to request
- [x] Adding /userinfo to request
- [x] Adding /ping & /support to request
- [x] Adding /autorole to request
- [x] Adding /language to request
- [x] Retrying with old data I was sending when getting the error
- [x] Resetting code to the default one that was glitching
Well, it's working... ...
Ok. I'm sorry for all of that. It seems I made a mistake in my code. The error came back, so I removed all of the commands one by one, until I was sending only the xp command. Then, I checked the data sent, and saw that:
[
{"name":"xp","name_localizations":{},"description":"Permet de gérer le système d'expérience du serveur.","description_localizations":{},"options":[
{"name":"toggle","type":1,"name_localizations":{},"description_localizations":{},"options":[
...
[discord/discord-api-docs] Pull request opened: #4982 Add missing external sticker permissions error
Also, is the code meant to be 50600? seems odd
Due to a misinterpretation of the current DM limits and because there was a server blackout, my bot ended up sending DMs to notify users they got kicked out of a channel. My bot was flagged for this reason and although we removed all unsolicited DMs and submitted two appeals, we have not received any response yet and it has been more than 2 months now.
Is there anything else that I could do apart from submitting an appeal to get my bot whitelisted?
I know this is slightly unrelated to ...
For HTTP-only bots, I can see them simply returning a 4xx or 5xx with a simple message in their body. All Discord has to do is set that message for the error message.
\*\* For custom emojis, the emoji's name isn't required for rendering the emoji and may be replaced. For example: :_:`
it doesn't have to be replaced with an underscore, any string works so i think the docs should reflect that
Might wanna send them your ticket ID so they can find it. There's been issues in the past with tickets in this queue :S
Thanks, this is properly 404ing now
is this still happening? not able to repro :(
41456d4 Reclarify admin access with `default_member_per... - GoogleGenius
c1d52d1 Missing sticker permissions error (#4982) - Jupith
3171417 Clarify that permissions can apply on applicati... - freyacodes
6cb62f1 fix guild widget structure (#4979) - switchupcb
Do any of these notes need to be moved over to the gateway table?
is mentions specific to gateway? it's included in both tables
8b0af6c Remove removed embed param (#4970) - advaith1
Thanks for the PR. Although this may be functional, we do want people to specify the name of the emoji in custom emoji syntax.
Hi @DenuxPlays this is not expected behavior. Can you provide some sample curls for the exact guild command you're testing, so we can reproduce your exact issue?
This will be fixed in later versions of Android
We dont intend to support this functionality at this time, sorry.
is this solely a documentation issue? have you tried passing privacy into the party struct?
@Vicente015 I wasn't able to reproduce. Is this issue still happening for you?
Trying to understand the problem and it seems that sentence in the docs is misleading. Autocomplete interactions for typing-in-progress will send string values, including empty string. A numeric autocomplete shouldn't allow data to be submitted as an application command if it doesn't pass client validation though.
It is not, but the difference is that the gateway one has the additional member field inside of the user. Do you have any suggestions how I might document this better? I couldn't come up with a better way to say it other than include it in the table.
The first note was removed completely because the fields were moved to the gateway page. The second note was changed to one * and is kept - it doesn't seem like Git correctly picked up on this though.
The same thing applies to the rest:
***was removed because of moving the definition****was also removed when moving (could be re-added, see your other discussion https://github.com/discord/discord-api-docs/pull/4915#discussion_r881940999)*****was renamed to**- `****...
Hmmm yeah that's tricky...in that case maybe leaving it where you added it is fine. We could also keep that in the description or add a footnote to the Channel.md table with that information (and maybe an INFO callout above the gateway table that also the difference).
I slightly lean towards the option I described so that there's consistency with other tables (and they'll already be referencing the Channel.md table for other fields), but I'm also fine keeping it the way you have now.
Ohhh there's a merge conflict as well—I can fix that if you don't want to
I can no longer repro this, the only thing I can notice is a separate (but possibly related) issue where the bot avatar shows as default in chat unless its been cached before by the client.

This should help with keeping the GitHub actions updated on new releases. This will also help with keeping it secure.
Dependabot helps in keeping the supply chain secure https://docs.github.com/en/code-security/dependabot
GitHub actions up to date https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot
https://github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool
Signed-off-by: naveen
this description is very vague
I'd imagine the best solution would be to validate that the value's type matches the slash command option's type API-side.
This way even if there's a bug in client code this won't leak through, but instead display an error in the client (or just get ignored silently)?
this is because I copy pasted this for a different section and forgot to change it 🤦♂️
how does this sound?
keyword_filter -- words to try to match in content
keyword_lists -- which pre-defined lists of words to try to match in content
Also keyword_filter and especially keyword_lists are not good names. We will prob look at changing this before API is released
Can you make the indentation consistent? Preferably with the prettier config in the repository
[discord/discord-api-docs] New comment on discussion #4914: Allow to disable commands for admins too
On my testing server (I am the owner) I have a channel for each bot. Each bot's permission is set so they can only access their specific channel. I set up command permissions in server settings but all the commands still show in every channel. So I'd like to be able to hide the non applicable commands, or at the very least have them sorted to the bottom. It would make using slash commands in my server a lot easier.
This is more of a client request but it has to do with slash command permissions so I think it still belongs here.
One of the bots on my server defaults to changing permissions for a lot of the commands. However, I want to sync all of these commands to some other restrictions I set. Currently the only way to sync them all is to go into each individual command and press sync and save. Not only do I have to do this on a lot of commands, but I have to do it slowly due to each one being an ind...
Description
I'm seeing people having problems with slash commands more and more when it comes to a field accepting a user tag.
In this example the user types: (Pics show it clearer)
/mod_channel_create
They select discord_tag so it changes to:
/mod_channel_create discord_tag:
Start typing @Ult and select @Ultimate from the pop up. It changes to:
/mod_channel_create @Ultimate#676
Notice its deselected the discord_tag option
Anyone else experiencing this or have a way around ...
Description
Hello! I sharing an issue today. The App Directory preview was just launched a few minutes ago for us bot developers to see on what to expect from our Apps pages, however one of the most important parts for me personally appear to be not working correctly, as per shown in the image below.

Steps to Reproduce
Go to app directory and add a hyperlink to the lon...
It would be cool if custom emojis from the specified support server are rendered.
While the `data` field is guaranteed to be present for all [interaction types](#DOCS_INTERACTIONS_RECEIVING_AND_RESPONDING/interaction-object-interaction-type) besides `PING`, its structure will vary. The following tables detail the inner `data` payload for each interaction type.
As mentioned in the table above,
PINGinteractions never have adataproperty.
Unless I'm missing something, the table above indicates that PING never has the locale field available. It doesn't seem to mention anything about PING's data field.
small wording
\* This is always present for select menu components
Very small thing, but typically a blank line exists before each header so I think this should stay
\* This [can be partial](#DOCS_INTERACTIONS_APPLICATION_COMMANDS/autocomplete) when in response to `APPLICATION_COMMAND_AUTOCOMPLETE`
The current documentation states
*** This is available on all interaction types except PING
ref
If this is not the case and something that should be communicated to the end user, then I understand. I tried my best to retain the current understandings in this PR since the original motivation was just to clarify the existing documentation, not add any new information.
I think
keyword_filter- Words to match againstkeyword_lists- Predefined wordsets to match against
would sound better. And as for names I think would be better to use keywords and keyword_presets
Unless I'm missing something, the table above indicates that
PINGnever has thelocalefield available. It doesn't seem to mention anything aboutPING'sdatafield.
So yeah, I believe the footnote of the Interaction Structure table [implicitly mentions](https://github.com/discord/discord-api-docs/pull/4909/commits/9afd84ccf4502058a96bda6c6a616d0c178f26b2#diff-b44c2bafd9f1fb4cd3383e25770ef07d972796aa56dedd73ba1a7853df2d62d0R31 in the footnote) that PING should not be expected to...
Bumping this, any ETA?
dm_permissionno longer nullabledefault_member_permissionsno longer optional
The types are exactly equal to the values, do they need to be repeated?
warn
These string values will most likely be changed to integer values before official API launch
I guess modals are now multiline slash commands
This suggestion about the synchronization of the application command permissions. Not about the synchronization of the commands themselves.
The same solution can be applied to both.
Description
When i go to submit / enable my app discovery it mentions "Your application commands may not contain any harmful or bad language", even though my bots slash commands contain no harmful language, i have gone through every single command and disabled them and it still says the same thing, i even waited 24h to see if it needed to propegate but still no luck
Steps to Reproduce
idk why it is like this. maybe to write a harmful command name...
Expected Behavior
it shoul...
You may want to provide your application ID so someone from Discord can take a look :)
Yeah here: 925799559576322078
It's already in development and you can actually try it setting the nsfw field to true
From what I experienced, it won't show the command in DMs if you're underage or in a channel not marked as NSFW, but it isn't finished yet (that's why it isn't documented) — Idk what's left though, but hopefully it will release soon
Problem
App directory is currently only available to verified bots.
Why this is really bad
App directories are how most people discover new bots (eg. top.gg among others).
If Discord decides to make their own convenient directory of bots, it will likely be used instead of other sites.
This makes it nearly impossible for new bot developers to emerge.
If a bot developer creates...
The new slash command triggers, such as typing hello!, $, >, +, - all trigger the slash command text box.
This discussion is to be a center of all the issues users have found with why this is a bad decision, things that would be extremely frustrating for users:
!triggering inside the message- wanting to type something like a stock
$HCP - adding to their previous message like
+and this and that - generic
-within a message for demonstrating pause - other similar cal...
I don't have the issue you mentioned. For example, typing hello! doesn't trigger the menu.
I think educating users about new slash commands is required for a smooth transition, and showing a suggestion when a user is using an old-style text command is a good idea. Note that they are only suggestions, they aren't selected by default. If you ignore the suggestion and just type your message, the message is correctly sent, as expected.
Many bots devs have already shown that this education...
the issue I have found personally is not that users do not know slash exists, but that they do not like it. I have asked many non-devs and they all do not like the UI at all (most likely because its quite cluttered with a lot of bots) and hard to find commands well
Description
Fetching an invite to a private voice channel (i.e. with view channel or connect permissions denied for @everyone) without authorization returns an object that is lacking a channel field, but contains "channel_id": null. The documentation states that channel is nullable, but not optional.
It appears to work fine with other channel types (text, stage, forum), or when fetching the in...
Description
Client doesn't allow selecting the managed boost role to set permissions.
Steps to Reproduce
Have a server which has a managed boost role
Try to set permissions for a command in integration settings for that role.
Expected Behavior
The role shows up in the list
Current Behavior
The role does not show up in the list
Screenshots/Videos
No response
Client and System Information
Canary 130019 (71dc42b) Host 1.0.46 Windows 10 64-Bit (10.0.22621)
Why is this closed when the issue isn't fixed yet?
Cause its not an issue, its an feature thats not been added, nothings actually broken
I also have exactly this problem, could I provide my bot ID here? or should I open a new issue?
I don't like this personally.
I think this should be able to turn off by settings, or show Try using slash command! [Dismiss] under the textbox when user typed symbol.
You can luckily disable it by right clicking the message input box.

I see now the accepted change below already addressed this. Talking with ckohen in Discord, they have no further comment on this specifically.
As we know discord rolled out a new update where messages starting from ., -, ? etc also show matching slash commands, For e.g. ?ping will show all the /ping commands matching for that guild.
In my opinion, we can take it even further and allow bots to tell discord their prefix. This can be global and per-guild just as slash commands. This means if I set my bot's prefix to k!, upon typing k!ping I will be shown the /ping command for my bot only.
To better explain this,...
I opened a ticket for Discord's API Support with the category "API Question" more than a month ago. Still no answer.
Now yesterday I opened a new ticket for Discord's general support to ask what's up with the ticket. Someone answered in my first language today and will now forward me to the English-speaking team. Let's see if they can tell me more.
As of now, I only see inactive posts on the Feedback hub and closed issues on GitHub. There is an [issue where a Discord employee ](https://gith...
I believe this is temporary, to help users to move to/discover slash commands before the message content intent enforcement (where a lot of bots will not be able to support text commands anymore)
I'm not seeing Discord adding much things in this feature tbf.
lol i doubt it, probably just role tags filtering not being specific.
fix for this is deployed
doesnt seem to work anymore, im getting the same thing
Yeah, its probably checking for the managed tag and just the managed tag. If there's anyone with twitch or youtube integrations, I'd like to know if those roles can be selected or not.
Description
The APPLICATION ID for a discord application is the same as the CLIENT ID.
Having two names for the same information is redundant and causes confusion.
Welcome documentation uses CLIENT ID: https://discord.js.org/#/docs/discord.js/stable/general/welcome
Routes.applicationGuildCommands(CLIENT_ID, GUILD_ID),
Source saying they are the same information: https://support-dev.discord.com/hc/en-us/articles/360028717192-Where-can-I-find-my-Application-Team-Server-ID-#:~:tex...
The client ID is listed here because the Oauth2 spec references a client ID. It just happens to be that Discord uses the application ID for the client ID. I don't see any issue with listing the same value twice under different names.
Additionally, on older applications the client ID & application ID are different
Additionally, on older applications the client ID & application ID are different
No, it's the bot ID (user ID) that is different from the client/application ID.
I don't see any issue with listing the same value twice under different names.
Additionally, on older applications the client ID & application ID are different
No, it's the bot ID (user ID) that is different from the client/application ID.
This is the issue of listening the same value twice under different names.
Twitch integratoin roles also do not show up in the list
the oauth2 tab uses "client id" because that is the name in the oauth2 spec, so non-Discord-related oauth2 libraries and stuff might ask you for a client id. Discord generally calls it the application id.
Welcome documentation uses CLIENT ID: https://discord.js.org/#/docs/discord.js/stable/general/welcome
discord.js is not affiliated with Discord; Discord uses application id in the context of commands.
I'm not seeing Discord adding much things in this feature tbf.
They can, though.
Background
2FA is pretty good feature for security. mfa_level (2FA requirement for moderation) is good feature to encourage (almost force) guild (server) operators to enable 2FA, by requiring it for their duty.
However, almost all moderation bots allow bypassing 2FA requirement, checking only permissions and roles, probably because there is currently no reasonable way to enforce it without adding extra hassle besides the requirement itself.
Currently it is possible to determine ...
Description
When adding a name_localizations dictionary to commands the name field is still being shown in the UI.
Steps to Reproduce
Create an application command with a name_localizations field and change your language in Discord to test the localized name.
Type in the /{localized name} command and you'll see /{name} in the "COMMANDS MATCHING" section
Expected Behavior
I expect the localized names to be shown as the matching command names.
Current Behavior...
You currently need a build override to see localizations, you can click here to apply it (or paste the link into de...
Ok, so localization is still in testing then. The roadmap made it look like it was done.
Alternative: Apply an artificial 3600-second delay to all application command updates (#4025)
[discord/discord-api-docs] Issue opened: #5001 Localized application commands not matched when typed
Description
I have some localized commands, and they appear as expected. However, it is impossible to manually type command names in the target locale. The interface only matches the default/English command names.
Steps to Reproduce
Attempt to type in a slash command's localized name (with client using corresponsing locale and feature/web-slash-command-localization).
Expected Behavior
I would expect that Discord would match the localized name.
Current Behavior
Discord o...
Looks like a Duplicate of #5000
In #5000, the unlocalized name is showing when the localized name is typed. Here, no name is showing up when the localized name is typed. And the localized name appears when typing the unlocalized name. They could be related, but I don't believe they are identical
Ah, very slight (but important!) differences.
This should not be happening. Could you provide more context? Have you tried refreshing your client after making the request?
They're trying to move away from prefixes and text commands, this is to make users who still aren't using slash commands see that they exist.
Any updates on this? There has been 1 PR merged in the past year...
All markdown items are displaying incorrectly (bold, italic, code, hyperlinks, etc)
@shaydewael It appears this was not actually added in the linked PR. I thought it was too, but it no longer appears to be the case.
instead of limiting it to certain servers, can we have support for all custom emojis
- [x] > instead of limiting it to certain servers, can we have support for all custom emojis
This should not be happening. Could you provide more context? Have you tried refreshing your client after making the request?
Yes I tried it also using different Discord Versions (Dev, canary, PTB an stable) all the same.
Hi @DenuxPlays this is not expected behavior. Can you provide some sample curls for the exact guild command you're testing, so we can reproduce your exact issue?
It seems that no specific command causes this issue its more like "yeah updated or added a command" but the client does not show it but in the api are the commands registered.
Description
I run an anti raid bot called Beemo Helper which is a third-party extension of Beemo, the two thousand nonmember ban limit prevents me from dealing with raids as sometimes just when I ban users they leave the server and I get rate limited. So I hoping a skip parameter could be introduced to the ban endpoint to skip nonmember bans and thus not get rate limited.
Steps to Reproduce
Encounter large bot raid where they leave right after sending their spam.
Expected Be...
+1 a paramater to skip bans if its going to result in the non member ban counter incrimenting would be great.
Adding additional context, especially for the named use case (antiraid bots) it would be a huge plus being able to avoid hitting this rate limit. Sometimes, especially in big raids, due to various latencies and request queueing, you can't be fully sure if a user is actually still a guild member by the time the ban request is sent. Even if you try to GET /members/:id before every ban, there is still a real chance the user has left the guild in the time between discord sending the member respon...
This will become a problem, if the app directory becomes the standard for server owners to find bots.
If unverified bots get no exposure then they will not grow and the developer will just abandon the bot and stop using the discord API all together.
I have 1 verified bot and a few unverified. (1 being a backup bot for my verfied incase that has any downtime).
unverified bots take a while to grow as it is.
The only problem with it and this is a general problem with slash commands as a whole, is that prefix commands can be used to know what bot will execute the command, but slash shows all the bots which have the same command. And sometimes the user just types and runs the command with out checking what bot that command is going to.
On Tue, May 31, 2022 at 00:01 Jake Birchall @.***>
wrote:
This will become a problem, if the app directory becomes the standard for
server owners to find bots.If unverified bots get no exposure then they will not grow and the
developer will just abandon the bot and stop using the discord API all
together.I have 1 verified bot and a few unverified. (1 being a backup bot for my
verfied incase that has any downtime).
unverified bots take a while to grow as it is....
Why is this needed ?
The guilds.join Oauth2 scope can be very useful. It allows you to add a user to a guild, with the roles you need.
This can be very useful in a lot of situations, but two notable ones are :
- Joining a guild that requires linking your discord account. Using the code grant allows you to add the user to the guild, bypassing verification and giving the user the right roles.
- Joining a private guild. The web server can check a database or any other authenticat...
If the point is to reduce abuse, that would imply asking abusers to use this more limited scope rather than the more permissive one, which they would likely not do. Unless you're asking to fully replace the current scope with this one, I'm not sure this is really useful
I would love to have the option to not only have text input but also booleans as a checkbox or switches possibly. Instead of having the user just type "true" or "false"
Honestly it just seems like poor UX to me. I'm not always trying to input a command when I use certain symbols in a message, and having slash commands pop up as suggestions to use is incredibly annoying, even as a dev. It feels like Discord looked at all the people saying "slash commands have awful user experience built around them" and decided to make them even more annoying :/
You would use it to search through these titles in the posts:

The search bar could be placed here:

The search function could have a drop down where you can choose if you want to search the titles or the post content, but mostly it is the titles that would be nice to ...
@nerdguyahmad I see that is true, I have the suggestion with pictures and explanations on how it could work.
this repo isn't even the correct place for suggestions
The server sould do this:
- Store temporary old message
- Edit the message
- If the message was edited:
Send the event with (old message, new message) - Delete old message

Says Feature Requests
@AlmostSuspense could you tell me where to go then got pointed to here.
that's for api feature requests, yours has nothing to do with the api. there's no place where your product feedback is actually looked at if you're not in the closed testing groups
Description
I made a bot before and that was working.
I deleted my app and make a new one in another discord account.
but when I enter a new token instead of an old one
I receive this error:
File "c:\Users\Behrad\projects\Discord.py\main.py", line 82, in
bot.run("OTgxMTkyNzQ1NjIyMzExMDAy.GUxjlA.3ca377klZS541ICP2knI_dAx8aWxzLqYzBq3uc")
File "C:\Users\Behrad\AppData\Roaming\Python\Python310\site-packages\discord\client.py", line 723, in...
I recommend reading the error, it tells you exactly what is wrong:
Shard ID None is requesting privileged intents that have not been explicitly enabled in the developer portal. It is recommended to go to https://discord.com/developers/applications/ and explicitly enable the privileged intents within your application's page. If this is not possible, then consider disabling the privileged intents instead.
This means you have to turn on the privileged intents in your application dashboar...
Also, for security sake, I created a gist to try and reset your bots Discord token as it was visible in the traceback you sent.
You should have received a message from Discord about this. If you didnt, please make sure to ensure that you reset it :)
I recommend reading the error, it tells you exactly what is wrong:
Shard ID None is requesting privileged intents that have not been explicitly enabled in the developer portal. It is recommended to go to https://discord.com/developers/applications/ and explicitly enable the privileged intents within your application's page. If this is not possible, then consider disabling the privileged intents instead.
This means you have to turn on the privileged intents in your applicatio...
We'd love to see a proper way to avoid non-member bans to not run into such situations.
The proper way would be to lift the nonmember ban rate limit and instead limit the total number of bans per guild, monotonously increasing with guild age and member count.
I think it needs a little bit more info here. On line 171 there's an info block already for message content, so maybe add to that or make a second one, but call out then when running the webhook in a forum, one of thread_name/thread_id is also required, the former creating a new thread, the latter posting into an existing thread.
I think it needs a little bit more info here. On line 171 there's an info block already for message content, so maybe add to that or make a second one, but call out then when running the webhook in a forum, one of thread_name/thread_id is also required, the former creating a new thread, the latter posting into an existing thread.
How are webhooks created for forum channels?
Oops, accidentally hit the close button
@onerandomusername Support for webhooks in forum channels is rolling out today.
bf7185b Document thread_name for execute webhook (#5007) - danb10
When wait is true, is the created thread returned when thread_name is provided? Or just the created message?
FYI support for this is now fully rolled out (@onerandomusername)
Our bot uses a lot of emojis in embeds, for example:

To this end, we have a number of "emoji servers" where no one ever talks there, it just exists for us to upload 50 emojis and then the bot can use them. It's a very inconvenient system, especially because when people what to make development bots we have to invite the dev versions to every single emoji server.
I'd like to...
A workaround for this issue is to turn some of your emojis into 1 frame gifs, which lets you use all slots a boost-less server can give you. It might not always be ideal but it basically half the number of emote servers you need
as advaith referenced ^ we're currently working on internally migrating field type and some field name changes to make the API clearer and more consistent. Will update the docs after internal migrations are done
Description
kinda off topic but~ looks like token length got increased recently and the secret scanning on github was not updated to reflect this, as of now tokens generated wont be reset and the user wont get a system DM.
Steps to Reproduce
Post a new token in a gist
Expected Behavior
Its reset
Current Behavior
Its not
Screenshots/Videos
N/A
Client and System Information
N/A
Same goes for the regex in the client
This seems to be working fine?
Well, I will remove that. Thank you!
| SEND_ALERT_MESSAGE | 2 | logs user content to a specified channel |
| TIMEOUT | 3 | times out user for specified duration |
| channel_id | snowflake | SEND_ALERT_MESSAGE | channel to which user content should be logged |
| duration_seconds | snowflake | SEND_ALERT_MESSAGE | timeout duration in seconds |
>info
>Only trigger type 1 is permitted to use `duration_seconds` in metadata
Description
Apps Menu and Context Commands (right click message/user > Apps) do not show up in Text-in-Voice channels.
Normal slash commands still work.
Steps to Reproduce
- Create a context-menu command to show on a user or message.
- Right click a message or username in a TiV channel.
Note that there is no Apps submenu.
Expected Behavior
When a context command exists, there should be an Apps submenu when right clicking a user or message in a TiV channel.
###...
d0564c4 Remove gateway API versions - shaydewael
API versions = Gateway versions since v6
6be6217 Update Gateway.md - shaydewael
With text-in-voice, voice channels can be set as nsfw and have text-based-channel permissions.
hmm, that's an interesting idea...maybe we will start doing that and backfilling the servers we have instead of making new servers for now. I'd still really like a proper implementation of emoji repositories that bots (and human nitro users) can use though.
They also do seem to support rate_limit_per_user. It doesn't show up in the client but it definitely seems it be enforced by the api.
How will autocomplete help? There is a limited amount of options, how can you add autocomplete? What will it complete?
it lets you type in the select to filter the choices, just like on the bot add screen. discord could either support filtering results or let you dynamically return select options (or both)
It would be so great to have a button to resend a command that was successful in its execution. This is already done with commands when the application does not respond, so why not those that worked?
As a developer, it would help me waste less time when I make incremental changes on a command what want to try it over and over with the same arguments without having to copypaste or type everything again.
Or perhaps, something to instantly bring the whole command arguments to the message ...
It's the autocomplete interaction similar to that of what is currently present in slash commands. It would allow bots to send more fields to the user than the 25 fields available based on what the user types.
Would increase the versatility of selection menus and technically allow more fields than currently present
Description
Command localisation (https://discord.com/developers/docs/interactions/application-commands#localization) is documented as if its been released which isn't the case, there's also zero indication around when it may be released, if its at all considered "stable" etc etc.
Steps to Reproduce
Look at the documentation
Expected Behavior
The state of this feature should be mentioned.
Current Behavior
The feature is documented as if it's been released despite the ...
9b7ae9b Update API version for threads (#5011) - shaydewael
9e64934 Remove gateway API versions (#5012) - shaydewael
The secret scanning on github should be updated now to support the change in length.
My personal use case is for an LFG bot, in order to create new groups, but there are definitely tons of interesting use cases (e.g. moderation, search). I think this is a compelling feature to add because (at least superficially) it appears not to require any modifications to the backend--the only thing really preventing it from being possible already is the lack of an entry point on the UI.
A possible solution could be to use something like the current "+" button.

You can't pass arguments to those though ._.
Back to the good old days of manually parsing strings
use modals
also... I don't think context commands for channels are a thing, so you can't even use a context command on a thread? (I have no way to test this though)
It also doesn't really make sense (semantically) to e.g. create a new post through a context command on an existing post?
(I'm not saying there aren't ways to work around this, I'm just saying that I think the feature is worth adding! This comment section currently is just "here's a way to emulate your desired behavior"...
This could also be a good way to provide users with pre-filled slash commands! I think this is addressing the same pain point as #3929 and #3288, and it would be good to have a feature to fill this gap.
it says closed as completed but it is not completed
Description
this issue applies on all bot integration permission. None of the 8 bot permission list the nitro booster role in the role list
Steps to Reproduce
Integrations->Bot->Add Roles or Members
list doesnt show the default nitro booster role at all
Expected Behavior
Role list is suppose to nitro booster role, the default role that discord creates for each server
Current Behavior
Not even listing the nitro booster role
Screenshots/Videos
No response
Cl...
220003 - Webhooks can only create threads in forum channels
| Field | Type | Description |
| ---------------- | ---------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------|
| id | snowflake ...
^^ this change should also be made for the create endpoint's json params
@night wanted to flag up that the twitch api does support getting animated gif emotes for the sub sync now. Assuming you use the Get Channel Emotes endpoint, the “format” array/list in each emote listing will specify if an animated one can be requested. It would be great if discord could now support this for the benefit of twitch subscribers 👍
Description
When sending a message through a webhook, if you provide a custom avatar_url, it returns no avatar hash on the return payload.
Steps to Reproduce
POST https://canary.discord.com/api/webhooks//?wait=true
{
"content": "Wow!",
"username": "Username",
"avatar_url": "https://i.natgeofe.com/n/82fddbcc-4cbb-4373-bf72-dbc30068be60/drill-monkey-01_2x3.jpg"
}
Expected Behavior
author.avatar on the return should have the avatar hash.
C...
Just checking back in as this issue still persists.
Hey !
I'me a nooby developer, and I had a script that used discord api to retrieve infos about my discord account using tokens (doing http request to https://discordapp.com/api/v6/users/@me, with authorization header)
Recently, it stoped working :,(
Also, I used a js script to login to my account using my token, but it (also) doesn't work (
`function login(token) {
setInterval(() => {
document.body.appendChild(document.createElement 'iframe').contentWindow.localStorage.token = '...
When will support for managing forum channel webhooks be rolled out to the UI?
@onerandomusername Forum channels should be available in the "Channel" dropdown in Integrations -> Webhooks. They still have the # prefix instead of the forum channel icon, but they should be there. Let me know if that's not the case.
Currently, given that you only have a response to a message component, there's no way to tell if the message was sent as a response to an interaction because the message interaction field isn't present in the response message.
The docs state for the message interaction field:
sent if the message is a response to an Interaction
Which in the case of a message component reply is true, yet the field isn't pres...
@danb10 The integrations tab should display in the forum channel settings page

@danb10 I didn't try that, but I am having the same problem that advaith is having. Thanks for the workaround in the meantime tho :P
What about application emojis, as a way to add emojis to an application. These would essentially not have a guild, and would be usable by the application and webhooks obviously.
Additionally, there could be Team Emojis, so emojis uploaded there could be used by all applications that are part of that team.
Description
Text in voice recently allowed using app commands in voice channels. Additionally, forum channels are getting close to release. However, they can not have command permissions disabled with permissions v2.
Steps to Reproduce
Attempt to use the UI to select a voice or forum channel in integrations for command permissions.
Expected Behavior
Forum and voice channels can be selected.
Current Behavior
You can only select text channels.
Screenshots/Videos
_No...
Perhaps they forgot to merge the client-side localisation code, as I noticed the override in the ddevs announcement expired today 🙃
iirc it won't be released until the react native android app releases
this now results in error 30052 (#5024)
That would be cool too, although for our use case specifically it wouldn't work as well because we have people who translate news for our mobile game from Japanese to English and manually type it into a news server. Everyone on this team has Nitro and shares the emojis that we use for our bot, so it's super convenient; we simply invite these people to our bot's servers.
Also fwiw I bet that making a new type of guild is, from a technical pov, a much easier task than creating an entirely ne...

It would be good if they added a selector to choose between yes and no, so that the modals have more options and are more useful.
(concept made by me)
duplicate of
- #3808
- #5004
I didn't think about this when making it but given that one of these features is released and the other is unreleased, I can make a second issue if necessary.
@hemu currently this audit log type's option contains the name of the rule which was triggered, are there any plans to provide the id of the rule as well?
maybe detecting this flag in the message and deleting it right when it is sent, for security/moderation purposes
It would seem that there is no action type for timeouts, this make finding the reason for a time out very hard.
https://discord.com/developers/docs/resources/audit-log#audit-log-entry-object-audit-log-events
Description
When you are using the View Server As Role feature and you change your roles, the slash commands shown as available will not update until you change channels. It seems like it's just an issue with the local cache not clearing.
This happens on the initial load, and any time you use the dropdown to change roles.
Steps to Reproduce
- Create a Slash Command (
/report) - Create a Role ("Reporter").
- In the Permissions V2 UI, change the /report command to only be u...
I am aware of that one but there is other things that uses that.
a timeout is just updating a property on a member object; it would not make sense to make a different type for one specific property
MEMBER_ROLE_UPDATE exists while also being a property update on the member object
from Astaghfirullah#8840.
metadata should be marked down as an optional. it seems a bit silly to have an empty dict payload represent nothing for it.
I agree, I think it would make sense for some of the other fields to be optional API side as well. Example, fields such as channel_id, message_id, and alert_system_message_id for the action execution event.
Will a user_id be added to these fields? Currently, there's no way to know which user tried to send a message if the only action was blocking the message, even if the action was timeout- the way to get which user it was is kinda a workaround.
Should the "TEXT_IN_VOICE_ENABLED" documented in guild features too? Or it wont be relevant anymore after June 29th?
Description
https://discord.com/developers/applications/641672044076990470/
https://github.com/AzazelWormwood/Jax/blob/main/litbot.py
This bot is a small nextcord.py based bot running off a sparkedhost.us server, and it is returning a 429 Too Many Requests (error code 0) error and temporarily blocking access to the API. The bot itself doesn't do anything on its own; it only responds to commands. I am not sure what would cause it to make enough requests that it hits the rate limit. I ...
Looks like sparked host does shared hosting, someone else with your IP got temp blocked from discord.. so you did too.
If that were the issue (which does make sense) then why would the error message reference my API rate limits? Even if I share an IP with another bot, my bot's API key is not making enough requests on its own to hit the rate limit.
"You" in this case isnt very clean i can understand, but your sort of expected to not share hosting.. its a bad idea as u can see.
All deletion events I've seen from the Gateway typically supply only an ID. Will this also be the case for auto moderation rule deletion?
Will auto moderation event payloads also have a general id field? A majority of other Gateway events do this
The errors for this also need a slight touching up, using guilds/../mfa wont return required field errors even tho level is required.
Modify a guild's MFA level. Requires guild ownership. Returns the updated [level](#DOCS_RESOURCES_GUILD/guild-object-mfa-level) on success. Fires a [Guild Update](#DOCS_TOPICS_GATEWAY/guild-update) Gateway event.
Does it return a JSON object or plain text?
## Modify Guild MFA Level % POST /guilds/{guild.id#DOCS_RESOURCES_GUILD/guild-object}/mfa
| level | int | [MFA level](#DOCS_RESOURCES_GUILD/guild-object-mfa-level) |
| level | integer | [MFA level](#DOCS_RESOURCES_GUILD/guild-object-mfa-level) |
Does this endpoint support an audit log header?
Changing MFA requirements doesn't show up in audit logs
Hence it does not
Changing MFA requirements doesn't show up in audit logs
Hence it does not
Incorrect, changing the mfa requirement does show up.

Aight! turns out my client bugged for a second
It indeed does support the X-Audit-Log-Reason header

seems like there are some delete events like for channels and scheduled events that still include the full object for more context. We could keep the full object here to provide the most context around deletion unless there is a reason only the id is preferred
update here: we are finishing up some internal breaking changes to the API. We will take a pass through this PR and update once that is out. Also will go through and address questions / comments
great point, we'll add the user_id 👍
will take a look at this 👍
[discord-api-docs] New discussion #5033: Customisable Bot settings menu under the Integrations tab\.
My suggestion is to have a developer-customisable bot settings menu, made similarly like modals , but integrated into the Server Settings > Integrations tab.
Every setting would have its own Category that holds different settings, and contains a title and an optional description.
Settings can have:
- Title (required)
- Type (selections, true/false toggle, channel selectors, user & role selectors, text inputs & file uploads) (required)
- Description
- Emoji
This would remove the...
This would be great for my bot as I currently have 9 different slash commands, some with sub commands, to manage all the settings.
Feature: Provide a declarative UI for application commands in the developer portal.
Problem: Currently, a user has to manage the state of their application commands using REST endpoints procedurally which can create unnecessary effort in maintaining an updated list of commands. This issue is also related to the application commands endpoint being heavily rate limited, which means deploying a bot for tests or with slightly changed commands relies on developers manually removing or a...
You can already accomplish something similar to terraform by having a JSON file with the command info in it and then just having a script to PUT that data to the commands endpoint.
You can already accomplish something similar to terraform by having a JSON file with the command info in it and then just having a script to PUT that data to the commands endpoint.
Oh, I was about to change that, thank you!
We should remove this? 🤔
It is clarified in Associated Action Types of action metadata.
(I've replaced SEND_ALERT_MESSAGE to TIMEOUT locally)
Is there a reason why this is a snowflake and not a regular integer?
Was a mistake 😅, I've already changed it locally.
From #4345, the Modify Guild Channel Positions endpoint intentionally doesn't create audit log entries, so it doesn't seem to use X-Audit-Log-Reason
intentionally doesn't
Would be nice to know why.
Could some staff maybe explain the reason it won't show up in the audit log?
Pretty sure most if not all of these are already planned
[discord/discord-api-docs] Issue opened: #5037 \`invites\` endpoint not returning rate limit headers
Description
When sending many GET requests to the /invites/ endpoint (as documented here), I expect to receive a rate limit informational header (as documented here) so that I can adjust my program to prevent my IP from getting temporarily blocked by Cloudflare. This header information is not being returned.
Steps to Reproduce
Simple example in Python thr...
Your making unauthenticated requests, use a bot token for headers
hm? it is not clarified, only keywords can use TIMEOUT maybe saying keywords is better than action type 1?
The following things they should add:
- User
- Role
- Channel
- Multiple Choice
- Choices (Here you can only select 1 out of the given choices. Like: Yes, No
And this
Like if we need an email, or something, let the bot validate it and return errors for the user to solve (this is in addition to your suggestion)
will never be. Because Discord cares about its users' safety, their personal information should be kept secret.
They will not make it so you can ask people for their em...
All of those are separate suggestions, and that was an example, validations can apply to anything, not just emails; and besides, we do have a use case where we need an email, so it's not far-fetched.
But then it should only be made for Verified bots.
Because else Discord would be like any other social media channel: Insert your email and get free stuff! 😂
@advaith1 @onerandomusername The integrations tab should now be showing in the settings for forum channels. Ty for pointing this out
Sorry! I misread it. All is right.
I have a dynamically expanding voice channel function integrated with my bot, when you join a voice channel a new one opens up so there is always one channel. Additionally I create a thread or get an existing thread that shares a name with the voice channel and add users who joined the voice channel to said thread, when they leave the call I remove them from the thread.
 the login modal never displays, page says on a grey screen.
Steps to Reproduce
Find a device with a old iOS version
Navigate to a oAuth2 login page
Observe no modal to enter credentials
Expected Behavior
Login/Password modal to display
Current Behavior
It does not.
Screenshots/Videos
Uploading RPReplay_Final1654443322.mp4…
Client and System Information
iPhone 7 running iOS 13.6.1, and iPad ...
@mgreer Similar issue to #3982 😩
not sure i'm understanding, what would the general id field be used to uniquely identify here? the events related to automod rule config changes will have an id field set to the rule id if that's what you're looking for.
made these fields optional and added more clarity around when metadata and trigger_metadata may be omitted.
I agree rule_id should be included. Not sure if this will make it as part of initial rollout but will add this to list as a followup
Went back through and addressed most comments. Some changes reflecting this (e.g. adding user_id field to one of the gateway events) are in but won't be live to later today. We're aiming to finalize this documentation by tomorrow so please let me know if there are still outstanding issues that are concerning. One issue that still needs to be addressed is some of the error messages having unexpected nesting + need for more clarity on errors. We will look to address this after docs are initia...
Also - the keyword_lists string array metadata field was migrated to a new presets int array field yesterday. The keyword_lists field will be deprecated. Updated the docs to reflect this
We're aiming to finalize this documentation by tomorrow so please let me know if there are still outstanding issues that are concerning.
I was wondering why only messages being blocked have entries in the audit log, as opposed to actions such as timeouts and potentially others in the future having entries as well. Of course, actions such as timeouts are still visible to bots via events, however, I think that a user being timed out without any log of it could be potentially confusing to g...
We're aiming to finalize this documentation by tomorrow so please let me know if there are still outstanding issues that are concerning.
I was wondering why only messages being blocked have entries in the audit log, as opposed to actions such as timeouts and potentially others in the future having entries as well. Of course, actions such as timeouts are still visible to bots via events, however, I think that a user being timed out without any log of it could be potentially confusin...
e52157d add Go API Types (dasgo) to community resources... - switchupcb
43130e5 Separate event specific fields from the Message... - Bluenix2
1f2d399 Remove audit log reference under Modify Guild C... - abalabahaha
aff1236 Update channel type lists for text-in-voice (#5... - advaith1
9047efa Separate Interaction Data structures (#4909) - mr-tech
@JohnyTheCarrot Hey sorry for the delay on this. I'm happy to merge it, but could we move it under the existing Embed Visualizer category?
The copy for that section should change a little to encompass both visualizer. You could simplify it to something like:
Webhooks and embeds might seem like black magic. That's because they are, but let us help you demystify them a bit. These tools can help you test how...
Just wanted to say that there's other use-cases where this is an issue.
For example, we have a command in our server which creates a joinable private thread in relation to an episode of a show. We use private threads for this because public threads have message previews so users can still be spoiled even if they aren't in the thread. These system messages are annoying here because you see a notification in a thread for obi-wan season 1 episode 4, you think someone has something new to sa...
Can repro with Canary 131336 (bd78700)

Any consistent repro steps?
I have a dynamically expanding voice channel function integrated with my bot, when you join a voice channel a new one opens up so there is always an open channel. Additionally I create a thread or get an existing thread that shares a name with the voice channel and add users who joined the voice channel to said thread, when they leave the call I remove them from the thread.
, but I want to just get this idea planted in as many people as I can. Selfbots / compromised accounts that are spamming DM's to our guild members are an ever increasing problem, and this is now something that occurs several times a day, even for small guilds of only a few hundred members. There is currently nothing we, the guild admins, can do to combat this problem.
I think it would be very easy to fix...
This is basically what membership screening manual approval is, if you have a role you can interact, if you don't then you can't, unless a guild admin explicitly "accepts" you into the guild, it was a great tool in combatting spam, basically stopped bots dead in their tracks. However.. it was indefinitely paused today. lol
In recent months, discord has dramatically improved spam protection and continues to do so. For example, now a new DM with an unknown user starts with a warning about possible spam. Users can also be marked as spammers by discord, and their messages will be automatically hidden. In addition, there are new methods of protection that have not yet come out. Unfortunately, your solution will cause more inconvenience not to selfbots but to ordinary users, so I doubt that something like this will b...
I am not familiar with that feature, but judging by the name "manual approval", I don't think that would be the right solution anyway (I guess they figured that out by themselves, if they scrapped the idea). We can't have manual solutions to this, that will instantly destroy high volume guilds. Getting DM spam is less frustrating than having to wait for manual approval. :(
As i said it was bypassed by a role, you could enable this, and just have bots grant roles for users you deem as "legit" ones that don't get granted a role by your bot are left in a state where they cannot DM members
Can you explain what the downside to this idea is? I am not saying that this should be enabled by default (the currently strictest mode is not enabled by default either). I would just prefer to have this option available. For reference, it has been less than 1 hour since the last time one of our members received a spam DM that was not labeled as such in any way. They were not friends and they did not have any roles (only 1 mutual guild). The current measures are clearly not working.
There are already countermeasures offered to server moderation teams to handle this. There's moderation bots, membership screening, privacy levels per user for DMs, a built-in report spam feature and likely others I'm forgetting. Saying that this seems likely easy to fix feels somewhat dismissive of Discord's latest efforts to combat spam and unwanted accounts like self bots. Some servers even have a captcha verification step upon invitation.
I am not sure you understand what the problem is; this is not an in-guild issue, this is a DM issue. Moderation bots, membership screening and similar features do not protect users from DM's if the spambot has a verified phone number on their account (which is common now). With a verified phone number you can bypass any moderation level in any guild, and there is nothing a guild admin or guild bot can do about it, because DM's are private.
The user can choose to report it, but that doesn't...
membership screening does not protect users from DM's
This is incorrect - they are unable to DM users from that server until they have passed screening
I am not sure how membership screening works technically, but I can 100% guarantee that it does not work. I know this because having it enabled did absolutely nothing to stop spambots - we have tried.
If I was to guess, I'd say that membership screening is a client-only countermeasure, which would explain why it doesn't stop selfbots.
It seems to me that this does not correspond to the concept of servers. So it turns out that the server administration will be able to manage channels (DMs) to which it simply has nothing to do. This can greatly complicate communication outside the server for ordinary users on some very large servers. It seems to me that the current course of development of anti-spam systems is more optimal.
 to which it simply has nothing to do.
I must not have explained the idea properly then; the guild would still not manage DM channels or have any kind of access or insight into DM's. The idea is to have the exact system we currently do, with just one single modification: A phone number is not enough to be allowed to send DM's - you need...
Either way, we have solid evidence that it doesn't work. I don't know why it does not work, but it doesn't. As it stands, I have never seen a bot capable of passing our guild's custom anti-bot-test, which means that the proposal most likely would be super effective.
Spam ????
၂၀၂၂၊ ဇွန် ၉၊ ကြာ ၁၇:၁၃ တွင် Nathzukie @.***> က
ရေးခဲ့သည်−
Either way, we have solid evidence that it doesn't work. I don't know why
it does not work, but it doesn't. As it stands, I have never seen a bot
capable of passing our guild's custom anti-bot-test, which means that the
proposal most likely would be super effective.—
Reply to this email directly, view it on GitHub
<https://github.com/discord/discord-api-docs/discussions/5042#discussioncomment-2912584...
For some reason I can't repro anymore after using a single slash command of the bot, it shows the default profile picture and that's it
The word "endpoint" appeared in a route where it shouldn't be. This pr fixes this.
Description
Whilst first attempting to get this working, my bot created around 250 roles and then I was given an error saying I could not create anymore roles. after manually deleting the roles, and confirming my bot was still working to create a couple of additional roles, I continue with the development of my bot.
Going forward I notice my bot was no longer creating roles (around 2 hours later). I've since spent all night and all day today, reviewing my code, going back to the examp...
Creating roles has a rate limit of 250 / 2 days. This means you can only create 250 roles within the span of 2 days, it does not matter how many roles currently exist in this case. You simply cannot create new roles because you did it too many times.
#3310 only suggests Bots Permissions, while this ones primary suggestion is including the Channel Object as a whole.
I personally set the moderation level to "High" (Must also be a member on this server for longer than 10 minutes) and then have a bot kick untrusted accounts after 8 minutes.
You could also drop the discord invite system completely: remove all invites and create invite permissions and then use a bot with the guilds.join scope to add trusted users to your server.
Description
I believe the "Default Authorization Link" character limit is too low, I understand why there is one, but I believe that for Discord links, there shouldn't be one.
This is the link I want to add:
https://discord.com/oauth2/authorize?client_id=847495054514716713&permissions=335924456&redirect_uri=https%3A%2F%2Finvitelogger.nickyux.com%2F&response_type=code&scope=identify guilds bot
And the 170 Character limit is cutting the URL off.
Steps to Reproduce
- Create...
This might work for smaller guilds, but for big community guilds, this is just not a viable option. There is just too much traffic to deal with by hand, and the line between trusted, untrusted, lurking person and lurking spambot is very difficult to see. We have hundreds of people who have never once said a word, but we know that they are real people, not bots.
Currently, the only way to view documentation is to go to the https://discord.dev/ or clone this repository and view markdown files (which is a bit uncomfortable comparing to the web version). I would like to see a way to build documentation locally so anyone built it once can view it offline as it was online version.
This could be done with a PWA
Not sure if its still planned but at some point it was in the long term plan when the full rewrite of the site happens (along with deploy previews 🤞 )
worker: node index.js
Missing the :, right? Refs
Then click **URL Generator**. Add the `applications.commands` and `bot` scopes, as well as the permission `Manage Roles`.
Manage Roles isn't a scope.
This isn't enough actually, a month has ~730 hours. Also, if the user adds a credit card (without buying anything), Heroku gives more 450 hours (1k hours total). Refs
worker: node index.js
Missing the :, right? Refs
This isn't enough actually, a month has ~730 hours. Also, if the user adds a credit card (without buying anything), Heroku gives more 450 hours (1k hours total). Refs
Good catch, editing now to reflect accurate and relevant info
The app we're building bakes bread (with varying degrees of success) through a Discord app. The source code for the app can be found [on GitHub](https://github.com/discord/heroku-sample-app).
In this tutorial, we'll use a GitHub repository as the source for the Heroku app. Before you can deploy, you should [push your project to GitHub](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-new-repository).
The 550 hours here were ok (you edited 😢), the 450 hours is when you adds a credit card.
guilds with no boost are now able to upload stickers

Description
The updated configuration for github token scanning no longer successfully invalidates tokens that were created before the token length was updated.
this is a continuation of #5009 where it was updated to support new token but support was not maintained for tokens that fit the style of the past several years.
Steps to Reproduce
upload a valid token that had a 27 character length hmac to github
Expected Behavior
the token is invalidated by discord.
Current ...
Do you have an example token we can take a peek at?
Since you can get a preview of this by building locally, does this actually work as expected? It makes intuitive sense to do this, and it'd make a lot of links work in the GH render of the docs, but IIRC it doesn't work on the deployed site in its current state.
Could we get it to work on the deployed site?
If it doesn't work here's the fix:
In the **Settings** tab, add your bot’s `TOKEN`, `GUILD_ID`, `CLIENT_ID` from [the section above](#DOCS_TUTORIALS_HOSTING_ON_HERO...
Yes, I can send you a valid one via discord.
The above build override does not work anymore

But the issue still exists

Is there a new build override?
Found it; it's in the chat history of #api-announcements on the Discord Developer server #api-announcements message
Give more information of what "partial guild" is.
> This only contains the `id`, `name` and `icon_url` for the [Guild](#DOCS_RESOURCES_GUILD/guild-object)
added one more ]
My issue with the ephmeral response suggestion is that users have to re-enter potentially long responses upon failure.
Example: I got a modal with two textfields and two text areas. One textfield needs an official timezone name to work and my bot validates it upon submission. If the user enters erroneous data (because he isn't familiar with timezone names), he has to enter the whole info again--including the two text areas. Can I dump all his inputs into a reply and try to parse it back i...
Description
So basically everything described in issue #4692 is still happening in real time as we are speaking.
TLDR: Requesting users from discord api returns members with their old names, even though they changed names afterwards.
Steps to Reproduce
I have no way to actually reproduce the issue and attempts to reproduce it would be against TOS, so I won't :P.
But here is what is happening from my POV as developer of the bot:
- Hundreds of accounts join the server with ...
Hello, so it will be really good if slash commands of a bot are divided into categories, like developers can choose which command to go under which category, and in the slash command box it will be divided according to that category and the user can also hide a category because sometimes for a user they don't use all the commands a bot offers and finding through all the commands is hectic too, so they can just hide the categories like channel categories hide.
Looks like #3349, #3761 and #4287.
No, it's not like them because they were not able to tell the use cases and the earlier ones were mistaken with the subcommand group, but these are not commands these are categories like the channel has categories. So it will help the developers to arrange the commands properly and users to hide not frequently used categories so that they don't have to scroll a long way to find the command they use more frequently.
I have explained it better in #5052 so you can check that
It would be a good addition and would help to arrange all the slash commands, devs who don't want the categories can maybe just hide it
Main issue is that sometimes it will think that a member update is a time out if you only check on the time out property, there is nothing else that tell you that this action is a timeout.
there is more connection services than only twitch and youtube

epic also is returned via oauth
you should add usecases as a comment because your post is still a duplicate
I wrote the use case above if you read it. It will help users to hide not frequently used categories and developers to sort command more easily and make it clean ui
Don't old connections that can't be added anymore (samsunggalaxy, skype) still exist?
I meant as a comment in other discussions, as this one will likely be closed due to being a duplicate of a bunch of already existing ones
Description
Someone in our community reported a bug with receiving an unavailable guild on a GUILD_CREATE. I asked around and this has been possible for a while. I haven't had time up to now to have a proper look at it and noticed that the docs specifically state that this should not happen, a GUILD_DELETE should be fired instead.
Would just appreciate some more information on this and whether the documentation should be updated regarding this
Steps to Reproduce
I am uncerta...
\* Users can no longer connect acccounts from these services, but the connections weren't removed from the users that had them.
Description
The same problem as https://github.com/discord/discord-api-docs/issues/3546.
Steps to Reproduce
No response
Expected Behavior
No response
Current Behavior
No response
Screenshots/Videos
{
"id": "982770803181498432",
"user_id": null,
"target_id": null,
"action_type": null,
"options": {
"count": "2"
}
},
Client and System Information
guild id: 856183259972763669
audit ...
samsunggalaxy also exists (Samsung Galaxy account)
\* Users can no longer connect accounts from these services, but the connections weren't removed from the users that had them.
why is this commented even needed, bots don't need to know if users can still obtain them
Does this work if only the embeds change? I have a case where my content is always null or an empty string and from your response it sounds like an update will only trigger if the content is different. Does this also take into account embeds?
to avoid confusion from users when they see old connections and wonder why they're not in the ui
The issue is still here sometimes. Anyway, if you don’t wanna restart your bot to set his status : add a command to your bot that only you can execute (it checks your ID) to set the presence again.
I still have that issue, I just discoverd this thread and I thought I was the only one but I was wrong. It is actually annoying that you have to restart the bot with a command or via cmd to get the presence back.
yah i think you're right—i don't think it'll resolve the current one.
c94c978 Added Discord Embed Previewer community resourc... - JohnyTheCarrot
I'm not sure this note is needed since every boost level has a different # of slots, and that doesn't seem relevant to the type itself. If anything I think that would go somewhere in the method documentation
without that, it would just be removing "Boosted" from the description, which I think makes sense
What do you think of this now? I added a new line in the method documentation and just removed the "Boosted" word from the type.
4fa7db8 upload sticker is no longer only for boosted gu... - vvito7
@shaydewael any chance this PR could be revived and merged? was updated then re opened and approved
There are a LOT servers that are currently abusing the guilds.join scope with having it as a requirement to join a server. There are some servers that require guilds.join in order to pass their verification-gate. In my opinion, this is not well handled, as having an account that randomly joins a guild is a bad user experience. (maybe for that special case, a toast-notification would be useful: "{application_name} made you join {guild_name}").
There's also the special case where tos-violati...
another common use is malicious applications requiring it for lets say, a "giveaway" then adding these users to guilds that pay them enough
Yeah correct, I also saw some servers buying members like that
I saw a Server That raids servers with their Application
Yeah these raids are called "join raids" to spam welcome messages. It's without self-botting, and that's kinda a problem, as Discord may can't really tell the difference between a member restore or a join raid via oauth2
I think that #5003 is a better solution to this. Approved apps can still be used for malicious purposes, getting approved is simply, after which you can just change what you're doing. This is something we can already observe with malicious verified bots. Also, there would have to be some way to report the app if it were to abuse it.
Yeah but even with a join_once, they could make a new verification system with a new guilds.join application on the new server after ban-evading
this was added with permissions v2
this was added with permissions v2
Permissions are no longer bot-controlled and @everyome access is togglable in the UI so I suppose this is resolved with permissions v2
Permissions are no longer bot-controlled and @everyome access is togglable in the UI so I suppose this is resolved with permissions v2
So currently the https://discord.com/api/v10/guilds/{guild.id}/scheduled-events endpoint can only be accessed via a bot that has been added to a guild with permissions and is not accessible with a client token from OAuth2.
I wanted to have a client app access this endpoint, currently I would have to sign in the client using OAuth2, fetch their guilds, request to the applications bot (via a separate api that has the bots secret) to get the guilds events, if the bot is not in the guild the...
That would not make guild events private once a member authorizes with some kind of scope of that. It would mean that the bot needs to be on every server, which does not equal to what the guilds scope returns.
I would rather think that it would be cool to make a scope that returns the events a user subscribed to. That would not fix it 100% but that's the best thing I could expect to happen on a users behalf.
I was assuming that a client calling the endpoint would not be able to do so with guild id's that client is not a part of meaning events would still be private as per what a user can see normally.
Having a scope for events a user is subscribed to would also work though would not allow seeing other events that they haven't subbed to in guilds they are in so ideally this would just be a parameter or handled by user code.
Also related to the timeout action - seems like there's currently no AUTO_MODERATION_ACTION_EXECUTION gateway event being dispatched for it? There's a GUILD_MEMBER_UPDATE as one would expect, but with no way to tell that someone was timed out by automod in particular, not sure if that's intentional.
Also related to the
timeoutaction - seems like there's currently noAUTO_MODERATION_ACTION_EXECUTIONgateway event being dispatched for it? There's aGUILD_MEMBER_UPDATEas one would expect, but with no way to tell that someone was timed out by automod in particular, not sure if that's intentional.
this will be added, it's not intentionally left out, we just haven't finished making this change yet
The $ prefix is optional and dropped server-side.
Updated, but maybe that other example should just link to the event docs?
- New [audit log entries](#DOCS_RESOURCES_AUDIT_LOG/audit-log-entry-object-audit-log-events) when rules are created (`AUTO_MODERATION_RULE_CREATE`), updated (`AUTO_MODERATION_RULE_UPDATE`), or deleted (`AUTO_MODERATION_RULE_DELETE`), or when AutoMod performs an action (`AUTO_MODERATION_BLOCK_MESSAGE`(
- New gateway events emitted when Auto Moderation rules are [created](#DOCS_TOPICS_GATEWAY/auto-moderation-rule-create) (`AUTO_MODERATION_RULE_CREATE`), [updated](#DOCS_TOPICS_GATEWAY/auto-moderation-rule-update) (`AUTO_MODERATION_RULE_UPDATE `), and [deleted](#DOCS_TOPICS_GATEWAY/auto-moderation-rule-delete) (`AUTO_MODERATION_RULE_DELETE `). Requires the `AUTO_MODERATION_CONFIGURATION` (`1 << 20`) intent
- New gateway event emitted when a [rule is triggered](#DOCS_TOPICS_GATE...
Add new [Auto Moderation feature](#DOCS_RESOURCES_AUTO_MODERATION) which enables guilds to moderate message content based on keywords, harmful links, and unwanted spam. This change includes:
- Access new endpoint for [creating](#DOCS_RESOURCES_AUTO_MODERATION/create-auto-moderation-rule), [updating](#DOCS_RESOURCES_AUTO_MODERATION/modify-auto-moderation-rule), and [deleting](#DOCS_RESOURCES_AUTO_MODERATION/delete-auto-moderation-rule) Auto Moderation rules
Even if discord makes it Approval only
that doesnt stop people from doing malicous things.
To be honest, for it to be be abusable, the user needs to understand what the scope does and not just press Authorize the second they see a green button
Description

When using /inventory @user it changes to `` and the mention doesn't render. It is inconvenient as we cannot check for which user the command was invoked.
Steps to Reproduce
Use a slash command and mention a user in a text field.
Expected Behavior
The user mention should be renderer and clickable, and when clicked should popup the user like it does ...
I'm well aware that those discussions aren't the right place to suggest features to be added to Discord that aren't related to the API itself.
But there really isn't another place to properly share this idea. Yes, I'm aware feedback.discord.com exists, but having my suggestion reach the exposure and upvotes to gain Discord's attention is as likely as me getting all world-records in existence in a month.
I also want to mention that I already suggested this to a Discord Staff member and tha...
Fixed in Ptb 132275 (71e1b77) Host 1.0.1015 Windows 10 64-Bit (10.0.22000)
Thanks 💖
- New [audit log entries](#DOCS_RESOURCES_AUDIT_LOG/audit-log-entry-object-audit-log-events) when rules are created (`AUTO_MODERATION_RULE_CREATE`), updated (`AUTO_MODERATION_RULE_UPDATE`), or deleted (`AUTO_MODERATION_RULE_DELETE`), or when AutoMod performs an action (`AUTO_MODERATION_BLOCK_MESSAGE`)
Should this not link to the trigger medata?
- Libraries are automatically added by Discord once they reach a certain popularity, measured internally
- Tiscord is not near finished
- Do you have the owner's go-ahead for this?
Libraries are no longer added via pull requests
@Mateo-tem doing a final check right now, looking to merge this in within the next hour. Let me know if you have any changes you're still working on that need to go in, or maybe we can save them for a followup PR
@Mateo-tem doing a final check right now, looking to merge this in within the next hour. Let me know if you have any changes you're still working on that need to go in, or maybe we can save them for a followup PR
Great! No pending changes for now.
@hemu Let me know if all is right to mark this as ready for review.
why are there line breaks here?
instead of saying this for the specific metadata field, IMO it would make more sense to put something like this in action types:
Only
KEYWORDrules can have aTIMEOUTaction.
| Type | Value | Description |
| ---------------- | ------- | --------------------------------------------------- |
| MESSAGE_SEND | 1 | when a member sends or edits a message in the guild |
To make it easier to work with in source, it will render without line breaks on the site.
I guess we don't do that on other pages in the doc 🤔 I feel like we should though to make it easier to work with, I was thinking same reason you'd format your code to not have long lines. But i'll remove it to keep it consistent with rest of docs
@hemu Let me know if all is right to mark this as ready for review.
sounds good :) feel free to mark it for review
I added this section to explain the different ways keywords can match based on how you use the * wildcard. If it's not clear it's something we can iterate on and improve as a follow up

@hemu Let me know if all is right to mark this as ready for review.
sounds good :) feel free to mark it for review
All right!
I added this section to explain the different ways keywords can match based on how you use the
*wildcard. If it's not clear it's something we can iterate on and improve as a follow up
Nice!
My bad, its still broken for text fields.
also, when will the automod message format be stabilized? can it be changed to have an object of data instead of abusing embed fields
This is planned for later on after the initial launch. Yes, the data will be contained in a single object field instead of using embed fields.
Thank you to everyone that took the time to contribute and offer feedback :) Really appreciate all the helpful suggestions we received to improve both these docs and the API for Automod. Going to merge this in but if there are more errors / suggestions feel free to continue commenting on this PR -- will continue checking here for the next week or so.
- New endpoints for [creating](#DOCS_RESOURCES_AUTO_MODERATION/create-auto-moderation-rule), [updating](#DOCS_RESOURCES_AUTO_MODERATION/modify-auto-moderation-rule), and [deleting](#DOCS_RESOURCES_AUTO_MODERATION/delete-auto-moderation-rule) Auto Moderation rules
> The response only contains the `id`, `name` and `icon_url` properties for each [Guild](#DOCS_RESOURCES_GUILD/guild-object)
- Add note about unreleased types
- Merge limits table into main trigger types table
Also fixes links to trigger metadata section
@hemu Will there be an audit log event for automatic timeouts? Right now the audit log does not mention that the user was timed out at all, and no event is created if the only action taken is timing out the user.
Apparently this was added but the issue was not updated. Its implemented now, afaict.
Looks great, thanks for the contribution!

](

