#github-notifications
1 messages ยท Page 29 of 1
bbbefdd update api feature request format (#3294) - devsnek
Gatway intent for sticker events are also added to the GUILD_EMOJIS intent so that should also be changed to include stickers.
Shame that the thread linearity was lost in the move to a discussion. But I'll take this as a good sign that this is at least being considered.
Now that it's a discussion, might have a shot at getting implemented
Can this document the sticker cdn endpoint?
stickers/sticker_id.png
Description
The introduction of Slash Command Permissions #2737 brought user and role based permissions. However, the only way to currently achieve channel-specific granularity is to sacrifice a role to a specific command. This is the only way (I can see) to be able to force a single command, from a single app, to run in a single channel.
You can do this by using a channel override for that role that has use slash commands and adding that role to be the only allowed users of that ...
Ok I'm doing it on my own. Wish me luck.
Description
The related emoji field on a sticker seems to require the emoji to be between 2 and 200 characters in length.
However, there's a discord built-in emoji (:v:) whose length is only 1 character. If you pick that emoji as the related emoji, you're going to get an Invalid Form Body error.
Steps to Reproduce
- go into guild settings
- go into the stickers tab
- create a new sticker
- put some name in
- upload some image
- choose :v: as the related ...
Description
Steps to Reproduce
- Send reply with Button
- Click button
- Observe
Expected Behavior
message_reference has channel_id, like:
{
// ...
"pinned": false,
"message_reference": {
"message_id": "860263541588099124",
"channel_id": "756477702030098513",
"guild_id": "715540925081714788"
},
"mentions": [],
// ...
}
Current Behavior
message_reference doesn't have channel_id, like:
{
//...
Description
With an OAuth login via Discord it is possible to obtain the email address of the Discord user despite the lack of the email scope
Steps to Reproduce
- If not already done, create a Discord app ( https://discord.com/developers/applications/ ).
- Select the app and select OAuth2 in the left menu.
- If not already done provide a redirect URL.
- Select the URL and select only "Identify" scope
- Copy the generated Link
- Login with the copied URL
- Login to the ...
As long as a message is not a thread, all it's replies are spread along the channel.
I'm suggesting that's the moment someone turns the message into a thread, these reply messages will appear in the thread.
This will make more order in a channel like threads is trying to do.
Can't wait for threads to launch officially ! love it.
Did you previously authenticate with the email scope? Connections are persistent, for the duration of the bearer token.
They could just use another label if its a bot user. e.g. "Bot Description" instead of "About Me".
The description field has indeed been updated to 4096 characters to solve the use case of logging and moderating messages.
We arenโt going to be upping the content length for bots or webhooks at this time, but are considering how nitro features interact with bots more holistically moving forward.
The description field has indeed been updated to 4096 characters to solve the use case of logging and moderating messages.
We arenโt going to be upping the content length for bots or webhooks at this time, but are considering how nitro features interact with bots more holistically moving forward.
Oh, that's an interesting way of thinking about it
I think it's a little too much power to give users if one person can arbitrarily decide to move _other people's messages into a thread via replies
But I'm open to one day considering a more generic "move message" action so that when a conersation starts in a channel and moves to a thread moderators could clean that up.
Oh, that's an interesting way of thinking about it
I think it's a little too much power to give users if one person can arbitrarily decide to move _other people's messages into a thread via replies
But I'm open to one day considering a more generic "move message" action so that when a conersation starts in a channel and moves to a thread moderators could clean that up.
Would the 6k total character limit ever get raised?
We arenโt going to be upping the content length for bots or webhooks at this time, but are considering how nitro features interact with bots more holistically moving forward.
Would you want a new feature request for this explicitly? As it's pretty important for me to have webhooks at least with the 4k messages
Curious what your use case is @muddyfish
Curious what your use case is @muddyfish
I definitely could use it because of sending users messages via webhook. I have a resend feature on my swear word blocking bot, that sends a users message again but with all the curses blocked out, 4k messages definitely couldn't do that unless this was applied. And things like tupperbox for example who make fake users, also uses webhooks. Bit complicated.
Curious what your use case is @muddyfish
I repost messages other users send and add rich content, such as images, markdown URLs, URL buttons and cross channel replies.
These get reposted using webhooks attributed to the original user, and it would be great for it to work for users with Nitro
Curious what your use case is @muddyfish
It's also used by bots that proxy messages to assist users with plurality. Pluralkit would be an example of this.
Something I'd like to mention is that you can already have a nickname the same as username, but its a rare occurrence. This occurs when you have a nickname set on a server, then change your username to that nickname. I experienced this on a server where I didn't have change nickname perms, but I don't think that has to do with it.
Clarification: I believe this is a viable way to implement limiting allowed selections for slash command equivalents. E.g. limiting channel selection to only categories instead of a list of every channel.
Curious what your use case is @muddyfish
It's not uncommon to have input -> output commands currently where you take in input expecting you to be able to mirror it. e.g. tags, echo commands, logs that aren't in embeds, etc. Right now this stuff is now broken and needs to be updated with manual checks when it wasn't necessary before.
It would be useful if we could include another option type in Select Menus for the user to write any value.
Use case: for my bot, the user can customize the nickname it gives to users. On the bot, we have different "templates" they can pick and choose and combine them. To be more user-friendly, I would like to use a Select Menu with the most common templates, but at the bottom have a text field where they can write a custom template if needed.
I've seen this type of select menu across m...
It would be great if there was an option to synchronize role permissions in a channel according to category, but NOT SYNCHRONIZING EVERYONE ROLE. It would be much easier to configure other channels and not need to edit channels all the time.
For example, I create a main server channels category, in the category, permissions are enabled for only admins to send messages, but if I create a channel in this category called suggestions and I want everyone to also send messages there, the cha...
It would be interesting verified bots could add a custom banner as well. :thinking:
Why should banners be linked to verification status?
Added a 404 page that will go out with the next docs deploy, long-gone user
Added a 404 page that will go out with the next docs deploy, long-gone user
Why should banners be linked to verification status?
I imagine that many bots could use this feature to break the terms of service. For example: Nitro Rewards server advertising bots with a super flashy banner with a server advertising or else a bot inviting the user to an NSFW server with a banner with explicit content
Releasing custom banners only for verified bots would better filter out bots that really want to make proper use of the feature.
Verified bots could still change their banner after being verified(same as avatars) and it's not like Discord would go through ever single bot to make sure they have a TOS appropriate one.
So you would be back at square one.
And I don't think they want to lock features behind verification like that.
I have tried this in Python, and I am getting mixed results. For an application that I created in April, I can grab a user's email with only the identify scope. Trying with an application I created today on the other hand, the email returns None.
Scopes are additive, which means additional authorizations extend the existing scopes (not replace). If you revoke the app's permission in your user settings and then try again, you won't be able to reproduce this.
Found out a bot can send a guild sticker inside the guild it belongs to.
Message Object:
{
"content": "test",
"sticker_ids": [
"859934445338624001"
]
}
When sending nitro stickers or guild stickers from another guild
Error Object:
{
"message": "Cannot use this sticker",
"code": 50081
}
Don't know if this is intended.
New OP Status Code: 50081 | Cannot use this sticker
Why should banners be linked to verification status?
I imagine that many bots could use this feature to break the terms of service. For example: Nitro Rewards server advertising bots with a super flashy banner with a server advertising or else a bot inviting the user to an NSFW server with a banner with explicit content
Releasing custom banners only for verified bots would better filter out bots that really want to make proper use of the feature.
It wouldn't make sense to...
Added the gateway event and renamed the intent; will document
- [ ] sending stickers
- [ ] audit log stuff
- [ ] nullable description
This adds the select menu fields to the Component structure table.
Also adds the missing type field to the seperate Select Menu structure table.
| custom_id? | string | a developer-defined identifier for the component, max 100 characters | [Buttons](#DOCS_INTERACTIONS_MESSAGE_COMPONENTS/buttons), [Select Menus](#DOCS_INTERACTIONS_MESSAGE_COMPONENTS/select-menus) |
| disabled? | boolean | whether the co...
ok I think I've documented everything!
* except the sticker cdn endpoint; not sure if staff want that documented
ok I think I've documented everything!
- except the sticker cdn endpoint; not sure if staff want that documented
thank you โค๏ธ
There is the chance that Bots may only use the applications.commands scope in the OAuth Link and perform various stuff through things such as HTTP webhooks or similar.
This has the unwanted downside that the Bot account itself, which is still added to a Server, may appear as offline, causing confusion since why is the bot offline?
Idea
There should be a way, like a heartbeat endpoint for slash-commands only, to make the bot account appear active.
Perhaps Discord could send a hea...
Perhaps Discord could send a heartbeat every now and then and the bot could respond with anything to tell Discord that it is still active, and if it is, Discord would make the account appear online, otherwise offline.
This could perhaps use the existing type 1 ping, as it already needs to be implemented in a webhook interaction handler?
When it comes down to slash-commands can we see one particular issue, which is, that you can't be sure if a Bot actually has Slash-commands.
One may argue that you can just type / and see if the bot appears in the suggestions.
This is alright, but in cases where there are more than 50 applications with slash-commands (i.e. on bot lists where you would like to test a bot first before adding it) is this not the most reliable way of doing so.
Having a small indicator to show that a bot ...
I'm not that well with the API and don't know what it offers that could work.
Just going to say, if your "bot" is definitely only ever going to be used for Slash Commands and you are able to receive interactions over HTTP instead of the gateway, just don't make a bot for the application.
I've done this with one of my slash command applications that runs on Cloudflare Workers and no bot appears in the member list, when the "bot" is clicked on for a slash command usage message it just shows the same popup that a webhook would show. Just name and profile picture, no ro...
Hi discord devs & folks!
If their was a way to add a copy button โบ๏ธ to types of buttons, it would be cool ๐!
If the copy button was clicked, then discord should copy a specific text ๐ provided by the dev ๐จโ๐ป of the bot.
But yeah, this would require discord some permissions to get the text copied.
I came to this feature, as I was gonna add userid, chanid, roleid, serverid commands to my bot. And I thought of a button, so that the user could just click on the button to get the `...
Of course that would be great but there could be problems with security because you could copy anything.
However, if you ask beforehand whether you want to copy it (and the text is displayed there) as with hyperlinks, that would be a very good function.
Yeah, you are right
Maybe after clicking the copy button, it should show the text and ask if you want to copy!
Description
Right now, it's unclear which types of messages are affected by rate_limit_per_user and which aren't. This makes it hard to implement bots that enhance or interact with the slow mode feature built into discord. For example, a bot that reminds you when your slow mode timeout is about to expire (for 6hr+ slowmode channels), or a bot that tracks how often moderators use their permission to violate slow mode. However, it's easy to get false positives if you include messag...
Can you provide some more info about where you're seeing this? I wasn't able to find any instances of channel_id missing.
Slash command options give users a clear way to navigate bot complexity when the source of that complexity is multiple inputs per command. But what if you want to build a bot that appears to have only one input per command, based on free-typing and natural language processing?
The current approach doesn't seem to work as well because you have to have an option that appears after you type your command which doesn't do anything except reiterate what the command does.
To be concrete, sup...
this is a regression from (A) which non-slash command bots can already do.
I wouldn't say comparing client UI and sending a message is apples to apples, let alone regression; they're not really comparable.
Furthermore, I can see how in some situations having the inline tooltip seems a bit redundant, but I'd personally favor consistency over UX for some semi-specific scenarios
Description
The GUILD_MEMBER_ADD gateway event is sometimes sent more than once when a member joins a guild.
Steps to Reproduce
I couldn't find a way to reproduce this behaviour, but all guilds I've seen this issue occur on are community servers. That could just be a coincidence though.
Expected Behavior
The GUILD_MEMBER_ADD event should only be sent once when a member joins the guild.
Current Behavior
The GUILD_MEMBER_ADD event is occasionally sent ...
Description
When I patch a message, the allowed_mentions property is resetted/deleted if I don't send it in the body again. On the other hand, when I update only the content property, the components property doesn't change (as it should)
Steps to Reproduce
-
create a new message using
POST /channels/{channel_id}/messages { "content": "test ", "allowed_mentions": {"parse": [] }, "components": [] }
--> the user should not be mentioned -
update the message using
...
The allowed_mentions property isn't stored. You have to send it every time content is created or updated. See #1864.
I see this is working for tokens placed in messages, but it appears that when a timestamp is applied to a message, the timestamp is displayed in the footer of the message with a 'relative' style, instead of the default style used for in-message tokens. Is there a way to influence that, to force another style?
You should report it in discord-testers:
You should be able to use the markdown timestamp format in the footer text.
@devsnek markdown isn't supported in the footer text, so it doesn't work.

Unless that is being supported soon? or you was talking about the
timestampfield
@IanMitchell could this be moved back to an issue, it is also a bug. I was only able to mark it as a feature request when I created the issue, not as a bug
In the case I'm seeing, I think it's a timestamp associated with an embed on the message. When assigned, it displays the timestamp using a relative style. I don't see any means to use an alternate style for that.

0f13595 Clarify application-owned webhook requirement f... - typpo
324bbaf Document disabled field for select (#3209) - typpo
7384c1a fix(channel): update json params channel length... - 7596ff
I would love to see the option to just send a successmessage as replacement for the general error messages.

You should report it in discord-testers:
You can. I don't partake in such a server.
You should report it in discord-testers:
https://discord.gg/discord-testersYou can. I don't partake in such a server.
You can also report bugs via their support form (select "Bug Reporting") if you don't want to report via DTesters :)
you can do it, but thanks for the suggestion.
So the Application Command Interaction Data Resolved Structure says that the channels property has partial channels which
** Partial Channel objects only have id, name, type and permissions fields
now what doespermissionsmean? I've looked at the documentation for the channel object, didn't find anything
It's not overwrites and after testing a b...
I would like to submit my library, Diskord, to be listed as a community library.
It is a Kotlin-based library which fully implements the ratelimit system and has been in active development and use for a few years now.
The core of the ratelimit system is implemented here in RestClient.kt with the wait logic on [line 28](https://gitlab.com/jesse...
This is something we're aware of, but unfortunately fixing it is difficult - the root issue is present in a number of other locations (hover over reactions).
I don't think I'm able to move it back as an issue, unfortunately - you can open a new issue though and link to it here, and I'll close this out
I checked now, and It was fixed (or I just missed payload).
I close it.
Yeah being able to log into them (kinda like PayPal) would be sick. If Discord's worried about people abusing this they could make all guilds follow a predefined template (that showcases all features of course) and could disable interacting with other people (i.e. seeing messages, etc.).
In this rate limit implementation you're comparing the system time to Discord's time, which is a bad practice. Discord provides a retry-after header (and a more accurate retry_after value in the response JSON) that you should use.
I agree with this.
Thought about similar.
You should report it in discord-testers:
reporting it here was fine
Description
When a channel has 10 webhooks, editing existing webhooks will cause the API to error. (The client does not handle/display the error.)
Steps to Reproduce
- Make a channel have 10 webhooks
- Try to edit one (name/icon)
Expected Behavior
it works
Current Behavior
400
{
message: "Maximum number of webhooks reached (10)",
code: 30007
}
Screenshots/Videos
 will be greater of the two. Additionally, you can check for major clock skew by consulting the Date header in the response.
In exchange, with retry_after, you're losing however m...
In private threads, slash commands can be used, but if the bot is not in the thread, it will not be able to read/manage messages.
If the bot has access to the parent channel, it can reply to the interaction and ping itself, adding itself to the thread. However, this is annoying to handle and it would be nicer if Discord did it automatically, treating using a bot's command as mentioning the bot.
Alternatives possible currently (suboptimal ux):
- just break when the bot isn't in the thre...
I would note that there is also a X-RateLimit- Reset-After header for your standard rate limit handling (when not hitting 429s) that has a decimalized ms precision so that you don't have to worry about API offset. As noted by A5rocks, you lose the one way network time, but you seem to be ignoring ms precision anyways.
The id field on connected xbox accounts is not the users xuid, but another value.
As users can change their xbox gamertag I'd like to receive both the gamertag and xuid.
Steps to Reproduce
Use the Get User Connections endpoint to receive connections from a user with a connected Xbox account, view the id field.
Expected Behavior
The value should be the users xuid, 2535453263238788 in thi...
You need a bot account to do anything other than send messages. I'm sure many, if not most, HTTP-only slash command applications have some functionality other than storing and/or retrieving data.
[discord/discord-api-docs] Issue opened: #3384 Standardization of Unicode Emojis accepted by the API
Discussed in https://github.com/discord/discord-api-docs/discussions/3316
Originally posted by davfsa April 8, 2021
Description
I would like to continue the discussion in #2723 and request a standardization of what Unicode Emojis the API accepts as valid.
Why This is Needed
After looking at what Discord uses internally in the client (thanks to @Emzi0767's extraction of the internal list...
Is there anyway we could keep the comments that were made?
Hey there,
Obtaining the emoji ids of external/custom reactions can be a hassle especially if your bot doesn't have read/edit access on certain channels or even doing it manually so it can be kind of annoying/impossible to get the following:
emoji: name, id, isAnimated via a given message from the reactions
What I suggest is adding the option to allow Shift + Right Click and then Copy ID to copy the selected emoji's
<Optional animated : Optional name : Snowflake id>
or so...
@night was documentation for nonce intentionally removed in https://github.com/discord/discord-api-docs/pull/2859/commits/8cffc76d5806bdee9889e7e7ebdf4617c19a5180?
This is working as intended. Xbox would not let us store user xuids as part of our agreement with them.
Description
While using ephemeral, adding file to message isn't possible.
Steps to Reproduce
event.getHook().setEphemeral(true);
File file = new File("image.png");
event.getHook()
.sendFile(file, "image.png")
.addEmbeds(new EmbedBuilder()
.setTitle("Title")
.setImage("attachment://image.png")
.build())
...
So won't anyone add the feature request label?
Custom Emojis have a role parameter which contains an array of role-ids which can use the Emoji. There are a couple of bots exposing that feature to users, allowing them to restrict their emotes to their level roles/boosters/patreons(not sure if that's okay, but I've heard it used in that way)/โฆ.
A user of my iteration for this has now asked me if it'd be possible to have the same functionality with stickers. Given that they look the same but bigger, this sounds like something that shoul...
My use case for this would be manipulating emojis on a guild. I would therefore like to be able to restrict it to custom emojis from that guild. But even so, this would bring me one step closer into making the switch.
Description
When setting min_values to 0 and max_values to 1, the user has to select one option.
Steps to Reproduce
- Send a select menu with the following data:
{
"type": 3,
"min_values": 0,
"max_values": 1,
"options": [{
"label": "1",
"value": " ",
"default": true
}, {
"label": "2",
"value": " "
}, {
"label": "3",
"value": " "
}, {
"label": "4",
"value": " "
}]
}
Expected Behavior
...
Regarding the availability of X-RateLimit-Reset-After, we opted not to use that field as it is redundant when you are already computing against reset time, and as A5rocks points out (and our experimentation indicates) clock drift is less of a problem than dramatic and inconsistent latency on API requests return time, particularly for users without good internet. So respectfully to other library authors, this makes me hesitant to call using the Reset-After approach anything but the bad practic...
Additionally, ckohen raised a good point that we were losing some precision on the X-RateLimit-Reset which for some targets would result in an overly-fast retry and has been addressed
What are the security issues with copying plain text to clipboard?
Couldn't we change the way inline works by making it a line break instead. We could have all the fields to default inline, and then manually specify when the fields should be going to the next line.
So when you specify for example
line_break = True
The current field goes to the line.
We know there is this one feature in stickers called related text which brings up some particular sticker if that related word is typed. It would be nice if the same could be done for slash commands as well, like making some purge command with a different name (say "clear") show up in the command explorer on typing /purge.
This would be a lot helpful for people who do not have an idea about what command name to use and do not want to search through all commands of all bots.
It would also be nice if this gave us ability to send custom error messages. Would be useful for saying "you don't have the permission to use this command" if this is evaluated bot side.
Description
Originally posted on https://github.com/discordjs/discord.js/issues/6022
When entering anything that's not a number id, the API times out, instead of throwing an error/ignoring the id. The bot disconnects and reconnects before throwing the timeout error.
However, it works if I enter an invalid number ID.
Steps to Reproduce
Using discord.js v12.5.3 and nodejs v14.15.5 (I imagine its the same with other versions as well)
// doesnt work
guild.members.f...
Description
When interacting with components with an application created webhook where the application does not have a bot, if there is not a registered interactions url the loading state will persist forever.
Steps to Reproduce
- Create an application, but don't make a bot.
- Use the oauth2
webhook.incomingscope to generate a webhook. - Send a message with components using the provided webhook url.
- Interact with a component.
Expected Behavior
The component sh...
I could be reading the code wrong, but it looks like discord.js says any string valid snowflake ID, but they should be numeric.
- https://github.com/discordjs/discord.js/blob/1e8f01253e85891b78c2b4ae866ce5ae56add413/src/managers/GuildMemberManager.js#L129
- https://github.com/discordjs/discord.js/blob/1e8f01253e85891b78c2b4ae866ce5ae56add413/src/managers/UserManager.js#L54
- https://github.com/discordjs/discord.js/blob/1e8f01253e85891b78c2b4ae866ce5ae56add413/src/managers/BaseManager.js#...
Should add that while '1234' may appear to be invalid, it is technically a valid snowflake, just not one that practically belongs to any users.
Currently selects have a limit of 25 options. This is an issue for me because I want to use selects to choose roles and channels. I think there should be either an option for selects of roles/channels that bypasses the 25 limit, or just have higher limit in general.
Use case: I have an interactive setup for a certain feature that I want to be able to use slash commands for without depending on a bot user. This means that my current method of prompting for a message won't work.
+1. Since selects have the 25 option limit, we can't even do them by ourselves right now.
Should it really terminate the connection though, couldn't it just throw an error instead?
That I don't know. Someone from Discord would have to comment on the specifics, but the gateway has always behaved like this where there are no specific error messages for invalid data, just the generic ones listed here; 4001 or 4002 probably apply here. When you say "respond with error code 400", that is an HTTP construct and does apply here since there is no HTTP request here.
Fair enough, but shouldn't it respond with some kind of error instead of just timing out?
the timeout is due to djs not invalidating the member request timer when the gateway reconnects, not discord's api.
Description
There is a typo in the COMPONENT_LAYOUT_WIDTH_EXCEEDED response.
Steps to Reproduce
- Create a message and ensure there is content and two drop-downs in the same row
- Read the error message
Expected Behavior
The error message would read "The specified component exceeds the maximum width" or "The specified component exceeded the maximum width".
Current Behavior
The error message reads "The specified component exceedes the maximum width" - "exc...
Unfortunately no - I'd just open an issue with a link to this discussion, and then post a link to the issue here and I'll mark that as the answer
8cf4130 Create message-components-bug-report.md - IanMitchell
edd808f Update slash-command-bug-report.md - IanMitchell
8ff5f77 Update message-components-bug-report.md - IanMitchell
to be really honest a tooltip or a toast would be a better UI/UX, and the thing in the ss you have shared, it feels like if you want the success message to be custom which will be a bit of work from discord's side and they might not do it
Currently, the Create Message endpoint accepts the nonce field and includes it in the sent message, but the Execute Webhook endpoint does not accept the nonce field.
The nonce field is useful for matching new messages with stored unsent messages. It would be useful for applications that use webhooks to send messages to channels. The messages can be matched using the content, but this is not fully reliable due to Discord's message normalization, which is likely why the client sends the ...
When a bot only wants to work/doesn't want to work with the specific guild, it should be able to whitelist/blacklist it, so the bot saves bandwith. Also, this could be useful on the client. An user selecting blacklisted guilds that the user won't receive gateway events anymore, so again, we save on bandwith and maybe less ping if the user is gaming etc.
Would you please mind explaining what you mean by slash command groups, I didn't really get your idea.
Verified bots could still change their banner after being verified(same as avatars) and it's not like Discord would go through ever single bot to make sure they have a TOS appropriate one.
So you would be back at square one.
And I don't think they want to lock features behind verification like that.
That's a flaw on Discord's too low of a bar on verification. Does verification even mean anything if being verified doesn't put developers in a position of trust? Instea...
What are the security issues with copying plain text to clipboard?
You could have all kinds of things copied that people might not want to do
Maybe @JelNiSlaw is right. There aren't any security issues.
You could have all kinds of things copied that people might not want to do
That isn't a security issue. We display a label for that button and indicate "Them that what type of text you are gonna copy?"
We display a label for that button and indicate "What type of text you are gonna copy?"
The problem comes from the fact that, while claiming to be copying one thing, you could end up copying something completely different. That could be bad.
Something on the top of my head is a hypothetical bot outputting shell scripts. It could claim to copy that super helpful script everyone needs, but it sneakily adds in an rm -rf /* when using the copy-button (or whatever the windows-equivalent ...
I think it is unlikely this will ever happen. You can just put the id or whatever in the message content/embed and let the user copy it themselves.
Okay, maybe you are right.
Description
When starting a message with //, the mention popups (user & channel) don't show when typing @ or #
Steps to Reproduce
- Type
//in the message bar and a space - Type an
@and observe that the mentions menu doesn't appear
Expected Behavior
The mentions menu appears
Current Behavior
Nothing pops up
Screenshots/Videos
https://media.discordapp.net/attachments/842535039412862998/861257231760752680/Screen_Shot_2021-07-04_at_4.4...
Summary
The upload limit for stickers is incredibly tiny, 500 KB for an APNG file is nothing. For reference, emojis have a limit of 256 KB and but can only be up to 128x128 in size.
I am scrambling trying to make the file less than 500 KB whilst also making sure that it looks relatively good considering how it will be viewed. Is this limit set as to encourage Lottie images?
They said they will probably stop allowing lottie files from being uploaded as stickers so I doubt it.
This also happens with any amount of slashes, including just 1.
looks like it happens with emojis as well
As a workaround you can type a space before /
As a workaround you can type a space before
/.
Also this is not an API bug so I don't think it should be reported here.
I was told to report it here by a discord staff, this is the place for slash command bugs.
I don't rly need a workaround, just putting it here so they get it on their todo list.
Pasting random things you copied somewhere into the terminal isn't too smart anyway. But somehow displaying the text that will be copied would be enough to stop that.
The nonce field is used for optimistic message sending, something that I don't think webhooks even care about. The nonce is not stored anywhere, and is only used to match a MESSAGE_CREATE event with a pending http request. Additionally we also use the nonce to dedupe retried messages within a small time window.
The nonce field is used for optimistic message sending, something that I don't think webhooks even care about. The nonce is not stored anywhere, and is only used to match a MESSAGE_CREATE event with a pending http request. Additionally we also use the nonce to dedupe retried messages within a small time window.
Given this context, I'm not sure why nonce would need to exist on webhooks. The use-case you provide seems to be trivially accomplishable by recording the message id.
This sounds like a mix between a client and a bot request. Either way, not going to happen. If you don't want your bot receiving events for a guild, simply leave it.
This sounds like a mix between a client and a bot request. Either way, not going to happen. If you don't want your bot receiving events for a guild, simply leave it.
Additionally we also use the nonce to dedupe retried messages within a small time window.
Would this not also apply to retried webhook messages?
Perhaps - our use-case really for this is deduping messages sent on bad mobile networks.
Also, I think it could also be useful for interaction follow-up webhooks, no?
If Discord is going to implement dedicated read-only mode (currently done by bots with channel overrides), it would be better to not only disallow sending messages but also sending DM, reacting even with existing reactions and connecting to voice channels. So just like for members who did not pass Membership Screening, but also effective to members with roles.
A new permission should be added for this purpose, like "Switch members to read-only mode" (SWITCH_TO_READONLY).
If a member was s...
The nonce field is used for optimistic message sending, something that I don't think webhooks even care about.
Sorry if I wasn't clear; this is my use case. The application in question uses a bot and sends messages using bot-created webhooks (like many others).
The use-case you provide seems to be trivially accomplishable by recording the message id.
not sure how the ID is relevant here? since that's only generated when the message is sent
Of course that would be great but there could be problems with security because you could copy anything.
However, if you ask beforehand whether you want to copy it (and the text is displayed there) as with hyperlinks, that would be a very good function.
If you send a nonce, you can store the nonce before sending it to Discord, thus having an unlimited time between requesting a message send and waiting for a message create. if you rely on the message ID, it is possible that you get the message create before getting the message ID back, which can cause issues if you start waiting for a message with a certain ID after you already received it.
Wouldn't this be more of a general discord feature request rather than an api one?
That is the "computed permissions for the invoking user in that channel, including overwrites".
https://gist.github.com/msciotti/b1dabde51ebe2f3e875faf73a7a3509b
This should probably have been documented :thinking:
Used https://gist.github.com/msciotti/b1dabde51ebe2f3e875faf73a7a3509b as a reference
Wasn't sure if the channel object was the right place to include it but saw that permissions had been documented on the member object.
resolves #3379
Right now, the /profile endpoint is unavailable to bots (or, at the very least locked behind OAuth) and that's fine. It makes sense, but /profile contains the ability to pass a very useful query string, that is ?with_mutual_guilds=true.
As it says on the tin, this allows people to see their mutual guilds with someone else if any. Though, as previously stated, this is unavailable to bots under normal circumstances. But this comes in very useful in any situation where the need to se...
Odd. GitHub bad I guess. Didn't see that one before making this.
As discussed in #2644, applications managed by a team omit most scopes since they are not bound to a specific user; currently, this is not documented.
Proposed preview:

A Bearer token is also returned by the scopes applications.builds.read, applications.builds.upload, applications.entitlements, applications.store.update, however I opted to omit these, as they are ...
Don't care about the UI, I just want to be able to mute people via the API.
wouldn't it be better to put ; instead of . ?
Description
If a bot does not have the Manage Messages role permission, no gateway events are thrown if a private thread that the bot is a member of gets deleted. This seems to be the case regardless of any other combination of permissions (Manage Threads, Use Public Threads, Use Private Threads and others).
Steps to Reproduce
- Grab a bot with whatever setup of permissions it may already have
- Revoke the Manage Messages permission from the bots role
- Create a pr...
You can send a GET request to https://discordapp.com/api/v9/users/{user.id}/profile to get a user's Banner, Banner color, bio & linked accounts. This endpoint is not documented by Discord so I'm not sure if you're allowed to use it but use it at your own risk.
This endpoint cannot be used by bots.
- discordapp.com is deprecated
- doing requests with a user (non-bot) token is considered selfbotting and is not allowed.
Currently, when a Slash Command option is set to CHANNEL (Type 7), it will display every channel of every type in the UI when the command is called, so including Text & News Channels, Voice & Stage Channels, and Categories. If a command only works on specific channel types, this creates a hassle for both the user and the developer: the user has more options to scroll through which may get slightly confusing and overwhelming, especially at a large channel count, and the developer has to add ex...
Currently bots can't use [text](link) in the message content, but webhook & interaction messages can.
Imo It doesn't make sense to exclude bot accounts from using hyperlinks in the message content.
Maybe allow users too. Maybe with a permission like USE_HYPERLINKS to prevent misuse
or just attach it to the EMBED_LINKS permission..
1d09e3d Revert "Update Message_Components.md (#3207)" - devsnek
Reverts discord/discord-api-docs#3207
91ee324 Revert "Custom IDs are now validated by the API... - devsnek
Could this also account for incorrect hyperlinks? That would help a lot with fixing them.
I don't quite see how comparing the system time to Discord's time is bad practice. Sure, I've had clock skew of upwards of half a second on Windows, but that's Windows. NTP should get system time somewhat close to Discord's time -- close enough that even if your clock is ahead, network latency (you -> Discord) will be greater of the two. Additionally, you can check for major clock skew by consulting the
Dateheader in the response.In exchange, with
retry_after, you're losing how...
Can you elaborate on what you mean?
I'm enjoying Select Menus, but ran into the remarkably short length limits.
For each option, label is limited to 25, and description to 50.
To put that into perspective, the label limit is shorter than most things in Discord: channel names, role names, server names, usernames, and nicknames.
That's unfortunate, because those are the sorts of things bots will want to include in Select Menus.
Could the limits please be increased to accommodate more use cases?
Description
Hi. I was creating a Discord bot using Discord.js. But today, my bot just stopped working. I know that I definitely should contact Discord.js first in normal cases, but I don't think that this is Discord.js's problem. My app id is 858668862941560883 with the public key 2342f7030c9eed7461fbde4e9ed88ad661ef827bb35d35008285046cc6f8f59f. I tried running the bot but had no response at all. So I tried regenerating the token, but that still didn't work. Searching this problem, I...
you leaked your token in that video so reset that asap before someone abuses that
also this is behaving like you are running into the daily login limit (1000 identifies in 24h). enable debug logs to see if that's the case or not, as d.js will refuse to identify to the gateway then (doing so would trigger a token and limit reset).
Check your logs on what caused your bot to reconnect so many times, fix it and then trigger the token reset by disabling this d.js behavior or use another lib th...
It does seem a bit strange given that the functionality is already in place for markdown styled hyperlinks for interactions (at least for embedded voice application invites), and it's not like the confirmation popup wouldn't appear, so the user wouldn't be any more or less susceptible to clicking on a suspicious/shady link.
md links work for interaction responses because they're based on webhooks, and it's always worked for webhooks (probably for compatibility with other services)
The behavior that we (and you) see, outside of potential moderation issues, is people putting really sensitive, personal information in their bios. We aren't comfortable with that data being scraped.
authorization model is still a server owner accepting on behalf of everyone in the server. (...) same level of a field directly asking "Please tell me personal information about yourself".
(...) the case for things like duplicating bios on other sites isn't something we need to support....
The behavior that we (and you) see, outside of potential moderation issues, is people putting really sensitive, personal information in their bios. We aren't comfortable with that data being scraped.
authorization model is still a server owner accepting on behalf of everyone in the server. (...) same level of a field directly asking "Please tell me personal information about yourself".
(...) the case for things like duplicating bios on other sites isn't something we need to supp...
I absolutely agree, things should definitely not be easier which is why it is nice to see that's not available for bots out of the box. the only problem is, as you mentioned:
made easy for them and leave the door wide open for more, less intelligent malicious users.
gating that behind both verification AND privileged intents would be good enough to weed out the "less intelligent", it kind of defeats the purpose of building up trust to get to that level if the API still treats the a...
The behavior that we (and you) see, outside of potential moderation issues, is people putting really sensitive, personal information in their bios. We aren't comfortable with that data being scraped.
authorization model is still a server owner accepting on behalf of everyone in the server. (...) same level of a field directly asking "Please tell me personal information about yourself".
(...) the case for things like duplicating bios on other sites isn't something we need t...
Discord should prompt a message to not put out sensitive bio and stuff like that to prevent this in the first place however there are many reasons discord does or doesn't do stuff so I'll respect their decisions.
in my opinion bots just shouldnt have access to the about me. It literally says About ME. so while some poeple feel like filling it with eggplant or amogus emojis I think the majority of users uses it for what its made for: giving a bit of info about yourself like pronouns, age, p...
Looks like the animation transparency is a little broken on https://discord.com/developers/...

Hey hello there!
I would like to know If I can add via PR, a new example to handling the signed interactions via webhooks for clojure, the reason is the current example is very specific for ring users and depends on a binary installed on your server to work, which limits a lot where you can spin your bot/app server.
I made this simple function using a java library wrapped in clojure functions that receive fou...
Currently there is no way to reply to a button click without transforming the button style for everyone, or to reply with a new message to the interacting user. Often a new message is not necessary though, take for example reaction roles. After the button is clicked, the roles are given. There is no need to send a success message. Ideally the button would change styles just for that one user, which currently is not possible.
I would propose to implement a feature, where a button changes s...
I wanted to do a discussion regarding API, and came here instead of https://dis.gd/feedback, because on feedback it might end up somewhere, where it will never be seen or take a long time until it gets seen by atleast someone.
So, not sure how many know about the issue with "spam bots" or "scam bots", well basically user bots that join servers DM users phishing stuff. That's the issue.
Now, these user bots can access the API and let's say a server puts members in a place that can't se...
This wonโt be changed - we wonโt make the product worse to fight spam when when still have ways of fighting it in different avenues
This would require making message components stateful, which isnโt something we want to do. In the future weโd like to explore having Forms as a solution for stateful interactions, but thatโs down the road a bit.
You can kind of replicate this behavior with ephemeral messages though! Applying that as a change on top of an existing message is interesting, but I think it would lead to consistency issues for users
This would require making message components stateful, which isnโt something we want to do. In the future weโd like to explore having Forms as a solution for stateful interactions, but thatโs down the road a bit.
You can kind of replicate this behavior with ephemeral messages though! Applying that as a change on top of an existing message is interesting, but I think it would lead to consistency issues for users
I understand that the permanent change of the buttons style would require the message component to be stateful. But what about just the temporary style change (or even any kind of volatile response, like a checkmark animation or a confirmation popup for a few seconds) ?
The problem with doing the response as an ephemeral message is that it sticks for quite a while or untilthe user clicks it away. It is the current solution I use, but I don't feel like it's optimal. Multiple clicks will very ...
Exactly, I have tried but I ran into a problem that I have not been able to overcome and that is that the roles in discord can have up to 100 characters and the labels are limited to 25 characters and at most you can only create 25 options.
We could join efforts on this one; While ring-discord-auth has ring in its name, it does provide a plain verify function like yours.
If you want you can open an issue or a PR to suggest the use of a different library without native dependencies :smile:
Hey, good point, I'm using org.bouncycastle/bcprov-jdk15on afaik is fully implemented on java, can I open a PR using it in your repo?
We could split the ring/pedestal wrapper into different files and do some unit test WDYT?
Sounds great! Feel free to do that if you're up for it.
If this is implemented the select should also show permanently which roles, channels, etc user has instead of looking it up manually
Hey I opened an PR https://github.com/JohnnyJayJay/ring-discord-auth/pull/2, I first wrote the unit test for your wrapper and then moved to refactor the code, but I would like, if possible, you to test it in you server.
Thanks.
Just have it as a color picker, so users don't have to find the color from browser.
When attempting to patch a guilds vanity url, sometimes the error will be
{"message": "Invite code is either invalid or taken.", "code": 50020}
While other times
{"code": 50035, "errors": {"code": {"_errors": [{"code": "GUILD_INVALID_CODE", "message": "Invite code is either invalid or taken."}]}}, "message": "Invalid Form Body"}
The latter seem to happen on URLs that have been disallowed by discord, would it be possible to get some clarification on when the second error will occur.
I am creating a server that fixes twitter video embeds and it is nearly perfect

But as you can see the only thing that this is missing is the ability to show the tweets text as a description, Allowing this would help to let normal people embed videos in more professional looking ways from both projects like this and personal websit...
Sorry for the spurious issue, but there are no issues enabled on the repo in question.
Is the open source program still running? I see hundreds of unmerged PRs of people attempting to add their servers to the list.
https://github.com/discord/discord-open-source/pulls
This includes my PR I just submitted:
https://github.com/discord/discord-open-source/pull/397
If the program is no longer active, that's fine, but in that case please update your docs to not encourage people to add...
They're groups of commands under a specific label and icon that you can optionally lock to specific guilds
Are they like:
/perms list
/perms edit
Guild wise permissions for global commands exist
You can disable the premium only command and then enable it for 5ye premium guild using the sea everyone role ID
Description
The select component options display opens and remains open after the in app notification link has been tapped on and has navigated the user to another channel/guild.
Steps to Reproduce
Open the select component options display.
Tap on an in app notification before the select component options open animation begins.
Expected Behavior
Either:
The select component options should not display when an in app notification is tapped on.
Or:
The in app notification link...
This pull request adds an info block to all endpoints that support the X-Audit-Log-Reason header, and removes the explicit parameters for those that had them documented.
This is based on the list of events that are classed as arising from "admin actions"; however, it may not be exhaustive. Feedback and review on potentially missing endpoints would be very much appreciated before merging.
Fixes #3165.
I prefer (and rely on) the current behavior; maybe a "force" option could be added instead of changing the normal behavior?
It would probably make more sense to deprecate current JSON body reasons rather than removing them. Perhaps discord should remove them in v10.
Pretty short one: It would be great if bots could use stickers from their servers in other ones they're in. Currently we're limited to using them in the same server they're uploaded in.
It would be nice if the guild preview endpoint could return stage instances for the guild.
My bot uses this endpoint to display info of public guilds but prevents showing any that aren't considered public since the endpoint returns data about any guilds the current user is in.
I currently use the DISCOVERABLE feature to check if a guild is actually public to prevent leaking information about guilds my bot is in that aren't public but if a server has a public stage, they do not get s...
+1, but I'd also highly advice adding some kind of way to type and search in the select menu as guilds can have heaps of channels and scrolling through them would be a time intensive task
Whats the use case for this over setting null?
If you want searchable, you should use a slash command. This should only be used to present a small subset of the available, chooseable by the developer instead of by the user.
You can disable the premium only command (
"default_permission":false) and then enable it for the premium guild using the everyone role ID for that guild (basically the same as that guild ID)
That still does not solve the slash command organization. What he means is something like this:
Administration:
- /warn
- /ban
- /kick
Fun: - /meme
- /dog
- /cat
Of course, this would mainly be a visual request. However, it could potentially include the ability to sync permission...
Would it be better to simply not get too much into detail about each description instead?
those definitions will change over time
if they are changing wouldn't this be breaking? It's a bit ridiculous to check if nsfw_level is 2 or 4 already...
I wanted to submit a library I'm familiar with, which is aoi.js, to be in the list of community libraries.
These two files are what aoi.js request and handle system are.
They are also handled by discord.js hence preventing any future rate limit:
Extension libraries aren't added in this repository.
The webhooks update event provides a guild ID and channel ID, but doesn't tell you which webhook was updated. It also doesn't specify if it's possible for multiple webhooks to be updated at once.
This data can be found if your application caches webhooks by fetching the channel's webhooks and comparing the data, but not all applications might find caching all webhooks to be practical. Other update events, such as guild/c...
The reason for this (and the guild integrations update event) is really for the client to reload the webhooks/integrations in the UI. We did this somewhat as a quick hack to simplify the protocol.
It would be interesting to know under what circumstances this information is relevant to bots. I don't think that a bot should attempt to maintain a mapping of active webhooks. We do not send this info in GUILD_CREATE for example, so it isn't really state that a bot could start out with that nee...
The reason for this (and the guild integrations update event) is really for the client to reload the webhooks/integrations in the UI. We did this somewhat as a quick hack to simplify the protocol.
It would be interesting to know under what circumstances this information is relevant to bots. I don't think that a bot should attempt to maintain a mapping of active webhooks. We do not send this info in GUILD_CREATE for example, so it isn't really state that a bot could start out with that nee...
My bot caches a full list of webhooks in a guild, because it needs to use webhook specific features (custom username/avatar, emojis from servers bot isn't in).
My current solution is to download a full list when I don't have any, and then use that until one of my webhooks has moved or gets deleted, and then downloading the list again. This generally means you don't need continuous updates, except for the case when a user moves a webhook and you can't know where it is until you post a messa...
Some routes don't return rate limit headers (Such as when creating webhooks), and some people (including myself) have been confused with the Header Format section stating "For every API request".
In additional context, creating a webhook for a channel does not return with rate limit headers, and some bots (such as NQN) may need to create webhooks for every channel, and since they that end point doesn't return with rate limit headers, they can't respect the rate limits put in place, so they...
My bot uses it to keep track of it's own webhooks and check for them getting deleted
My bot needs to keep track of it's own webhooks and check for them getting deleted
You'll know when the webhook is deleted when you try and invoke it though. That's the intended use of the API.
This generally means you don't need continuous updates, except for the case when a user moves a webhook and you can't know where it is until you post a message through it (or download the full list again through the get webhooks endpoint)
Either way you would miss these events when the bot is offline anyways, and you have no real means to sync webhooks without re-fetching them all...
This PR:
- Adds instructions for CMake/Make build tools.
- Add more details regarding how to retrieve the SDK binary file and attach it.
It would be nice to actually do this, since I've seen users who also use CMake as their build tool, and to shed some light to beginners who are using this as a learning resource. The latter might be quite unusual - there are good C++ developers (I'm sure including Danny) who know the stuff already, but here it is anyways.
In the docs section of the Application Command Interaction Data Resolved Structure, it is stated that "Partial Channel objects only have id, name, type and permissions fields". However, looking up at the Channel Object reveals that there is no "permissions" field, but only a "permission_overwrites".
Just realized there is a template for this type of issue. Closing this one.
In the docs section of the Application Command Interaction Data Resolved Structure, it is stated that "Partial Channel objects only have id, name, type and permissions fields". However, looking up at the Channel Object reveals that there is no "permissions" field, but only a "permission_overwrites".
Steps to Reproduce
None
Expected Behavior
The documentation is coherent.
Current Behavior
The documentation isn't coherent.
Screenshots/Videos
None
*...
Is that not a permission field, tho?
It is, however on the docs it appears styled as <code>, so I expected it to be literal.
it's not a typo, it's a different field which hasn't been documented yet, #3401 documents it
You're right. I didn't go through the PRs.
Description
Add alternative text for embeds when user disabled "Show website preview info from links pasted into chat"
Why is this needed
Many bots are using embeds for response, but user cannot see embeds if they disabled "Show website preview info from links pasted into chat".
So user will see like this:

You can send message with content like this:

You can send message with content like this:

- Option to globally hide/show members by id (instead of doing it per guild)
- Option to (globally) show/hide a command by Discord guild permission (eg. on all servers where ppl. got "Manage Server" they are allowed to use command x
Why This is Needed
While implementing permissions i...
Manually moved issue #2877
Description
Add eg. in the Dashboard the ability to customize the interaction failed message. This allows developers to provide more information or links where the user can get help.
This also applies to "Invalid interaction application command". A user didn't know what happened, except knowing that some issue occurred indicated by the text color and exclamation mark
Why This is Needed
Currently, the "This Interaction failed" message isn't...
Same for me: I created a PR about 3 months ago, and no one has reviewed it or even posted a comment yet.
I'm having trouble following this, can you elaborate more? The description really confused me.
- Manage messages has no relation to threads, so I don't really get why that is called out
- The description makes it seem though that manage messages is really important to this particular bug, but then says "regardless of any other combination of permissions (Manage Threads, Use Public Threads, Use Private Threads and others)."
But if that were the case I don't get why the bug wouldn't just b...
Can confirm the issue the author describes:
I just made a private thread, added my bot to it, and deleted the thread but no gateway dispatch of any kind got sent after the delete occurred. No member(s) update, no thread delete. The bot even sent a message in the channel right before that. Retried multiple times and got the same result. After I granted the bot a role with manage messages, it properly received the thread delete.
I also managed to consistently receive MESSAGE_CREATEs for a...
I see I see, maybe there were trying to say "no other combination of permissions produces this behavior" that it's specific to manage messages and nothing else. Ok.
This is perplexing though
Merged my suggestions into @JohnnyJayJay repository, thanks for your help, patience, and work for the community Johnny.
We could join efforts on this one; While ring-discord-auth has ring in its name, it does provide a plain verify function like yours (it's called authentic?).
If you want you can open an issue or a PR to suggest the use of a different library without native dependencies, I'll be happy to implement it since it is a good point :smile:
The rate limiting code seems good. I have a couple questions about other stuff in the repo:
-
This seems to be a general C bot API for a few services (Discord, GitHub, Reddit). Is the non-Discord code still supported? It's there, but all the documentation references Discord examples. Is the intent to keep this as a generic multi-API bot library?
-
I see Slash Commands and interactions are on your roadmap. Is there an ETA on their implementation? While we've not taken an official stance ...
Appreciate this, been meaning to do some cleanup on that code. Let me pull and run this locally to see how it feels.
Awesome. I got a little bit of feedback on this section, splitting it up per interaction type (eliminating that for slash commands, for components, for some future interaction stuff). Any thoughts on this?
Thanks for the report, I have fixes for both things and those should get deployed in the next few days!
@apacheli That's fair enough - I've readded the removed parameters and marked them as deprecated instead :)
Add that the component messages can also be sent in dm It will do a lot, but this is what I mean if you execute a command in a channel the message is sent in dm with buttons or selectmenus
The diff is so large that it doesn't like me commenting on lines directly, so sorry for not having links ๐
I think Application Command Interaction Data Option Structure at the bottom of Slash_Commands.md can be removed, since the Interactions Data structure has all the relevant fields now (thanks for that).
In that table, we can also note the interaction type that the field is valid for. A fourth column that is just a list of types, like what we do for PATCH channel
.RegisterCommand("chrome.exe https://google.com"); and
state.core->ActivityManager().RegisterCommand("https://google.com");
Neither of above command worked to reflect the game launch link in the users rich presence status. Does the registerComm...
Perhaps you'd like to be more specific... but otherwise,
- bots can send a message component inside a DM, AFAIK, there are no restrictions.
- I recall a bug wherein buttons don't show up in DMs, so check if you're up to date.
- not sure what "message" therein means, but if its an error, its because you need to respond back to any interaction.
- it's possible to send a message with components in a DM if the "command" was triggered in a guild.
coughs I think we can get about me/status of user without the need to share guilds and bots with them. By just getting an id of a user, we can make a request to get their tag (username#tag) and use it to make a friend request (and while the request is not being accepted, we can click pending requests and click on their profile to see their status and about me. So how is security being maintained here?
Bots can't do anything with your data, it's indirectly a user behind the bot who wants to...
Are you sure that this is right?
wants to merge 519 commits into GamingGeek-master from master
probably not
I like that for the table yeah.
I had left that data structure there because that is the internal options object that only applies to slash commands. (including value and type which do not exist in the top level data structure ever...as of now)
Currently, the Create Message endpoint accepts the nonce field and includes it in the sent message, but the Execute Webhook endpoint does not accept the nonce field.
The nonce field is useful for matching new messages with stored unsent messages. It would be useful for applications that use webhooks to send messages to channels. The messages can be matched using the content, but this is not fully reliable due to Discord's message normalization, which is likely why the client sends the ...
The nonce field is used for optimistic message sending, something that I don't think webhooks even care about. The nonce is not stored anywhere, and is only used to match a MESSAGE_CREATE event with a pending http request. Additionally we also use the nonce to dedupe retried messages within a small time window.
Given this context, I'm not sure why nonce would need to exist on webhooks. The use-case you provide seems to be trivially accomplishable by recording the message id.
This PR removes embed visualizers section in community resources because the only listed visualizer is outdated(last commit was made on 4 years ago) and can cause confusion as it uses deprecated embed field and the code generation for libraries are outated too.
Description
When you cancel the session through tapping on "Cancel, and return to discord" hyperlink, it takes you to a "Successfully page", and the post code returns 200, instead of 400 like it does when you for example cancel a twitter connection. It'll return to this page, https://i.imgur.com/P4VGbV4.png
Steps to Reproduce
- Head over to billing settings
- Click on, "Add payment method"
- Select PayPal
- On browser click on "Cancel, and return to discord inc"
- Observe...
Upvoting this! In our usecase we require our members to link their Discord account with their account in our organisation, and until that doesn't happen the member will be unable to type in any guild channel. In order to force an update of their roles we would like to use a slash command in DMs where the user indiicates the guild in which they want them updated once they have linked their accounts together.
Are u sure member add supports x-audit-log-reason?
Description
When responding to a select interaction with a message it doesn't reset the state for the user.
(but responding with type: 7 it does reset the state for the user, but you can't respond with a message)
Steps to Reproduce
{ "type": 4, "data": { "content": "test", "flags": 64 } }
- For a message response (doesn't reset the state)
{ "type": 7 }
- For the state to reset.
Expected Behavior
Both should reset the state for the us...
We've built a pretty robust, up to date embed visualizer for Discord and would love to have it included in the community resources section.
This embed builder includes up to date feature parity with the embed API, including buttons and select menus!
5992184 Add Autocode embed builder link to community re... - threesided
yeah this endpoint doesn't accept that header.
I modified this pr to remove only one resource because of newly merged #3442
In your project settings, you'll want to include the relevant library (e.g. `discord_game_sdk.dll.lib`) as an additional dependency.
I've built a visualization and code-generation tool for Discord slash commands!
To my knowledge it's the most robust slash command builder out there. This tool helps to generate and visualize how slash commands will show up in your Discord server. Allows for full UI based Slash command creation, with access to the underlying code for further development and modification.
Current features:
- Can register guild-specific and global commands
- Handles complex option configuratio...
May I ask, why does this tool require users to link their discord account?

May I ask, why does this tool require users to link their discord account?
@webtax-gh
As it's written in the description:
- Can register guild-specific and global commands
- For registered Autocode users, will register the commands upon save and generate event handler files for commands as needed as well!
I guess that's why.
May I ask, why does this tool require users to link their discord account?
@webtax-gh
As it's written in the description:* Can register guild-specific and global commands * For registered Autocode users, will register the commands upon save and generate event handler files for commands as needed as well!I guess that's why.
My worry here is that registering the commands for a user would require the user to provide a bot token. IMO it's not th...
My worry here is that registering the commands for a user would require the user to provide a bot token. IMO it's not the thing Discord should promote even if it is legit.
I agree
May I ask, why does this tool require users to link their discord account?
@webtax-gh
As it's written in the description:* Can register guild-specific and global commands * For registered Autocode users, will register the commands upon save and generate event handler files for commands as needed as well!I guess that's why.
...
I'd like to add here that stickers should be handled in a manner more like emojis in more ways than one. I've found that if we're looking to track stickers at all, we have limited access to sticker info, like which guild a sticker's originating from. Ideally, a list of stickers would be provided at GuildCreate event, as is provided with emojis. This would then allow us to track/limit stickers in a guild to allow only stickers uploaded to the guild, rather than limiting both external emojis ...
the guild object (including in Guild Create) already has a stickers field with an array of stickers
That's interesting. I didn't see anything about it in the docs, so I'd assumed it had been left out for whatever reason. I'll look again and do some testing on my end. Thanks advaith.
its in the guild sticker pr #3128
Isn't that the wrong place for such a report?
This should belong in discord testers I guess.
Discord Testers doesn't take billing related bugs iirc.
I did notice there's a sticker_items list, but without the now mentioned stickers object on the guild itself, it seemed weird, given stickers aren't documented in the guild object yet. I've yet to test this on my end, but that's where my confusion was initially.
Sticker supports it too
In case you missed it
(I think)
Which endpoint are you referring to?
As for bios, we absolutely hear the moderation use cases, but we're not comfortable making those accessible right now.
The behavior that we (and you) see, outside of potential moderation issues, is people putting really sensitive, personal information in their bios. We aren't comfortable with that data being scraped.
[...] Presence information that shows what you're doing or short-lived custom statuses just isn't at the same level of a field directly asking "Please tell me per...
I can confirm as of now that this is no longer reproducible. Thank you!
I think we can get about me/status of user without the need to share guilds and bots with them. By just getting an id of a user, we can make a request to get their tag (username#tag) and use it to make a friend request (and while the request is not being accepted, we can click pending requests and click on their profile to see their status and about me.
this is not true.
Everyone is able to view your bio, even without being your friend or sharing a server with you. Just your name an...
@advaith1 Alright, my mistake. However, once you join a single discord server, you always have to expect that strangers can join said server and will therefore be able to see your data. And I don't think that bots should be able to see everyone's bio either, just of the ones they share a server with. Which everyone sharing a server with them can definitely see.
I believe the incorrect behavior is what you displayed with type 7 actually. IIRC selects are supposed to locally retain state unless the component is updated. It appears the component is being "updated" even though it should not.
We'll serialize the banner image hash on the user object so that bots can start passively getting that field.
As for bios, we absolutely hear the moderation use cases, but we're not comfortable making those accessible right now.
The behavior that we (and you) see, outside of potential moderation issues, is people putting really sensitive, personal information in their bios. We aren't comfortable with that data being scraped.
Privileged intents are great, but the authori...
@Milo123459 I think the primary problem is that it would just confuse most users since the average Discord User usually has no clue what an API is.
What about something simpler, "Allow bots to see your bio"?
Good idea. So something like this, maybe? (Quick concept design, looks horrible, I know)

And if it's disabled it could just return an empty bio...
That looks good. +1 on that.
Sticker supports it too
In case you missed it
(I think)Which endpoint are you referring to?
Sticker create
Sticker update
Sticker delete
These are in the audit log too
Am I right @devsnek
Sounds like a fair solution for everyone. +1
Ah, you mean the ones in #3128 - either @advaith1 or I will need to modify our PRs once one or the other gets merged.
af649d4 Remove embed visualizers in community resources... - ShockTr
Ah, you mean the ones in #3128 - either @advaith1 or I will need to modify our PRs once one or the other gets merged.
ok got it
Spammers would just turn that off and it would defeat the moderation reasons to have that enabled. Sounds like a good idea, but I don't see why it would help bots to see normal person bios but not the spammer bios.
@BenSova Well, there are more use cases than just Moderation, such as the one described in the original post.
Of course, a different option, which would also make usage for moderation possible, would be optimal, but this is at least better than nothing, in my opinion.
Description
On Android, after having already selected an option on a dropdown, editing the contents of the dropdown such that the old value is no longer valid, the text stays
Steps to Reproduce
- On a dropdown, select an option
- Edit the dropdown so it has different default items
Expected Behavior
- Update the text of all dropdowns to the default option/placeholder on an edit which changes it
Current Behavior
- It doesn't change
**Sc...
Description
On Android, a select with 25 options doesn't show correctly, instead repeating some options from earlier.
Steps to Reproduce
- Send a select menu with 25 options
- Open it
Expected Behavior
- Each option is shown in order exactly once
Current Behavior
- Some get shown multiple times
Screenshots/Videos
On android: https://cdn.discordapp.com/attachments/471069217391771649/864925905118167050/Screenshot_20210714-18463...
Description
https://discord.com/developers/docs/resources/audit-log#audit-log-change-object-audit-log-change-key
The name key can also appear when a channel gets updated.
Steps to Reproduce
- Change the name of a channel
- Fetch the audit log
Expected Behavior
In the Object Changed column it should say guild or channel. (and maybe webhooks and other things with names. Haven't tested that)
Current Behavior
In the Object Changed colum...
Isn't that the wrong place for such a report?
This should belong in discord testers I guess.
This is the correct place :)
GraphQL!
A lot of companies are switching from using REST APIs to using graphql and I think it's time for Discord to switch too. I see a lot of pros of using graphql. Maybe this could be released in API version 10 or something like that. Some pros of using graphql:
- Save bandwidth by only requesting data that is needed
- Run multiple queries or mutations in one request
- and many more!
I don't know why Discord isn't already using GraphQL like [some other companies](https://docs.g...
Client bugs are unfortunately not eligible for reporting via Discord's API documentation repo.
While cool, I think the chances of this happening are pretty much zero. GraphQL would take a lot of work from the entire company to ship, from infra to developers working on well-known GraphQL gotchas like caching and loading strategies. It's really hard to justify that investment, and would delay us from shipping other cool features for you all instead!
While cool, I think the chances of this happening are pretty much zero. GraphQL would take a lot of work from the entire company to ship, from infra to developers working on well-known GraphQL gotchas like caching and loading strategies. It's really hard to justify that investment, and would delay us from shipping other cool features for you all instead!
7684d79 Add missing fields to Component and Select Menu... - tim-smart
The user's banner and banner color appear to only be returned on the canary API currently, and only a small percentage of users can set their banner color.
Perhaps you'd want to also document the image formatting reference: /banners/user_id/user_banner
| banner_color? | ?string | the user's banner color as a hex string prefixed with "#", or null if unset | identify |
Yes, I wrote that before I realized it's a hex string lol
Perhaps you'd want to also document the image formatting reference:
/banners/user_id/user_banner
Done.
| User Banner | banners/[user_id](#DOCS_RESOURCES_USER/user-object)/[user_banner](#DOCS_RESOURCES_USER/user-object).png \* | PNG, JPEG, WebP, GIF |
| User Banner | banners/[user_id](#DOCS_RESOURCES_USER/user-object)/[user_banner](#DOCS_RESOURCES_USER/user-object).png \* | PNG, JPEG, WebP, GIF |
q for staff: is there a reason banner_color is sent as a string, and not as an integer? embed colors and role colors are sent as integers, so this is inconsistent
Description:
The oauth scope, applications.commands.update was moved to a client credentials only scope as seen in issue #2443. However, a better alternative would be to add it back as a regular oauth scoped and make it more descriptive during the authorization flow since there are genuine use cases for it.
Why This is Needed:
Registering and managing application commands is more of a one time process, it is not something that developers should really have to write a lot of...
Here it states that bots are able to change channel overwrite permissions for other users, given that they either have an overwrite with MANAGE_ROLES allowed in the channel, or have the permissions they are attempting to change allowed for themselves.
While the former case works, the latter doesn't seem to.
To reproduce:
- Make a new server and clear all default permissions except
VIEW_CHANNEL. - Cr...
re ^, they'll change it to an integer

Slash commands were officially announced to the public on 24 March 2021, but they're still disabled by default for a lot of users.
Could Discord please provide some indication of when they expect the feature to be enabled by default for all users?
As it stands, short of asking users to enable the feature, bots either need to implement both classic commands and Slash Commands, or just stick with classic commands. Otherwise,...
It is enabled for everyone, unless the user explicitly disabled the new text box at some point, in which case they will have to undo that and re-enable it.
The unfortunate part of this is that the toggle is all-or-nothing. I don't want the markdown preview, but I can't have slash commands without it, so I've opted to keep it off unless I specifically want to use a slash command.
There was some discussion over at https://github.com/discord/discord-api-docs/issues/2368 about letting individual features of the new text box be disabled, but that discussion died quickly -- and in any case, I wouldn't expect Discord to find it worth the effort.
Interesting.
Most users seem able to use Slash Commands, but some can't, and don't recall disabling the setting. It's possible that they disabled it before the label mentioned Slash Commands. It's not a great state of affairs.
Description
Community update crosspost messages' message_reference object now is missing guild_id, which does not comply with docs (which says that crossposts always have guild_id) and also breaks the SYSTEM tag on these messages in the client, showing a SERVER tag instead.
Steps to Reproduce
- Have a channel that has received Community Update crossposts (not just the setup message)
- Fetch the message via the API, or observe the SERVER tag in the client
Expected Be...
- #3128 already fixes this :)
Description
Ephemeral message content is not deleted by PATCH request.
It does not occur at the non-ephemeral messages.
Steps to Reproduce
- Send an ephemeral reply to interaction with the content field
- Update reply with
content: ""
{
"content":"",
"embeds": [
{
"description": "y"
}
]
}
- It looks like this

**Expected Be...
It is enabled for everyone, unless the user explicitly disabled the new text box at some point, in which case they will have to undo that and re-enable it.
advaith is right in that they're globally available, but there is a setting that disables them for users. If you have reports of slash commands not working with that setting enabled, please report it to the dtesters server!
1d4857e refactor(SDK): improve C++ SDK starter steps (#... - J-Human
ab9e385 Document endpoints that support the `X-Audit-Lo... - Nihlus
This would be really useful
I was thinking there could be some method to indicate the reason for the permission when a user is adding a bot via the oauth bot scope. This can be useful for the user to tick off the permissions that they think isnt useful for them. 1 potential way of this could be to set reason for each permission ( or permissions that were ticked) in the oauth2 tab of the application, and then those reasons are saved and showed again whenever any oauth link is used. Other method could be to use url parame...
I ran into this issue today, except it's a required user option and a non-required integer option. The required user option works fine on its own, but if you try to specify the second option it tries to read the rest of the message string as part of the user option value, which is invalid.
I have the same issue if the user option is not required. Seems like so long as is specified before another option it will try to interpret other options as part of the u...
Is this true for new ones as well? or just old crossposts?
it definitely broke for old ones, probably about a month or two ago was when we "fixed" a bug that was causing like 100kqps unnecessarily
But i'm 99% sure all new crossposts should have it
Fetching the message of the latest community updates post from June 1st (named public server updates in my image since it was added quite a while back) shows no guild_id field

There hasn't been any posts since so there's no way to tell if it has since been fixed.
looks like 6/3 was when it was fixed, so 6/1 would still have the issue
try the most recent messages from DDevs maybe? I published all the threads announcements for example, so the most recent of those should have guild_id set
try the most recent messages from DDevs maybe? [...] those should have guild_id set

Checked the latest message about app descriptions and indeed it does
currently only supported in canary client & api
This is now added (in canary) as option type 10 NUMBER! documented in #3455
| value | string, integer, or double | value of the choice, up to 100 characters if string |
This is now added (in canary) as option type 10 NUMBER!
- documented in #3455
No, that's subcommands. Slash command groups are like icons/tabs in the commands menu, where top-level commands are. Like how multiple bots can have commands with the same name, because each command is in a different group.
It's half visual, but there's also the benefit of locking specific groups to specific servers, like you could have a Premium group that only specific servers who payed to use your bot can access. The permissions idea is also good though.
Bots and webhooks are unable to create embeds with videos in them. There's a self-closed issue requesting the feature with the response being "Thanks for linking the create message docs. We don't support videos in bot/webhook embeds yet, but hope to in the future." but there haven't been any updates since.
Another thing to note, if this gets implemented, the client would need to not throw the user to the dms list when clicking any discord:// link that doesn't direct to a channel
This should be decimal, not hex. A decimal of a hex value to be more precise.
The Select-Menu feature hasn't sufficient documentation for the gateway interaction event.
There's a generic example of what it responds, but the fields aren't documented
I agree, this feature is wonderful and must be documented at least a little bit more!
Yeah, this definitely needs to be solidified in the docs.
Interaction docs as a whole are quite messy imo. Eg. component related fields being in structures that are supposed to be for application commands. Quite a bit of the interactions docs definitely needs some work.
Pretty sure that PR #3195 aims to tidy up the Interaction docs
currently only supported in canary client & API
Does not work for me in canary client

But the bot is able to create the option choice via canary api.
cant reproduce, not sure what's going on there
On which build you tried?
Mine:
Canary 90350 (64f9f60)
Host 1.0.37
Windows 11
I used the same, on desktop and web
however that looks like an error coming from the API; maybe it's going to the stable API somehow?
Description
The documentation doesn't make it clear when the THREAD_MEMBER_UPDATE event is sent. The description of the event says that it's sent when the client user's thread member object is updated, but there aren't any fields in the object that can change. The ID and user ID can't be updated, the join timestamp has other events that are fired when it's modified, and bots can't use notification settings mea...
it seems to be triggered when a thread the bot is in is unarchived, even though the object doesn't change ๐ค
this tbh, this would be very useful when a person who is new to discord or something is adding the bot as they might not know what the bot does
i did make a fr for this too, this tbh
i guess there was a thing for it which would throw a pop up when someone would do for lets say my bot has a prefix b! so, if i person would do b!race then it would pop up all the command beginning with race or related words, but the problem i had with that was that it was too annoying, it basically would throw a pop up for example if i do /[\w]{0,}[\W]/ feel free to tell if its wrong it would throw a pop up, and also tbh, i don'...
um... yes that exists but its also totally unrelated to what this (good) feature request is for
With the addition of this feature reply support for announcement channels could be added, because currently you can't publish a reply.
Description
The uploaded files for stickers are not validated correctly. To demonstrate this, I have uploaded a zip file with the file extension changed to png.
Steps to Reproduce
- Rename a small zip (or possibly other file) to
.png. - Upload it as a sticker.
- Downloading the uploaded file from the cdn can verify that it is indeed the same file uploaded.
Expected Behavior
The uploaded file's content is validated correctly and restricted to allowed types.
**Curre...
I agree! it would help me implement more stuff!

Published messages in announcement channels don't copy their buttons over. It would be great if this were possible and they were interactable.
I think they should bring back the verified bot developer badge
hmm, i looked into the registered commands and it should be right
but it submits value null on sending the selected option
{
"id": "865312750930493491",
"application_id": "822242444070092860",
"name": "volume",
"description": "Modifies the volume",
"version": "866326834736136244",
"default_permission": true,
"type": 1,
"guild_id": "823210634237444159",
"options": [
{
...
Request to: POST https://canary.discord.com/api/v9/interactions
{
"type":2,
"application_id":"822242444070092860",
"guild_id":"823210634237444159",
"channel_id":"865331165346660393",
"data":{
"version":"866326834736136244",
"id":"865312750930493491",
"guild_id":"823210634237444159",
"name":"volume",
"options":[
{
"type":10,
"name":"volume",
"value":null
}
]
},...
We have no plans to do this.
We have no plans to do this.
Isn't this present on components too? Might want to clarify the when the command part if so
This is missing values from Select Menus
Since now banners got released to the API it would be great if Interactions will get the banner hash as well the same bots do.
The message author data doesn't include the banner & banner_color fields aswell.
It would brought up with Mason but no official response if they would add it to there aswell.
Feels kind of weird to me to refer to it as decimal given it's not really decimal? Embeds just document color as "color code of the embed" so something like "color of the user's banner" might work better.
role color has a longer description because obviously it can't be consistent
| banner_color? | ?number | the user's banner color encoded as an integer representation of hexadecimal color code | identify |
Shouldn't this say its rgb?
I just based it off the rope color docs, might be good to change both
Oh I get it, that would be helpful yes. It would be interesting to see how permissions will work in that though.
I don't see a use case for this. Would you mind giving one?
Yeah, this should be implemented but I don't like the idea of an entire tabular representation, might be good enough if there were tooltips on top of each permission to tell what each permission does. This might be hard to implement though because OAuth URL's don't store stuff.
Hidden option which completely removes the command from the command selection (instead of grey it out)
The commands are actually supposed to be hidden instead of being greyed out iirc, for now they just grey out and it will probably be seen to in the future. As for the other stuff, we really need them, this will solve a lot of issues.
And I had considered the fact that using Discord permissions might interfere with role and user perms, modifying the roles that can use it could just pro...
('Uploaded Lotties cannot contain rasterized images such as PNG or JPEG', 170002)
('Sticker maximum framerate exceeded', 170003)
('Sticker frame count exceeds maximum of 1000 frames', 170004)
('Sticker frame rate is either too small or too large', 170006)
This PR should help eliminate a small amount of confusion when trying to use ephemerals, followups, and ACK.
The first followup response after you defer(ACK), has a few special rules to be aware of. The flags property of 64 can not be changed. If you ACK with a flag of 64 then your response will also be ephemeral. If you defer, without a flags property of 64 you can not then respond with a ephemeral response.
I have a followable channel in my server which allows users to subscribe to some feed. It's got a command that is sent but also a button on my server which users can press to automatically subscribe without further interaction
This is still an experiment and therefore the API is subject to change, will revisit once the feature is finalized
bc27aea document permissions field on channels (#3401) - AnotherCat
0fc4eca Fix wording for header format. (#3426) - flleeppyy
aa86378 Add Autocode Slash command builder to Interacti... - threesided
This is still an experiment and therefore the API is subject to change, will revisit once the feature is finalized
Not released yet and therefore the API is subject to change, will revisit once the feature is finalized
The problem is that it might be possible that the bot you expect to respond to the reaction will be there in the other server. So this will become a problem, and those webhooks are type 2 (Channel Follower) which have no link to an application by any means (as per my theory). So it would be pointless for them to be able to create message components which have no endpoint to send the interaction to.
I believe there is a plan to revitalize the open source repo. Stay tuned
Does the registerCommand support http or https protocol?
No :(
Discussed in https://github.com/discord/discord-api-docs/discussions/3316
Originally posted by davfsa April 8, 2021
Description
I would like to continue the discussion in #2723 and request a standardization of what Unicode Emojis the API accepts as valid.
Why This is Needed
After looking at what Discord uses internally in the client (thanks to @Emzi0767's extraction of the internal list...
Rather than a big info block, let's just restructure this a little:
Create a followup message for an Interaction. Functions the same as Execute Webhook, but
waitis always true. Thethread_idquery parameter is not required (and is furthermore ignored) when using this endpoint for interaction followups.
flagscan be set to64to mark the message as ephemeral, except when it is the first followup message to a deferred Interactions Re...
Should be fixed in an upcoming deploy
Found this answer on StackOverflow.
The Ephemeral Messages FAQ and Developer Documentation on Interaction Responses show that only interaction responses currently support ephemeral messages.
There will not be any suppor...
Found this answer on StackOverflow.
The Ephemeral Messages FAQ and Developer Documentation on Interaction Responses show that only interaction responses currently support ephemeral messages.
There will not be any suppor...
Pretty much this - ephemeral messages would be a huge abuse vector if we opened it up to non-interaction events. They would require a massive reworking in order for us to properly monitor them
With a "stop receiving notifications from this bot" button, it creates the same problem as DMs do, such as having the bot simply blocked, or causes accidental pressing of the button. If you have to turn on the interaction, then most people will not have them activated to use them for moderation.
This is a feature request to make it work as you might expect it to, not a feature request to add useless buttons
To be fair, I upvoted this suggestion for two use cases. One is auto moderation that has some sort of response. Typically these responses are automatically deleted by the bot after a short period of time, meaning the user may not have a chance to fully understand what it is saying, imagine if the clyde messages disappeared after 5 seconds or something. The other has actually been replaced already by buttons!
I think that second one brings up a good point though. As we get more interaction ...
But still, not having the bot in the other server might be an issue as I told. How would that be handled?
Hello, While writing an application that uses the Discord OAuth2, I found a documentation or API bug. In docs https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-scopes says that if we use scope "identify" it returns /users/@me without email but it returns with email (screenshot in attachments). In the screenshot you can see the scopes I use and the response from the Discord API. I used 9 version API.

Just transcribing the video they sent:
- Open a thread
- Let the bot send a message that has any kind of interaction on it
- Interact (heh) with that interaction
- Defer the interaction
- Archive the thread
- Respond to the interaction
- ๐ฅ
[discord/discord-api-docs] New comment on pull request #3466: Clarify Ephemeral Usage With Followups
I thought the "first followup" details were intentionally not documented because that's only for backwards compatibility and shouldn't be relied on? the correct way to update the deferred response is by Edit Original Response, not by sending a followup
I don't see how this couldn't behave differently to a slash command only bot
I'd love to see up to 8 buttons per row and 8 rows per message on bot responses so I can make a super interactive chess game!
The 5 row limit comes from mobile I believe; adding more rows would look even worse on small screens than a full action row already does.
The 5 row limit comes from mobile I believe; adding more rows would look even worse on small screens than a full action row already does.
^ This is correct. There are some implementations of Mini Chess which works on a 5x5 board, and I agree a full sized Chess app would be awesome, but it isn't something we want to sacrifice mobile UX for
accent_color is now sent with the proper int type.
It looks like both are still being sent should both be documented?
@RedDaedalus also the user example needs to be updated.
3442b8f Document sticker packs, sticker routes, and gui... - advaith1
@typpo this was moved to an issue as it should have been marked as a bug, as stated here Would you mind reopening the issue?
When trying to patch a guild widget with a channel id for the instant invite, the client does not error, however upon checking /guilds/guildID/widget.json, instant invite is always null. note that this also happens when trying with a bot
[discord/discord-api-docs] Pull request opened: #3473 Added banner related properties to user object
Added the user's banner hash and the user's banner color to the user object.
The link in the Description column for the flags in the Interaction Application Command Callback Data Structure redirects to the start of the page instead of the following table below it
This was suppose to be #DOCS_INTERACTIONS_MESSAGE_COMPONENTS/interaction-application-command-callback-data-flags
Description
Slash commands go into an infinite sending state when using them in an archived thread.
Steps to Reproduce
- Have a server with threads enabled
- Create a thread
- Manually archive it as a moderator
- Use a slash command in it, observe how it goes into an infinite sending state and never times out
Expected Behavior
The slash command should send the interaction and un-archive the thread.
Current Behavior
The slash command goes into an i...
Do you mean DOCS_INTERACTIONS_SLASH_COMMANDS?
Do you mean
DOCS_INTERACTIONS_SLASH_COMMANDS?
oops yes that's the correct one :smoothbrain:
Yes, I think so if I dont get this wrong.
The problem was, when you click on the link there you're getting redirected to the start of the slash commands page and not the the flags
that make sense. maybe there could be a type of square button that would have a higher cap on rows / buttons?
Fixes the link to application flags in the application structure.
76167be Fix application flags link (#3476) - RedDaedalus
Maybe add that link to the event's docs?
When i visit https://discord.com/developers/applications and login
it redirects me to https://discord.com/channels/@me
I can't reproduce this currently but it was happening to me a few days ago.
I can't reproduce this currently but it was happening to me a few days ago.
i created a new account and i can access the portal
am i banned or something ?
This only happens if you aren't logged in on the browser (cookies are apart of that too yeah).
It should redirect you to a login page instead of to the web app, I don't think this should be closed.
It should redirect you to a login page instead of to the web app, I don't think this should be closed.
it does redirect me to login page, it redirected me to web app after logging in
and that was because my browser was blocking the cookies
after allowing cookies, everything worked back like it should
mm there's another issue here then; I was logged in with cookies on and got redirected.
Known client issue and fixed in later release
https://bugs.discord.com/T3764
Description
I suggest to add all embed markdown functionality to newly added bot bios, and maybe users. With also ignoring markdown symbols in the bio. Since bios are pretty small, but people still want to use some markdown there, and sometimes that could be a problem. As a solution to that, the easiest way is to use this rendered thing (screenshot) as marker on how many symbols you may use in the bio.
 , the command shows up as selected and the list of its options show up along with the list of choices per option as well.
Steps to Reproduce
Go to a guild where a disabled slash command exists that you cannot use but can see as disabled
Type /
Make s...
Description
Steps to Reproduce
Expected Behavior
Current Behavior
Screenshots/Videos
Client and System Information
Hey Kimonoy, this repo is specifically for Discord API problems - app and client bugs should go through DTesters! https://discord.com/invite/discord-testers
Hรฉ Kimonoy, ce dรฉpรดt est spรฉcifiquement destinรฉ aux problรจmes d'API Discord - les bogues d'applications et de clients doivent passer par DTestersย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย ย . https://discord.com/invite/discord-testers
How can I report the bug?
Description
Steps to Reproduce
Expected Behavior
Current Behavior
Screenshots/Videos
Client and System Information
Description
The create sticker endpoint (ie. POST /guilds/{guild.id}/stickers) responds with 500: Internal Server Error when the Content-Type for the file parameter/part is not set.
Steps to Reproduce
- Create a request with a
multipart/form-databody. - Do not set
Content-Typefor thefileparamater/part. - Send this request to the create sticker endpoint.
Expected Behavior
The api responds with a json error such as 50046: Invalid file uploaded .
**...
I myself can confirm that typing / followed by any text that is not a valid slash command would result in mentions not being recognized anymore...
The guild create events that are sent when connecting to the gateway don't provide all the thread member objects in the guild aside from the client user. This data should be sent if the bot has the guild members intent enabled and can be useful for bots that need to state manage thread members.
Setting a charset for the Content-Type for lottie files as such: Content-Type: application/json; charset=utf-8 results in the json error 50046: Invalid file uploaded. This seems to be an issue with the api not correctly parsing the header.
Not sending the description results in the http error,
HTTP: 400 BadRequest. Error message: The browser (or proxy) sent a request that this server could not understand.
However, not sending the name or tags results in the http error,
HTTP: 400 BadRequest. Error message: Invalid Form Body
name: "This field is required"
tags: "This field is required"
The expected behaviour should be a similar error being sent for description since it seems to be required.
Description
When updating a thread channel's Slowmode to Off/0 it doesn't send the rate_limit_per_user field, unlike the parent text channel.
Steps to Reproduce
Listen for the THREAD_UPDATE event and see the field isn't included.
Expected Behavior
The rate_limit_per_user field to be sent when it's set to Off/0
Current Behavior
The field is missing when updating Slowmode to Off/0
Client and System Information
OS: Windows 10
API & Ga...
Something like markdown timestamps, but for normal texts would be useful and can provide a great UX experience. Yes, I'm talking about `` tag
[discord/discord-api-docs] New comment on pull request #3478: Document Get Followup Message endpoint
Should probably note this doesn't work for ephemeral followups (as a matter of fact, neither edit nore delete work either)
This is kinda related to a discussion that I created once here.
Though, it is different. So there was this one user that was banned. However, they're still on the server and that's what I need an explanation for.
They were banned, they are on the ban list, however they are still on the server. If you click on them and check for Mutual Servers, you will also see that they still have the same server in common that they're banned in.
The banned user was also able to send messages.
...
the issue has been fixed, see #1329
the issue has been fixed, see #1329
Description
I have a server separated by categories. Some categories have bots and that bots can see a channel by role.
The problem is, now with the slash commands (that are awesome), the bot ignores if its role has not permision to see the text channel, anyways if you write "/" the bot commands works.
I propouse that the bots respects if you allowed a role to see the channel (or something like that) to enable it's slash command.
(Sorry for my english, if you need a more clear expla...
That's correct. I figured 99% of threads would never have this field set, so it wasn't worth wasting the space to send "rate limit per user": 0 for almost every thread
I would recommend including a few specific and real use cases
As is, we don't really see this as something that's common or all that important, so isn't likely to get prioritized!
I would recommend including a few specific and real use cases
As is, we don't really see this as something that's common or all that important, so isn't likely to get prioritized!
There seems to be an endpoint to get a list of thread members, but this requires the guild members intent. I think there should be a way to get a specific thread member similar to how you can get a specific guild member. This can be useful to check if a user has joined a thread or not.
Correct me if I'm wrong, but I don't think there's currently a way to check this since according to #3485, thread members aren't sent when connecting to the gateway. On top of that, thread member updates aren'...
To add to this, even if thread members were sent while connecting that would likely also require the members intent, like guild members are.
I find it a bit strange that this doesn't get sent when the value was changed from something else. The assumption is that if the value isn't sent, it hasn't changed. There's no good way to tell if it just hasn't changed or if its now supposed to be 0
Hmm, we don't ever send partial channel/thread updates though, right?
So a field missing is equivalent to it no longer being set / reset to the default value / etc
Correct. However, there are other events where a partial channel will be included, which when caching can be used to ensure cache is up to date. Therefore it would be necessary to separate how you update the cache based on whether it is coming from this event or anything else.
It was unclear whether the custom_id of a component had to be unique per guild or per message.
I recently ran into an issue where I had already used my phone number to register an account and was required to send a phone number to chat in a chatroom. Since that number was associated with a different account I was unable to chat.
Instead of an API Freature Request I suppose this is a protocol feature request - do account associations.
This should go on: https://feedback.discord.com since it's a client feature request.
I suppose the api might include a function to associate accounts.
However, I deleted my other account and I think a person who had the phone number that I have now may have had a discord account and I am unable to verify with my phone number to chat.
This should go on: https://feedback.discord.com since it's a client feature request.
I recently ran into an issue where I had already used my phone number to register an account and was required to send a phone number to chat in a chatroom. Since that number was associated with a different account I was unable to chat.
Instead of an API Freature Request I suppose this is a protocol feature request - do account associations.
This should go on: https://feedback.discord.com since it's a client feature request.
If you're having a problem with your phone number, you should open a support ticket ๐ - we unfortunately can't help you here
It still a nice feature request, but I will open a support ticket since my problem probably isn't the same as the feature request.
I tried using the ID of an user who doesn't share servers with me nor they are in my friends/blocked list and it worked perfectly fine.
This GitHub is very specifically for API requests - functionality like what you asked for should be posted in the link GoldenAngel2 posted above ๐ . Good luck!
As far as I know, it doesn't have to be either, because, as the name suggests, it's custom, and the rest (the message, the guild, etc.) is includet in the interaction
The documentation for thread audit log entries is still missing.
It should've been documented in PR https://github.com/discord/discord-api-docs/pull/3174

we will be making this a requirement soon, doesn't hurt to have people code under that assumption.
f4cc8a4 Clarify custom_id uniqueness (#3492) - JochCool
wow so my implementation of custom decorators (assigning a fixed function to a button or selectmenu with a certain custom_id) was completely time wasting?
Description
Link message buttons are blurred out and unclickable while "lurking" in a server (not completed membership screening/verification requirements)
Steps to Reproduce
- Create a server with membership screening
- Send a link button
- Join the server (on an alt)
- Don't complete the screening, and observe how you cannot click on link buttons
Expected Behavior
You are able to click on the link buttons, they don't trigger anything on press (and you can...
we will be making this a requirement soon
please don't; this will be breaking and annoying to work around
For example, in pagination, when the second page is selected, you can have 2 buttons that go to the first page:

As you would expect, both of the first 2 buttons have the same custom_id. Adding that requirement won't help with anything (afaik) but will make devs add m...
besides, I don't know how to properly determine which component was used
besides, I don't know how to properly determine which component was used
Wouldn't having unique custom ids help with this though? ๐ค
No... for other stuff you could Check the Message sich is already unique. Besides, the id would no longer be custom
I don't see any advantages in requiring them to be different. I also make use of shared custom IDs between selects and buttons.
I agree with advaith - if the point of custom_ids is that they're custom, then let the dev decide them entirely, including global/message-wide uniqueness
All of my systems already guarantee global uniqueness, but I think there are enough usecases where it would be more helpful than harmful to allow shared ids.
Description
Hello ๐๐ป
After an oauth connection with the identify scope I try to update the username of the user as shown here: https://discord.com/developers/docs/resources/user#modify-current-user with a PATCH request on :
/api/users/@me
I have no error but the user object returned has the same username than before.
Steps to Reproduce
1 - Get the user access token with the identify scope
2 - Do a PATCH request on /api/users/@me with this token ...
Oauth isn't meant to let you change a user's data. It's only valid for the GET path
Oauth isn't meant to let you change a user's data. It's only valid for the GET path
Thanks for your quick reply, it is documented somewhere? I can not see that here for example: https://discord.com/developers/docs/topics/oauth2
Currently, it only allows you to view the reaction and who originally reacted to it, however, I request that when a reaction is removed, it not only provides who originally reacted, BUT it also provides who removed the reaction in the first place. This would help a lot and doesnโt seem like a hard thing to achieve
Sometimes people need to delete the message a component was on. However, there is no good way to do this.
At the moment I can think of three work-arounds, all flawed:
- Use a bot account to delete the message.
This does not work because not every application using interactions has a bot account too. - Store the interaction token for the old message.
Requires state + tokens expire. - Respond with
type6or7, and then use the delete original message route.
This is su...
In specific circumstances (please see reproduce section) establishing the start of a voice connection with the gateway appears to be failing without any additional information.
As per the official Connecting to Voice documentation a client should send an Op 4 Gateway Voice State Update and then wait for two response messages, a Voice State Update event and a Voice Server Update event. The documentat...
It is worth mentioning that if your bot does not have access to connect to the channel, this op will silently fail. With your consistent repro, is this the case?
The bot does have permission to access the channel. In addition, there are checks to ensure this is the case before an attempt is made
@advaith1 could you take a look over it? I'm unsure with the descriptions
Hey Folks, we have been using discord API in our company. We have been loving the experience till now. We are currently working on an app where users can sign in using OAuth and retrieve their messages from all their servers
We found out that guilds/{guild.id}/channels endpoint gives 401: Unauthorized in response. Upon looking, it was mentioned in one of the forums that the endpoint is not supported for OAuth2 an...
This can't be changed
This is likely just part of the thread_create event telling you what the initial type was
I'm going to make a documentation update for threads today, you cool if I just fold this into that update? I'll make a few tweaks to fix/clarify things too
I'm going to make a documentation update for threads today, you cool if I just fold this into that update? I'll make a few tweaks to fix/clarify things too
sure!
It's not really enforced by message type though. It's enforced by the API route that handles sending a message, and that only lets you send default/reply message types.
But there's nothing stopping other code in the API from sending a default / reply message type on behalf of a user, so, not sure this is something you could reliably even do.
3d1c135 Thread documentation updates - ajpalkovic
Closes #3494
Closes #3458
Closes #3486
If this note is for #3486 then isn't this just for creation and receiving the actual data? It was my understanding that the issue was regarding thread updates not sending the field if it had changed from non-default -> default value.
Yeah, that was the intention, really all I did was change our clients to channel.rateLimitPerUser = update.rateLimitPerUser ?? 0 which seemed pretty reasonable I guess?
What is with
| has_more | boolean | whether there are potentially additional threads that could be returned on a subsequent call |
Yeah, it was removed, it was confusing because it was always true
And we don't have an efficient way of paginating here and it's pretty cheap to just return everything since there is an active thread cap
@ajpalkovic Thanks for the reply, that makes sense to me. Just so I'm understanding, there aren't any new thread-specific message types besides THREAD_STARTER_MESSAGE that I need to handle for this use-case, correct? So for my purposes, the list of message types that could possibly be slow-mode-affected (but aren't guaranteed to be) is DEFAULT, REPLY, and ``THREAD_STARTER_MESSAGE`?
That means we get every thread till the cap?
@Rapptz are you asking for the field to always be included in dispatches like thread_update?
What is the internal cap?
I'm interested. Would like to set a note in the docs.
I replied to this in DDevs a couple of times search for "1k" from me there. No plans to document the limit, since it's certainly possible it could change early on.
Oauth isn't meant to let you change a user's data. It's only valid for the GET path
Thanks for your quick reply, it is documented somewhere? I can not see that here for example: https://discord.com/developers/docs/topics/oauth2
I cannot see it either, but you should have a look at the url of the identify column. There is the url to its GET request instead of PATCH request.
iirc https://discord.com/developers/docs/resources/user#modify-current-user is meant for bots, I don't think it's possible to modify another user's information through OAuth2 (as that would be kinda stupid imo).
identify only allows you to GET the user's information via: /users/@me
Found a small typo in the SDK_Starter_Guide.
(as that would be kinda stupid imo)
many other services do allow modifying user information via oauth2, so it's not a stupid assumption to make imo
8859d20 Fix missing quotation mark in SDK_Starter_Guide... - jonahgluck
(as that would be kinda stupid imo)
many other services do allow modifying user information via oauth2, so it's not a stupid assumption to make imo
+1, in my app users can attach their social accounts to update thei informations (username, profile picture, etc)
If when they connect their Discord account it is clearly written I do not see any problem
eh, i mean, if i am interpreting it right, you want an event to emit when a person removes a reaction, which already exists with the name MESSAGE_REACTION_REMOVE and it does return with who removed the reaction but doesn't provide who originally reacted.
the first reaction in the console below was put by me and then removed by me, the second one was put by me bot and removed by me
 with the ISO8601 timestamp of the moment the person was banned, exa...
add a "persistent" field to selects that if checked would have the client store the users selection, and only send an event of it was changed. This would be useful for bots granting roles, as users could quickly see what roles they had selected and the bot would only have to respond to an event when they changed. Another possible use is for storing users settings (like data collection opt outs) if the select is stored the user will always know what they selected.
You can basically already do this, just update the message with the select in it and change the default option to true for each option the user selected when they use the select.
and importantly, importing a zip file of images.
unrelated but If you just open the zip and select all images in the zip, you can upload all the images on the zip file to discord as an emoji
\* `rate_limit_per_user` also applies to thread creation. Users can send one message and create one thread during each `rate_limit_per_user` interval. For thread channels, `rate_limit_per_user` is only returned if the field is set to a non-zero and non-null value. The absence of this field in API calls and Gateway events should indicate that slowmode has been reset to the default value.
Thanks for your answer
How to set it from end user interface?
Description
When responding to type 7 and providing an attachment, instead of overriding the old attachment, a new attachment is added to the message. This seems to ignore the 10 files/message limit typically imposed by other means of sending a message with an attachment.
If I'm not mistaken, this discussion is partly related.
Steps to Reproduce
- Invoke interaction
- Respond with Type 7
- Supply an attachment ...
The new attachment is appended to the message.
This is the correct behavior for a patch with an attachment. To remove attachments you need to use the attachments parameter which is currently unsupported. Adding attachments to this interaction type is also not officially supported yet. I also reported this limit not being enforced a while back when support for attachments was added to the api, but it seems not be a priority.
I'd love to see up to 8 buttons per row and 8 rows per message on bot responses so I can make a super interactive chess game!
Note: this is a continuation of #2452
The Problem
At the moment, it is really hard to do advanced validation of commands, and still imply that the command failed.
Although introducing a regex option would help, i still doesn't fully solve the problem.
The Scenario
I want to make a music bot, that plays music from youtube. Here is the structure for my command: /music name:string
When the user runs the command, I want to be able to tell the user if the bot was able to find the ...
Description
We need a "GuildOnly" option for global slash commands, which would disable global slash commands from being used in DM channels.
Why This is Needed
Many developers want to be able to disable global slash commands in DM channels, but keep them open for @everyone in guilds. Currently, if you want achieve this, you have to:
i) Set DefaultPermission to false when creating your slash command
ii) Loop over all of your guilds and edit the command permissions to en...
i) Set DefaultPermission to false when creating your slash command
ii) Loop over all of your guilds and edit the command permissions to enable it for the @everyone role
This is not the only ways to prevent slash commands from being used in DMs. You can just check the raw interaction object to see if it contains a guild_id, if it doesn't, it probably got used in DMs. (some libraries also have methods to check if the command is used in a dm. DiscordJS hasinteraction.inGuild()for ex...
Description
According to the guild object docs, Guild.stickers is optional. I tested the GUILD_CREATE event, the Get Guild endpoint, and the Modify Guild Endpoint and the field was present for all of them. In what cases would this field not be sent?
Steps to Reproduce
Get a guild object and check if theres a stickers property.
Expected Behavior
...
hm, maybe they changed the behavior? it used to not be present in Get Guild if the server didn't have any stickers
@jkcailteux is it optional in the API?
oh, then maybe change the title i guess, because the title says "Provide who removed the reaction from a message".
also, as an alternative, as far as i am right, you should maybe keep a store of last 100 REACTION_ADD event and then maybe check it with a REACTION_REMOVE event to find who initially reacted
Yes, but it's confusing to the user if you just reject slash commands without a guild ID. You can respond to these interactions with an error message, something like "Please use this command in a guild", but again, it's more intuitive to have them greyed out altogether.
Description
Issue with the character counter in the multiligne code block . In the multilinge code block, the tabulation character ("\t") is count as only one but before sending the message the tabulation is replace by multiple space so it create a issue and a error message is show.
Steps to Reproduce
To recreate the bug you need to open something where you can write multiple tabulation. (you can't go directly in dicord because a tabulation is 2 space and not a real t...
If you just want to commit anything to the docs the please use a proper title, explaining what u did.
I.e.:
Fixed typo in Stage Instance
THREAD_STARTER_MESSAGE is a system message, not a user message, it's just a pointer to something else
767fdf4 Update docs/resources/Channel.md - ajpalkovic
It is optional, it won't be included as part of an application, store listing, guild preview, member verification, or stage channel recommendation.
For future reference, I believe this repository is more meant for API bugs if any -- that's a client bug that would be reported to Discord Testers (which is closing in 3 days or so for a month)... But dunno if you have to move this bug report there, as you have already reported it :P
Discord is moving away from outline buttons as they're bad for accessibility. The white button with blurple text could have its uses though.
Description
Steps to Reproduce
Expected Behavior
Current Behavior
Screenshots/Videos
Client and System Information
Sorry for opening without being full, i accidentally pressed enter, now it's right
I think custom colors would be the best but since discord won't do that for branding this is the next best thing
That value can't be set per-user, so it doesen't work for public messages.
If you just want to commit anything to the docs the please use a proper title, explaining what u did.
I.e.:
Fixed typo in Stage Instance
Done.
Description
- Unable to scroll all the subcommands available for main command.
Steps to Reproduce
- Get any slash command that have 25 options, try to scroll down all available subcommands. The slash command structure is :
Main Command
--sub command
--sub command
Expected Behavior
- It should be able to scroll all available subcommands under the main command name
Current Behavior
- Subcommands only stop at subcommands no. 7 and ...
I thought the same but I first create a bug report on https://support.discord.com/ and they told me to submit my bug report here by creating a new Issue. I told them that it was probably not a API bug but they confirmed me to sent it here so there it is.
The id of the report is #15292526
I would like to use buttons inside of embeds. More specifically, buttons disguised as Markdown links. Clicking a link would do the same thing as clicking a button.
This could be done by adding a new pseudo protocol, let's call it interaction:// for the following example
Now with this you could then create an inline "Button" with the custom_id "example" like so:
[This is my button](interaction://example)
When clicked it would act exactly the same as a regular component button ...
Better to give us access to Discord's client-side command validation to create our own custom argument types, so we can prevent the user from executing the command in the first place
Although that would be ideal, there would be the worry of ReDos-ing the client, and hogging cpu/memory. A workaround to that would be something like re2, which doesn't support backtracking.
maybe instead of interaction://blah have it be interaction:blah, to be more readable
Wondering if there's any updates on this since the threads developer beta is ending.
The developer beta had a good purpose, but it doesn't make sense to shut it down. Not everyone is building features for threads within a month of them being released. The same goes for any other nitro/server boost only features.
The threads developer beta proves that there's a good way to let developers use premium features without it being abused. Limit the member count of the guild, making abusing free pr...
no it should be a protocol.
so like discord://, the interaction:// is fine.
but maybe it could be added to discord like discord://interaction/id
attachment:// already exists for image attachments in embeds, so interaction:// should be fine.
Description
The API does not appear to provide a way to edit a message previously sent by a webhook in a thread through thread_id parameter.
Steps to Reproduce
- Send a message with a webhook and specify a
thread_id. - Make note of the message ID and thread ID.
- Try to edit the webhook message with
Edit Webhook Messageendpoint. - For good measure, try to add
thread_idquery parameter to the URL.
Expected Behavior
Message is successfully edited.
**Cur...
(as you might expect, GET and DELETE don't work either)
I'm getting this error too with one specific user. I have been able to reproduce it 3 times so far.
Well, the two are the same in representation, just differing in interpretation.
#2410 (comment) is pretty awesome!
The slash command interactions support fetching a previously created message:
/webhooks/<webhook_id>/<webhook_token>/messages/@original /webhooks/<webhook_id>/<webhook_token>/messages/<message_id>And slash command message posting is based on webhook infrastructure.
I'm hoping that the implementation of these endpoints has ...
This just makes it more inconsistent.
I want to propose a new badge, freeloader, these are the people who received discord nitro for free at the expense of epik games,
the bagde is purple, and in the center is the letter E
This repo is for API feature requests only. You are looking for https://feedback.discord.com
also, why
continuing to that, we all know in the history of discord, badges have fumked things the most, any new badge will create shitshow
This repo is for API feature requests only. You are looking for https://feedback.discord.com
also, why
Haven't tried that, I guess it might work.
https://discord.com/developers/docs/topics/gateway#typing-start
There is a typingStart event so why not typingStop?
Discord clients determine that typing has stopped somewhat heuristically. If a message is sent, or if there has been no activity for 5 to 10 seconds, typing is assumed to have stopped.
And if there was a typingStop event everything would be solved and it could be used.
It is much simpler architecturally to place the responsibility of tracking who is typing on the client, as it prevents problems with stuck typing states with no real downside.
everything would be solved
What is the problem that you are trying to solve?
everything would be solved
What is the problem that you are trying to solve?
I meant that I would appreciate it. I know I can follow it that way but I would still appreciate a typingStop event. If it wasn't I wouldn't mind but it still seems better to me. If there is a typingStart event then there could be a typingStop event.
I realized that it's probably stupid for discord to emit a typingStop event.
Discord clients determine that typing has stopped somewhat heuristically. If a message is sent, or if there has been no activity for 5 to 10 seconds, typing is assumed to have stopped.
I don't know, the description is kinda lazy.
Maybe write it a better way?
| version | snowflake | last modification time |
A snowflake is not a time so this description is misleading.
tbh i don't think this is any better
yeah I don't know myself but if it should be documented than it should be named as modification xyz.
A whatever
Question for staff:
Why isn't this an iso timestamp? We have message.edited_timestamp and channel.last_pin_timestamp for example which are "update" properties from my understanding
Update disclaimer on Threads.
Summary
The Thread member object doesn't contain the member and presence field. Looking at the raw json coming from the THREAD_MEMBERS_UPDATED I can see its included there.
"added_members": [
{
"user_id": "726114833392730124",
"presence": {
"user": {
"username": "Luminous Beta",
"id": "726114833392730124",
"discriminator": "8327",
...
Honestly this pull request is useless no offence, the language is actually worse than it is. Youโve used some words which makes no sense and at the moment its fine..
478d962 Update Rate_Limits.md - IanMitchell
d778a1e Update Rate_Limits.md (#3527) - IanMitchell
52f10e8 Fixed capitalization in Stage Discovery (#3508) - Davi-the-Mudkip
I don't think adding parens improves consistency
ae09c93 Document Get Followup Message endpoint (#3478) - advaith1
Discord.Net Labs is based off of Discord.Net, It introduces the newest features of discord for testing and experimenting. Currently it has upwards of 17k downloads on nuget and has been out for around a month.
I am pretty sure that this isn't related to subcommands, but to slash commands in general.
There is a client bug where it refuses to show more than 7 slash commands.
I remember that this was brought up in Ian's server a while ago, I'll add some images / links below if I can find them.
Wouldn't this technically be an extension to discord.net, and according to #3146, library extensions are no longer added to the docs.
Best place for this would be on discord.net's site/readme. There's several library wrappers out there that show/endorse a select number of projects using them as a "look what you can do"
Discord's API docs aren't the place for that, and like AnotherZane said, they aren't adding onto this list anymore.
Wish you the best on your project tho!
And the download of this is more like max 4155 sooo..
only all downloads from all package extensions are atm 16004 downloads.
its not really an extension as the labs contains a reworked version, you cant have both at the same time
And the download of this is more like max 4155 sooo..
only all downloads from all package extensions are atm 16004 downloads.
Sorry i went off total nuget and i have one other package lol, labs comes in the meta package just like dnet and sub components for certain scenario, the total downloads are 16k yes
its not really an extension as the labs contains a reworked version, you cant have both at the same time
Fair point
Sorry i went off total nuget and i have one other package lol, labs comes in the meta package just like dnet and sub components for certain scenario, the total downloads are 16k yes
Yeah, I think the number of the real downloads is important so the core package.
Because the others are downloaded additionally
Because the others are downloaded additionally
I dont think nuget counts package refs as downloads as some of the sub component packages have less downloads than the meta package
added 0xe directory channels
it's actually GUILD_DIRECTORY
it's actually GUILD_DIRECTORY
Huh, that's odd because the Android app has it just as DIRECTORY, maybe there's an inconsistency between the desktop clients and the mobile app?
it's actually GUILD_DIRECTORY
Huh, that's odd because the Android app has it just as DIRECTORY, maybe there's an inconsistency between the desktop clients and the mobile app?
the enum names aren't generally named after what the client defines them, but what the API refers to them as
as a good to know, that loop won't even catch all guilds, so the correct way to do it is the second method. You can have your commands in a guild without your bot, meaning there is no way to tell they exist there.
I would prefer not to add it as long as hubs are not documented. Otherwise in the guild Features HUB should be added.
its not really an extension as the labs contains a reworked version, you cant have both at the same time
I'd still say that this being added should require permission from the Discord.Net maintainers.
According to current API docs, executing a webhook can post in an existing thread, but as far as I can see cannot start a new one.
I'm requesting ability for a webhook message to create a new thread.
Use case, which echoes user documentation for threads: having announcements posted which automatically create a thread to discuss that specific announcement.
[discord/discord-api-docs] New comment on discussion #3210: API Feature Request: Track invite used\.
I agree that this is a definitely needed feature! An "invite object" with the guildmemberadd event would be super handy!
It would be a nice addition if message and reaction collectors could be built in as part of bot interactions. For example, you could create a message collector, the bot would show something like is listening... until you send a message. This could be accompanied by filters, timings, etc. The same would go for reactions.
This lowers the reliance on message content, especially now that message content is becoming a privileged intent. It would make input collection for developers much easi...
Description
Creating an event through the Event Channel doesn't successfully work. It's stuck on the preview your event page.
By checking the requests, it seems that a POST request to https://discord.com/api/v9/guilds/{guild-id}/events returns 404 Not Found.
Steps to Reproduce
- Click on the Events channel in your discord server.
- Click on Create Events.
- Fill in an Event Topic, Start Date, and Start Time.
- Click on Create Event.
Expected Behavior
Af...
message collector
Some form of real text input for interactions is planned, so this is unlikely to happen.
๐ Given the announcement that message content access is being deprecated, just wanted to bump to see if there had been any progress in terms of variadic support?
It'd be nice to be able to have first-class support for arrays rather than simply just porting over custom list parsing from existing message-content-based workflows.
Expanding on this, like ptb or canary exists, to create an isolated discord environment where only verified developers could join to try stuff out,
Same thing here @night :
Server ID: 847026386783043595
Channel ID: 848547987084935169
I would say that it should be open to anyone not just verified developers
It would be helpful to allow bots to have access to messages that mention them, because they can provide a bit of a middle-ground between message commands and slash commands. They don't bring the security concerns of message commands because a user has to explicitly mention the bot, and they still allow more control over commands than is available with slash commands.
Other than that, I imagine developers could use messages like this to build something other than commands, without needing ...
Could we get na update on this, especially with the newer routes like stage-instances the concept of major parameters is increasingly less intuitive
b9989c3 undo slowmode changes for now so this can merge - ajpalkovic
c9c1dc8 Thread documentation updates (#3502) - ajpalkovic
Message content intent may break a lot of bots. and to use slash for every message isn't good.
And privacy is important, so I suggest this.
Make a link to allow reading message like this:

And this will appear by clicking link:

(I used photoshop and developer tool)
...
if you need access to reading messages (more than messages in interactions, which includes buttons, select menus, and context menu items), you will get the privileged intent
not sure how well that would work since ptb and canary still seem use the same backend services
It could work the same way as the recent Threads beta. Enable all guild features + give members nitro feature in that guild only if the server is under 5 members.
Basically eliminates abuse (except for guild stickers but you can solve that by not allowing them to be used in other guilds).
Right now, the "View Server as Role" feature does not include slash command permissions. It'd be useful if it was.
The message content intent impacts (almost) everyone. The feature set of interactions is already decent, but there are common requested features which need to be realized to fully switch to interactions for most bots.
Similar to the Slash Commands master feedback list it makes sense to provide a list of features which will be realized until the intent will be required.
With the help of this list developers will be able to plan the migration to Interactions where they already can include upc...
they're discussing providing a public roadmap
Description
Slash command argument inputting glitches with IME.
@advaith1 told me please report it on github so I reported here.
Steps to Reproduce
- Type slash
- Enable IME
- Type something and convert
Expected Behavior
It will be
/nick new_nick:ๅ็กใ
Current Behavior
ๅ็กใ/nick new_nick:ใชใชใ
Screenshots/Videos
**Client and System Info...
since ptb and canary still seem use the same backend services
Canary actually has a separate API, the canary API
This should be documented in the Thread Member structure as optional fields, as well.
Thanks for the info. That would be very helpful.
they're discussing providing a public roadmap
It has been a hot minute since this issue has been relevant - but it seems to have been resolved as Fyko had shown here.
Here's an example from my use case: my regular commands have an argument where you can specify a user (ID/mention) or string. If the option is a user, the bot will use an option saved for that user in our database. Otherwise, the string passed in will be used.
The current closest thing that's available would be to use a string type and parse out user mentions like in regular message content.
Hi everyone! We have an important update to share.
As the popularity and number of Discord bots grow, it's important to keep our users and developers safe and healthy. This means from time to time, like any maturing platform, we need to update our policies to reflect the current needs of the ecosystem.
In April of 2022, message content will become a Privileged Intent. Like other privileged intents (Presence and Guild Members), it will require approval and affect only verified bots.
...
I don't know if the markdown timestamp examples are written in British English on purpose. American English may be more consistent.
It's an example output showcasing the localisation aspect of it. I don't think it needs changing?
no, that's been available (and documented) for a long time, but does not resolve this feature request
I'm still getting both guild_id and id on GUILD_UPDATE... Is this migration still ongoing :thinking:
I'm proposing a message component where users can input raw text. This could be useful for things like interactive setups where you want users to input certain text as you go along. Somewhat related to this, see #3357
This would be a great addition to have because of the intents change. This way, bots can still accept certain user input without compromising the privacy of having bots reading messages.
Description
The hello payload in the voice connection is incorrectly documented. This either means the documentation was wrong for 4 years, or that there was a breaking change on voice v1/v2. Neither is good.
Steps to Reproduce
Connect to voice, on version 1/2.
Expected Behavior
The hello payload is {"heartbeat_interval":55000}.
Current Behavior
The hello payload is {"op":8,"d":{"v":1,"heartbeat_interval":55000}} for v1 or `{"op":8,"d":{"v":2,"heartbea...
Something that would be really nice for bot developers would be internationalization support on interactions for individual users. For example, slash commands could then have numerous names with one for each language. Depending on what language the user has set on discord, it would show the corresponding name. Then when the interaction is used, discord could send the language in the payload so the bot would respond in the correct language.
https://github.com/discord/discord-api-docs/issues/2313 or more specifically https://github.com/discord/discord-api-docs/issues/2313#issuecomment-761126291 might be what you are looking for.
Yes this is indeed what I meant. I suppose when I did my search to see if someone had posted this, I forgot to make it include closed discussions.
Really sad to see this under the "What we're not doing this and why" section. I do hope they reconsider this and find a way to make it possible.
https://github.com/discord/discord-api-docs/issues/2313 or more specifically https://github.com/discord/discord-api-docs/issues/2313#issuecomment-761126291 might be what you are looking for.
Description
The action_type field in an audit log entry is sometimes null. Based on some discussions, it was suspected that there was a race condition leading to a malformed record.
Steps to Reproduce
This seems to happen fairly randomly, but has been happening since March 30th, 2020 (or earlier). I don't have consistent steps to create an audit log entry with action_type of null, but an existing entry with action_type of null will consistently return the same value.
...
How about precision in seconds? Something like 10 seconds ago instead of a few seconds ago?
Description
Currently the CHANNEL option type accepts threads, but it doesn't send the thread's parent_id property. And there is no way to identify the parent channel of the thread.
Why this is needed
This offers a way to do some checks on the parent channel. In my case I wanted to check if the user and the bot had specific permissions in the parent channel.
Fixing the refresh and showing individual seconds are both planned.
https://github.com/discord/discord-api-docs/discussions/3352#discussioncomment-952978
Under this aspect clear, I am used to German date formats, therefore English is already localized for me. I had not thought of that at all, can be closed from my side (but would then possibly be worth to mention that this is British English, because that had been confusing me)
Description
Not all and commands appear when typing "/". Only 4 appear.
Steps to Reproduce
- Type "/".
- Observe the results and scroll through them.
Expected Behavior
All available commands are shown for all the bots.
Current Behavior
- Only 4 results show while the other bot shows them all.
- When typing "/vo" they appear. However there's a maximum of 7 results.
In the second image below, "Guacamayo" bot should have more results starting with "/vo...
#3517 I did mention this on this too
the other issue seems to only be about autocomplete after typing text, the issue here is some commands missing from the main view, which is different
I'm using discord.js to set commands, however the issue is from the Discord app.
The following commands are from discord.js. Sorry if it isn't helpful.
What I belive caused the issue was that I ran:
client.guilds.cache.get(guildID)?.commands.set(all_commands_array);
Then changed some commands and ran client.guilds.cache.get(guildID)?.commands.set(all_commands_array); again.
I fixed the issue doing :
client.guilds.cache.get(guildID)?.commands.set([]);
and then
`client.guilds...
Adding onto this, when sending a message over 6000 characters the API responds "Embed size exceeds maximum size of 6000". I believe that's because the API first validates the total payload size, and uses this error message for that? Technically that message is not always correct, as a message over 6kb may not even include any embeds.
its not really an extension as the labs contains a reworked version, you cant have both at the same time
I'd still say that this being added should require permission from the Discord.Net maintainers.
Or you should rename it. So it doesn't have the name Discord.Net.
Hi there, just wanted to bump this, do we have any further information?
If this is for development and/or upstreaming I don't think our list is the appropriate location for it.
Description
The link "application command interaction data" here is supposed to link to the structure a small bit further down but is missing a bit making it go nowhere.
Link in the docs: [...]/slash-commands#interaction-object-application-command-interaction-data
Real link: [...]/slash-commands#interaction-object-application-command-interaction-data-structure
**Steps to R...
This PR fixes a dead link on the interaction documentation and closes #3549
Suggesting to give developers sandbox early access, then restricting it to the tiny verified minority seems counter intuitive, if the goal is to establish pre release compatibility with bots and libraries.
Imo a much-needed feature.
As much as people want to deny to have anything to do with NSFW can we not deny the fact that NSFW exists on Discord and people will use and offer NSFW commands just because they can, so having a way to tell Discord to only display the command in NSFW labeled channels would be a good way to only show those commands to those people that are allowed to.
On Sat, Jul 31, 2021 at 6:14 PM Andre_601 @.***> wrote:
Imo a much-needed feature.
As much as people want to deny to have anything to do with NSFW can we not
deny the fact that NSFW exists on Discord and people will use and offer
NSFW commands just because they can, so having a way to tell Discord to
only display the command in NSFW labeled channels would be a good way to
only show those commands to those people that are allowed to.โ
You are receiving this because ...
Looks like we have a spam account here...
My bot has several commands that allow to define multiple users through mentions.
While Slashcommands offers a user argument is it imo really limited by only allowing a single user instead of multiple.
Most people that use my bot enjoy the fact that they f.e. can hug or pat more than one user, as it allows them to "Spread happiness and love to multiple people" to quote one user.
So having this limitation is extremely annoying and can, such as in the above case, destroy the fun because no...
I just drop in here to provide some reasons as to why I currently won't switch to Slash commands and, given the planned deprecation, most likely will discontinue my bot if these problems/features haven't been added yet to Slash commands.
- Slash commands don't support new lines yet.
I was told that a fix is on the way and should be implemented within the next 3 months(!!!) If this really takes this that long will I already have lost a 3rd of the supposed time we have to move. - No opti...
Another thing I'd add to the list is since slash commands is being pretty much needed for bots, why have a separate scope for it.
All bots would need applications.commands now so it doesn't make sense to require 2 scopes for the bot to function in the server.
And there currently isn't a way to tell which servers have the scope added until you make a request(I've already brought this point up with Ian but most likely doesn't hurt to be posted publicly)
Imo keeping the scope will just c...
The scope mostly serves to allow applications to provide commands without the use of a bot. A way to set required scopes would be nice.
Description
- A link, similar to the current thread/channel link, that once clicked by the user will add them to the linked thread. This can be triggered by buttons (such as a "Join the Conversation" button), hyperlinks, or any other linking method
Why This is Needed
- It can be used for members to quickly and easily join threads without the need of pinging them and cut down that extra click to easily join the conversation occurring in a thread.
Alternatives Considered
...
I would like to go into detail on why I believe this entire idea is just not ready to happen so soon and I would also like to give an alternative idea that could be far better.
- You are forcing all the bots to have the same prefix with slash commands. In case you don't know, there's a good reason why all the bots have different prefixes, to avoid interference and confusion in servers with more than 1 bot.
1.1. Your answer to that is an UI that only shows 10 commands for a command search...
I do agree with @Andre601 but one issue with slash commands is, The api would sometimes fail or crash in the process plus discord need to remove option to remove slash commands on bot invite since it breaks bots quickly, we are forced to use the same prefix, this is the dumbest decision by discord, why? Discord Developers ain't getting updates at all sometimes the message would fail but when discord says screw this and forces all developers to be in slash commands is the dumbest decision and...
The scope mostly serves to allow applications to provide commands without the use of a bot. A way to set required scopes would be nice.
Downside of the scope is, that bot accounts may show as offline if the bot is Rest-only, which can give the impression that they are not active and therefore broken/discontinued.
Maybe have a heartbeat-like setup for applications.commands only bots would be a way to go?
One more thing I'd like to mention.
With the current setup for slash commands it's not possible to limit a bot to a certain channel.
Example: Dank Memer's slash commands only be used in #dank-memer channel etc.
It's not possible to do it via permissions due to the way interactions work, it would require all bot developers to add a system for servers to configure the bot/application to only respond in x channel
Which is a shit setup and gives less control to the actual servers.
W...
Certain people and bot lists find it really cool to grab my bot ID (which is same as my client ID) and generate their own invite link which lacks scopes.
Some people only add applications.commands and the complain why my bot is giving them the same error message for all commands telling them to add the bot (and somehow fail to understand it). It would be nice if we could force the bot scope when adding a bot with commands. The reverse of this is also useful as someone added it with only b...
[discord/discord-api-docs] Issue opened: #3553 Wrong slash command gets selected when typing quickly
Description
When typing quickly, slash commands with a shorter name will be selected automatically
For example, the command /use is being selected when I type /user
Steps to Reproduce
- Create a slash command with any name (eg
user) - Create a slash command whose name contains the start of the other slash command name (eg
use).
Note: in my case, this has a string argument, but I don't know if that's required to reproduce the issue. - Type the name of the longe...
sounds like your client loaded the "use" command but didn't load the "user" command yet, so it assumed that there's no need to continue showing the picker
(this is still a valid bug)
I got this error
`TokenError: Invalid "code" in request.
at Strategy.OAuth2Strategy.parseErrorResponse (/home/runner/botlist-7/node_modules/passport-oauth2/lib/strategy.js:358:12)
at Strategy.OAuth2Strategy._createOAuthError (/home/runner/botlist-7/node_modules/passport-oauth2/lib/strategy.js:405:16)
at /home/runner/botlist-7/node_modules/passport-oauth2/lib/strategy.js:175:45
at /home/runner/botlist-7/node_modules/oauth/lib/oauth2.js:191:18
at passBackControl (/home...
Description
Threads slash command's title field has no limit of any type allowing to send one with a name longer than the limit of a channel name which returns an invalid form body error
Steps to Reproduce
Type /thread name: [Text of over 100 characters] message: [anything]
Try to send it
Expected Behavior
Command doesn't get sent since the name is over the limit
Current Behavior
Command gets sent and a an error is returned
Screenshots/Videos...
I think this is a great change, and if this means that slash commands and message components will have a higher priorty for releases, then I'm all for it.
I think the change is great, especially because only ~10% of bots (speculation) have the commands that truly need the message content to do their fancy stuffs. However, the other 90% of bots really just serve commands (again, speculation).
I think libraries are going to have all the support, at least the major ones, way before this c...
I agree fully, but the prefix idea wouldn't work on bots with a per-guild prefix.
Maybe a guild-dashboard for bot-specific settings (i.e. what channels commands can be used in, which should be active/inactive, etc) could be an idea to set a new prefix for a bot and its command.
In general should Discord try helping the devs in managing their commands. If we're supposed to use THEIR slash commands should they at least give a way for the end user to choose where what command should be used.
I mean, we already have a dedicated place for bots, which is the Interactions s...
Bots already have a dedicated page, which is under the Interactions section of a Guild, and I think it would be beneficial to have a tab there to edit and customize the settings of slash commands a bot offers.
The reason behind this is somewhat simple: Control
A server owner or staff member may not want commands to be executed in all channels, and while there is the Use Slash commands permission, is it more an all-or-nothing solution. You either can enable all commands of a bot or non...
I feel like that the bot scope should also include the rights/settings for the applications.commands one.
Why?
Well, with Slash commands becoming pretty much mandatory for verified bots in 2022 is the applications.commands scope a pretty much-required scope, so why not just include it into the default bot scope?
I can imagine many devs out there having an old bot invite somewhere that they forgot about and that still only has the bot scope, and with Discord not offering an automa...
They have already say that this function will be implement ( source Discord Dev server from kadybat#0001 a discord staff )
Well... At least something I guess
I've submitted the exact same thing in the survey, posting it here for the world to see and maybe comment on:
<hr />
As I said I understand "why" discord is making these changes -- that is, I understand what problem is being solved there, and I agree that it is a problem and that it needs solving. But I do not understand/agree with the chosen general direction of the solution.
The overall strategy that Discord seems to be executing is that all interactions with bots have to conform t...
I agree fully, but the prefix idea wouldn't work on bots with a per-guild prefix.
True, I don't really know how they would get around that. Another reason to simply just delay this update longer.
Can agree with most parts, most prominently that the 100+ guild requirement and the separation of small bots not requiring approval for anything is annoying.
Sure, Discord has this for all those private bots that are on your own servers and only used for QoL stuff, but it's still quite annoying to have such a separation.
We "big bot devs" need to follow the rules while the smaller bot devs can just say - excuse my language here - "Fuck you all!" and do whatever, only to then be surprised wh...
Like it sure is an interesting idea, but it would then require bot devs to understand stuff like glob patterns or regex (if that would be used) and not everyone understands this...
It's a sketch of an idea ("Come up with...", "something like") that I provided just to demonstrate that there's leeway in design space. But if the core principle of "interactions are interactions" stays in place, then all of this is moot anyway.
I really like the explaintion you gave, and I like the points you came up with.
The solution offered does look and feel reasonable too. I wonder how this may be considered as a potential alternative to the problem Discord is outlining in this announcement.
Library support will absolutely be an issue. As someone who is essentially a solo dev for a library, the time frame in which they plan to add new features which are intended to make the change "palatable" will easily wear down people like me who have no help vs an entire team of engineers working on new features.
Library support will absolutely be an issue. As someone who is essentially a solo dev for a library, the time frame in which
I do think this will be an issue with solo-devs and their libraries. I don't know of a good way to handle this, but it's something that can and will affect some people. I can hope all I want for people to help out by contributing more, but I know that's just wishing on a star which is not a solution. My main focus is with using big frameworks or libraries, such as ...
Library support will absolutely be an issue. As someone who is essentially a solo dev for a library, the time frame in which they plan to add new features which are intended to make the change "palatable" will easily wear down people like me who have no help vs an entire team of engineers working on new features.
I agree. Discord is pushing out more features than what people can handle.
And a few people such as MinnDevelopment are already burned out from past events and such and retired...
They cant ask us to re write a big part of code this is the point
May I add, would you consider this intent to be pushed back another 6, 8 months to make room for these updates to take place?
Or, better yet, Discord releases the toolings we need first, maybe take the 9 months to 'complete' their slash and message components, then give a 6, 8 month notice for the intent to be enabled for verified bots?
Do you think this would be a viable alternative to what we have now?
The deadline won't be moving. But yes, it should have been set after the replacement was completely ready
For me not . I prefer if the things stay like before. Maybe they can do another type of secuirty improvements
I think this is a good step for end user privacy, but I can get behind the idea for the features to come out first to allow solo devs to implement the features needed for their migration.
I think this is a valid point to bring up with the Discord discussion, seeing as there's lots of controversy on the affect this may have on the open srouce community.
Automatically included with the bot scope sounds fine, but it should still be kept as a standalone scope for slash-command only applications (i.e. ones without a bot account). They are very useful for when you don't need to use the bulk of the Discord API itself, such as just fetching data from third-party APIs and returning it in the interactions response.
Bruh the slash commands are just so bad and uncomfortable tho
Bruh, the slash commands are just so bad and uncomfortable tho
Hey yall, moosh here.
Just putting my 2 cents in - In short, I don't feel like this change is ready to happen yet, even in April 2022. I feel like this is a problem that needs solving (message privacyt, BUT -
I feel like interactions as a whole are still half baked. Slash commands don't support variadic arguments, which is a huge deal, because the best solution for now is to slap an absolutely massive amount of optionals in the arguments list. That looks bad, and can be confusing.
Mu...
It might mean you were temp banned from using the API
It might mean you were temp banned from using the API
Nevermind, for me it just fixed itself.
@NexTheMighty Suggestion: Maybe suggest ways Discord could improve Slash Commands, instead of only saying "they are bad" which doesn't help them to know how to improve going forwards?
Just a thought, but wouldn't it make sense that if you press Tab multiple times it would delete the current option if the current option has an empty string and replace it with the next option in the list? This would allow a user to easily tab to a single option later in the list without then having to go back and delete all of the empty options.
**Hold on a second!** You are about to grant a bot read access for ALL messages in your Server! Bots cannot read messages in your server by default and clicking "I understand" will allow this bot to do so. This means that the bot will be able to read every message you send in your server, including those about which Wumpus is the best one (It's clearly shiny Wumpus!). It's recommended to first read the [Privacy Policy]({bot_policy_url}) of the bot to see if...
This ensures it has a unique name compared to the active threads
endpoint for channels.
Duplicate of known client issue bugs.discord.com/T3993
How is it a duplicate when this was reported here way before it was reported on d-testers? lol
This seems like the wrong direction to go, there are plenty of legitimate reasons for bot owners or server admins to not want slash commands from a bot (and any future interaction types that fall under this scope).
Besides, including a scope by force is not how OAuth is designed, the url should clearly indicate what scopes are being requested.
The report was made 1 day before this issue was opened
This issue was made 18 days ago, the report in d-testers was made yesterday
Correction, the report got submitted 3 days before this issue and indeed got approved yesterday https://i.imgur.com/SZB6c5L.jpg
It's fine to report message components bugs here, even for client issues
Still useful to note that it's on board I guess
**Hold on a second!** You are about to grant a bot read access for ALL messages in your Server! Bots cannot read messages in your server by default and clicking "I understand" will allow this bot to do so. This means that the bot will be able to read every message you send in your server, including those about which Wumpus is the best one (It's clearly shiny Wumpus!). It's recommended to first read the [Privacy Policy]({bot_policy_url}) of th...
## List Active Guild Threads % GET /guilds/{guild.id#DOCS_RESOURCES_GUILD/guild-object}/threads/active
I think that would be better.
Our API only supports emoji in unicode characters as syntax.
This is no longer true due to guild sticker tags
technically you can set tags to any string, the client will make you set an emoji to save changes though
I like Slash Commands. I like Interactions. I'm excited for the future. But I'm concerned with how quickly this was rolled out and how lacking communication on what we can expect has been. Slash Commands and Interactions are not ready for the primetime, and us bot devs are not stuck waiting for our libraries to implement features that don't even fully exist yet.
Here's my current list of concerns and grievances.
- No Union type arguments. I can't make a
/help [string or channel], for inst...
Currently caching data received from the API is pretty hard to cache effectively. Of course there is gateway events that update the client about certain changes, but not only do some bots not even connect to the gateway, but there's also certain things that don't have gateway events that would inform the client about changes. Therefore there is no way to check if the cached data for those things is still up to date, or if it has changed already, without making a new request and checking the c...
I think that the "check this box to allow this bot to view messages" fundementally won't work, sure you're giving the user the 'choice'. However it's firstly the illusion of choice as a large majority of bots will request this solely for prefix commands, and secondly most users won't likely understand how bots work and what the potential for abuse is, and people have the tendency to give bots way more permissions than they need (eg administrator)
It's a nice idea, however I don't think it ad...
Currently, the threat model of Discord API is not well defined, especially, who needs to trust whom, and what is Discord's position towards users and bots regarding the entered data.
I thought I'd put my 2p in here both from the perspective of a bot developer using a 3rd party library and as a user of slash commands (and pulling some feedback from users of my bot too).
I will start off by repeating some of the points from earlier comments to get that out of the way:
- I agree with the intent here to protect user privacy and I do agree with the underlying problem and solutions of restricting it by an intent. - I think the 100 server limit is very double-standard and ...
Oh - I forgot to mention - the new scope is a pain! Please at least add the ability to retrospectively change scopes on an integration in a way that is easy for users - I don't mean just reauthorising a bot, I mean a switch in the interface or something!
This issue has been discussed multiple times:
The old stance on the names:
Our API only supports emoji in unicode characters as syntax. Colon based formatting is a client construct (clients convert colon based formatting into unicode characters) that our API doesn't understand or deal with, so it has no place in our API docs.
Guild stickers have changed this as their tags now accept a "Discord name of a unicode emoji".
If this is to kept as it is then we should really get a li...
Finish the job before forcing me to use the half baked toolset
100% agree, but to be very honest, the way this feature seems to be, I don't think it can quite replace prefix commands in every extent. Slash commands were meant to use built in commands only for a long time, just like for example in Minecraft. And now pushing every single command from every single bot onto there is gonna get messy anyway. In my opinion part of the concept really needs to be reinvented.
Oauth isn't meant to let you change a user's data. It's only valid for the GET path
even IF this is something that should not be allowed, shouldn't some kind of error be returned?
This information is available in the documentation:
https://discord.com/developers/docs/legal
https://discord.com/developers/docs/policy
According to https://support-dev.discord.com/hc/en-us/articles/4404772028055, access to message content, embeds, attachments, and components will soon be restricted. Presumably, mentions, mention_roles, and mention_channels will not be restricted since I don't see anything about these in the article.
My library (Discordia) provides mention data in a way where message content is parsed for all relevant <> bracket style mentions including users, roles, channels, emojis, and d...
terms of use/service โ threat model
That happened to me yesterday. I spend almost a whole day trying to find out why Discord was not caching my images, and it just started to work suddenly.
Before it started, I received a response saying that I was being Rate Limited.
I suspect Discord banned me for a day.
If that's possible, we should be able to check somewhere if we're blocked or not
Error: You are being rate limited. (discord/channels@0.0.3/messages/create)
at IncomingMessage.<anonymous> (/opt/node_modules/...
Really loving the Integrations so far, especially as a bot creator!
I would like to suggest this option and would appreciate any feedback on it.
Currently, we can have only one Select per action row in a View.
However, in case of small labels (and no descriptions), two Selects next to each other might look better.
Here is a basic draft of what I'm talking about:
O...
A better example of how annoyed I got was I have a
/devtool stopcommand and I kept typo-ing/devtools stop because Discord put my S in the argument when I intended, incorrectly, to do/devtools stop[...]
This concerns me, because I have separate commands /stat and /stats, and this is going to cause immense pain if this is true.
A better example of how annoyed I got was I have a
/devtool stopcommand and I kept typo-ing/devtools stop because Discord put my S in the argument when I intended, incorrectly, to do/devtools stop[...]This concerns me, because I have separate commands
/statand/stats, and this is going to cause immense pain if this is true.
This isn't speculation, this is an experience I had
I had similar experiences with Discord's /nick command.
Like I have a bot on my server that uses text commands (not slash commands) with a / prefix and it offers a /nickname <user> --random option to randomize a user's nickname...
But because Discord offers a /nick command, and because the client is shit at understanding what commands I actually want to use, did it think I meant /nick and auto-splitted the input right after that. So /nickname became /nick name at the end...
...
Any update on this? It's a pretty serious oversight that makes adopting threads in my bot difficult or impossible.
Since the addition of default_auto_archive_duration, we are no longer required to pass auto_archive_duration when creating a thread, this PR marks that parameter as optional.
Just to be clear, this means it accepts null. You might have meant to put the question mark on the name itself, which means that the key is optional.
Description
Slash command options do not have a length limit like messages (2000/4000). As long as you keep pasting and editing the option to add more characters it will accept it, and the API will process it.
Steps to Reproduce
- Create a slash command that takes a string
- Paste in 1000 random characters as the argument.
- Backspace until the cursor is back inside the argument and you can add more text in.
- Paste another 1000 characters.
- Rince and repeat the ...
I guess I'll have to implement limits in my bot directly then, feel free to close the issue if that's the case, but it did seem a little odd to accept an arbitrarily long string.
I remember the biggest deal with slash commands was supposed to be serverside and clientside validated arguments - what's the point of that, when there's so many arg types that the only way to implement is through a string arg you parse yourself? Even a regex arg type would be amazing, if we could filter user input that way.
I'd like to mention discords own new built in /thread command fails clientside validation and has to hit the server before failing. It presents the need for restrict...
could this also be mentioned on the message object itself since that's where the fields will be blank?
Yeah try to do that on a mobile.
The limit is really very prohibitive for no reason and impacts my bot. Some suggestions/ideas if discord is seeing this:
- Add a bulk route which takes in the maximum amount of emojis in a server, and ratelimit it the way it is now.
or
- Allow verified bots to fill a form showing the use case and get ratelimits increased.
or
- Just remove the prohibitive ratelimits for verified bots.
They say it is a dynamic ratelimit.
silently fails and clears the current valid tags value
this is incorrect, it successfully updates the value to foo
default_permission is a command property, but permissions are per-guild. I'm making a system where a global command defaults to requiring a Discord permission, but server admins can optionally set mod roles to override that. I'd like to set command permissions if the admin sets mod roles, but I can't change it to being disabled by default on the guild, so I can't. I'll just make it check the member's roles when the command is used, but that's suboptimal UX.
Description
I'm using Discord API to get user avatar. Once I've logged in user, I exchange code to get token. During exchange, I get an error :
{"error": "invalid_request", "error_description": "Invalid "code" in request."}
My code is :
`
var params = new URLSearchParams(location.search);
if (params.has('code')) {
var xhr = new XMLHttpRequest();
xhr.open("POST", "https://discord.com/api/v8/oauth2/token", false);
xhr.setRequestHeader('Co...
parent_id and thread_metadata will be present after the next api deploy.
parent_id and thread_metadata will be present after the next api deploy.
Few things here:
- You posted your token. Either reset your token or expect your account to be banned as someone out there will definitely abuse that.
- This really isn't the place for these questions. The best place would be the DAPI server which has channels for these kinds of questions.
- The 400 error you are getting means something on your end is incorrect. Not a bug with dapi. Refer to 2.
Apparently this is actually a bug in the client only allowing emoji names. Any strings for tagging are allowed.
Oh, when I tested it (setting various tag strings) it just clears the emoji off the top left corner when its not a name. How else could the tags be displayed unless it's simply not implemented yet?
The API will accept any string up to 500 characters for the tags field. We use this to power autocomplete and suggestions. The client forces input to come from an emoji because its a set of commonly used names that a client could match on. Using unicode is not really an option here, as people do not type unicode emojis in your typical conversation in discord.
Myself and a few others noticed when implementing both the deaf and mute properties that these are not sent in GUILD_MEMBER_UPDATE. I have not been able to get these fields to be included in the json Discord sends with the members intent. It does not fire when someone either deafens/mutes themselves or gets server muted/deafened. It also doesn't seem to be included when someone is muted/deafened and something else causes the event to fire.
I have noticed that these fields are includ...
since ptb and canary still seem use the same backend services
Canary actually has a separate API, the canary API
yeah, thats why I didn't say they use the same API, what I meant was that they use the same DBs and services, so technically they aren't isolated environments
8656e78 fix: broken link on interaction documentation (... - SuperchupuDev
4c2c905 remove (outdated) reference to the Create Messa... - advaith1
This should have been fixed a few days ago.
Any updates on this? Having integration with Discord is a must for my game. And I need it to be able to support the next generation of Macs.
according to night in the post I linked the colon short names are resolved to Unicode before hitting the api?
The API will accept any string up to 500 characters for the tags field.
why isn't that on the documentation page
the max length "allowed" in text inputs is 104,448,000 characters, or about 75MiB of base64. (anything larger sends a nginx 413 request entity too large error)
My project lacord is a discord api client for lua built on top of the lua-http framework.
Relevant parts of the implementation in regards to ratelimiting:
Calculation of delay when we run out of requests:
Handling 429s:
The project offers almost full coverage of api methods, and transparently supports interactions and slash commands over the gateway. I also have a webserver built in as a low level way to receive slash commands over outgoing webhook. I also provide a sister ...
Proposal
In light of messages becoming a Privileged Intent next year, it might be useful for users to be able to pass one of their own messages as an option to a Slash Command.
Use Case 1
Someone might be organising a tournament. They want people to register their intent to participate in the tournament. So, they write an announcement message, and then have a bot reply to their message with two buttons: 'Attend' and ...






