| Field | Type | Description |
| ------------- | ---------------------------------------------------------- | -------------------------------------------------------------------------------------- |
| count | integer | Total number of times this emoji has been used to react (includin...
#github-notifications
1 messages · Page 7 of 1
added me_burst and just did some capitalization
| burst | integer | Count of super reactions |
"me": false,
"me_burst": false,
"emoji": {
It is valid here but could be spaced out from the other words for clarity
\* If the channel is within a non-community server, the value of `max_age` cannot be 0 — it must be between 1 and 2592000.
Description
Could we get some clarification on the new Create Events permission?
As:
- Any doc about it?
- How to identify servers that has the permission available?
- How test the permission, which is ots bitwise value?
- How it affects event creation?
That being I have been getting a lot of missing permission on scheduled event creations, and I believe is because of this permissions, but there is no doc about it (that I could found).
I only knew about because of this p...
This confusion, if any, can be averted by simply removing the superfluous wording.
\* If the channel is within a non-community server, the value of `max_age` must be between 1 and 2592000.
the space removal was incorrect. Doesn't align with rest of the table
Resolved with merging of #6071
The new Create Events and Create Expressions permissions released to all servers two days ago. They allow creating events/expressions and editing deleting events/expressions you created. The associated Manage permissions are now for editing and deleting them.
Permission flags:
CREATE_GUILD_EXPRESSIONS: 1 << 43
CREATE_EVENTS: 1 << 44
@advaith1 Thank you for the info!
I've been having trouble with this for the last few weeks.
I can not get my head around they released a new permission with no announcement or documentation
I'm not sure whether stating the limitation for this endpoint twice (thrice if you count the one in the changelog) is really necessary. Maybe an info / warn box would be a better solution here...
Would it be worth noting that the guild field might deprecate the fields it contains similarly to #6051? And possibly even mark these as such in the interaction object below?
| guild? | partial [guild](#DOCS_RESOURCES_GUILD/guild-object) object | Guild that the interaction was sent from |
| guild_id? | snowflake | ID for the guild that the interaction was sent from |
| channel? | partial [channel](#DOC...
Now that voice messages are a discord feature, will this be looked at 🤔
MESSAGE_REACTION_ADD also has updates, which aren't in this PR.
Will these be added? They are missing from documentation.
@Mateo-tem Any feedback?
Maybe this should also mention the max length of a tag? It appears to be 20
| install_params | ?[install params](#DOCS_RESOURCES_APPLICATION/install-params-object) object | Settings for the app's default in-app authorization link, if enabled |
It seems that install_params can be set to null in order to remove them.
MESSAGE_REACTION_ADD also has updates, which aren't in this PR.
Will these be added? They are missing from documentation.
@Mateo-tem Any feedback?
We might wait for a staff response, because as it was said, the API needs to be updated
Users global name is nullable in the event that a user removes their display name, which causes the field to return null.
{
"id": "209279906280898562",
"username": "velvet.toroyashi",
"avatar": "b3477e5310b7049d1796e866f69bb928",
"discriminator": "0",
"public_flags": 4195072,
"flags": 4195072,
"banner": "8e01d9d5ffbcecfb8bb6e71ba588426c",
"accent_color": 1385281,
"global_name": null,
"avatar_decoration": null,
"display_name": null,
"banner_col...
this is a bug. it should be nullable, not optional.
So will bots return an empty global name in that case? Fetching via the ID seems to work properly, in retrospect, but not the get current user endpoint
Description
Seems like something is going awry internally - the URL produced is:
Which seems weird given it has the entire original URL in the new URL (but with the number of forward slashes reduced to 2).
Steps to Reproduce
Attach an image to a message using 4 forward slashes as opposed to 2
Expected B...
[discord/discord-api-docs] New comment on discussion #6084: Feature to add users to threads silently
This feature should not be added, as silent insertion might incur significant data use changes for those who live in a capped dataplan.
Clarifies what parameters are optional for Modify Guild Channel Positions.
positionlock_permissionsparent_id
a50bf9b Mark optional params for PATCH channel position... - colinloretz
Thanks for reporting this @Tmpod. It has been updated in #6301 and will be published in docs soon.
Description
When fetching a user, namely the current user, linked_users is returned, which is especially strange since it's not enabled/returned for my own account, but is for my bot.
{
"id": "1055294262184509460",
"username": "Kobalt",
"avatar": "b9f018710c05cbaf6e9175a56e140e35",
"discriminator": "3822",
"public_flags": 524288,
"flags": 524288,
"bot": true,
"bio": "",
"locale": "en-US",
"mfa_enabled": true,
"premium_type": 0,
"linked_us...
Hi, This issue is sadly happening again.
Another bump. This would be great.
Is there any chance the payload of this could be reworked to match what is returned from /users/@me?
bumps don't do anything, if you want to support an idea upvote it
message reaction add and remove events also have super reaction related fields - burst_colors: array (array of hex color strings) and burst: boolean (whether the reaction is a burst reaction)
looks like bots still use the old permissions currently, unless they send an x-super-properties header, so this should not be causing issues for you
hi im back
New permission flags:
CREATE_GUILD_EXPRESSIONS:1 << 43CREATE_EVENTS: `1 Bots currently still use the old permission system, unless they send a recent X-Super-Properties header. This PR does not reflect this fact and only documents the new system.
Other notes:
- The client incorrectly allows you to create events if you have
MANAGE_EVENTSbut notCREATE_EVENTS, but the API rejects the request. - For bots with
CREATE_GUILD_EXPRESSIONSbut not `MANAGE_G...
I'm waiting for this fix too. In portuguese we still see only "True" and "False" 🥲
With CREATE_GUILD_EXPRESSIONS permission only, does it still include the user field on all sticker objects or does it follow the same rules as retrieving a single sticker object for each of the list's items?
see the note in the pr description - all endpoints except getting a single emoji always return user objects with CREATE_GUILD_EXPRESSIONS
Also, should #6260 be updated in order to reflect these changes or will you include the permission changes in whatever PR gets merged last or make an entirely new one?
Sorry for lack of an answer for a long period of time.
I understand, however, is "details" going to be appropriate here? I would personally rephrase it to be something like:
| resolved? | [resolved data](#DOCS_INTERACTIONS_RECEIVING_AND_RESPONDING/interaction-object-resolved-data-structure) | resolved payload entities |
Hey @advaith1
I was the engineer who worked on the permissions split. I'm going to address your notes to:
- Patch the UI bug allowing you to go through the create event flow if you only have
MANAGE_GUILD_EXPRESSIONS - Make the GET Guild Emoji endpoint consistent with the other endpoints.
I'll give you a re-review once these are both addressed and we update the docs accordingly.
Description
When copying a command, the application/x-discord-interaction-data is copied, but when pasting it, it does not select the command if there are multiple commands with the name. The copied data should make the client select the command that was copied. This worked before but broke.
Steps to Reproduce
- Use a command when there are multiple commands with the same name in the channel
- Click the /command text and triple click the popup, then copy the command
- See th...
Description
I am getting discord.errors.HTTPException: 401 Unauthorized (error code: 0): 401: Unauthorized and discord.errors.LoginFailure: Improper token has been passed. when creating a bot. The token should be correct. Here is my code
import discord
from discord.ext import commands
print('haha')
client=commands.Bot(command_prefix='.')
@client.event
async def on_ready():
print('bot is ready')
@client.command()
async def hello(ctx):
await ctx.send('Hi')
Token="MTEz...
well the token is not correct. and NEVER POST YOUR TOKEN PUBLICLY!! everyone can see it and take over your bot if it is valid
go to the dev portal and reset it
also use codeblocks when sending code
Thanks. The token is not correct? I got that from the 'bot' page
.
If it is not correct, how should I get the right one?
just go inside your application/bot (https://discord.com/developers/applications), click on the bot option and try to reset your token. (as @advaith1 had said, DO NOT SHARE YOUR BOT TOKEN).
I rerun the code after resetting the token. However, same error occurred
I am writing to request the addition of support for retrieving a user's bio and/or pronouns through privileged intents in Discord's API. With the recent introduction of a new profile field for pronouns, it would greatly benefit bot developers to have access to this information, enabling them to provide enhanced features and functionality to Discord users.
Use Cases:
- AI Bios Moderation: Bots are commonly used for content moderation, including scanning and filtering user-...
While I dislike how AI/LLM-focused this suggestion seems to be with its possible use-cases - I do like the idea of allowing Bots access to Pronouns Field for Bots to use in their responses or to help with moderation of the Pronouns Field (since there are a LOT of people abusing that Field for malicious text just because it's labelled as a Pronouns Field).
I focused my message mainly on AI chatbots because Clyde AI does already have access to that information. But as you said, it's not the only option. There are possibilities for other uses of the Pronouns field such as providing bots with access for both answering users' questions, as well as helping with the moderation of the Pronouns field in order to prevent malicious use of the field, as you said.
This seems like a close solution to https://github.com/discord/discord-api-docs/discussions/4726. Would it be possible for that bot user to have the same keys that /users/@me has? That endpoint has verified, locale, and mfa_enabled which are missing here. Admittedly these are somewhat niche or useless but my library's ClientUser data type includes these keys.
8097cbc Bump word-wrap from 1.2.3 to 1.2.4 - dependabot[bot]
Bumps word-wrap from 1.2.3 to 1.2.4.
Release notes
Sourced from word-wrap's releases.
1.2.4
What's Changed
Remove default indent by @mohd-akram in jonschlinkert/word-wrap#24
🔒fix: CVE 2023 26115 (2) by @OlafConijn in jonschlinkert/word-wrap#41
:lock: fix: CVE-2023-26115 by @aashutoshrathi in jonschlinkert/word-wrap#33
chore: publish workflow by @OlafConijn in jonschlinkert/word-wrap#42
New Contributors
@mohd-akram made their first contri...
I feel uncomfortable with the idea of placing this as a privileged intent knowing that.
- Pronouns and biographies are subject to contain sensitive personal information (by definition).
- That bots would have the ability to literally scrape every member's bio.
- There is no way for Discord to enforce the policy of collecting and storing user data retrieved through third-party bots. This also raises some GDPR questions (to be verified).
What's more, Discord doesn't currently display...
What's your use case? Other than a Vanity URL sniper?
Why not retrieve the member from the Discord API? I mean, it would add extra network data for bots that don't need it, not to mention Discord's point of view on the infrastructure side.
I don’t think bio should be allowed at all.
Pronouns are a different story.
Current vanity-url rate limit rule:= You are being ratelimited (Authorization User Based)
I want, please update set to Guild Based Rate limit:= (The resource is being ratelimited.) Server ID Based , Not bypassable
Authenticating with a user token is against Discord’s terms of service. There’s no support for those endpoints.
Not only is this extra work, but it also provides a degraded user experience due to slower replies. If the member is already in the interaction, the permission checks can be done immediately.
Thas sounds a great compromise actually, allowing users to opt to give their bio to an app. I like this idea.
I feel uncomfortable with the idea of placing this as a privileged intent knowing that.
- Pronouns and biographies are subject to contain sensitive personal information (by definition).
- That bots would have the ability to literally scrape every member's bio.
- There is no way for Discord to enforce the policy of collecting and storing user data retrieved through third-party bots. This also raises some GDPR questions (to be verified).
What's more, Discord doesn't currently display...
Same issue on multiple browsers, Windows 10
It's quite obvious that any bot should naturally have access to messages within a thread it creates. The inconsistency of bots owning servers not being able to bypass such a simple intent is too big to ignore.
Hi, I can reliably reproduce this. This used to work. I believe this is an artifact that our bot has "Discord" in its name... but I don't think this restriction should exist on interactions in the first place?? Hopefully this is just an accidental carryover from webhook logic?
See https://sentry.bots.gg/share/issue/86a635e234f742aaaf095432b6bc424c for a full stack trace.
sorry to open this topic again, but It looks like the error still exists in some server threads
This is the only server I'm getting this error on at the moment
{"rate_limit_per_user":0,"owner_id":"690941835455234070","flags":0,"type":11,"message_count":10,"total_message_sent":10,"last_message_id":"1121195959192399952","parent_id":"989561638355083284","name":null,"guild_id":"951202036223995956","thread_metadata":{"archived":false,"archive_timestamp":"2023-06-18T21:21:36.611022+00:00","crea...
sorry @infinitestory to open this topic again, but It looks like the error still exists in some server threads
This is the only server I'm getting this error on at the moment
{"rate_limit_per_user":0,"owner_id":"690941835455234070","flags":0,"type":11,"message_count":10,"total_message_sent":10,"last_message_id":"1121195959192399952","parent_id":"989561638355083284","name":null,"guild_id":"951202036223995956","thread_metadata":{"archived":false,"archive_timestamp":"2023-06-18T21:21:36.6...
Feature Proposal:
In light of recent advancements in artificial intelligence, more specifically Language Models (LLMs), the way we interact with chatbots is rapidly evolving. One notable advancement involves the capability of LLMs to generate outputs not as a complete text block, but in a character-by-character, stream-based format. This reflects a more organic, human-like conversation flow, which could revolutionize the expected behavior of chatbots.
The aim is to deliver this dyna...
I would try to narrow down the problem by trying some raw API calls using Postman or something to see if it's an issue with your implementation or usage of the library.
Description
If you publish a message (in an announcement channel) that has components, the messages ending up on the subscribed servers don't have any components.
User story: I want to use link buttons in messages because they look better and are more noticeable than regular text links, but the fact that they don't get published means that servers subscribing to the announcement channel can't see the link. This is a problem.
My suggestion: Make the published message also include th...
you can also try to recreate an application. it's not supposed to give any error when resetting your bot token in the developer portal. make sure that the updated token are implemented on all the source code of your bot's files.
Same issue here, first time doing embeds with bots :D
I guess I will have to settle with
{ name: ' ', value: ' ' },
Which creates a much smaller gap than
{ name: '\u200B', value: '\u200B' },
Comparison:
Makes sense but we're not using the property for media channels as there's no way to change the layout for media channels at the moment.
de75912 Update the change log - insacc
9252c3d Update the wording on the change log - insacc
b1d8036 Update more wording on the change log - insacc
5421cc1 Move info to the intro - insacc
39f35f3 Remove the moved info - insacc
2135679 Replace slash with and - insacc
8fb53d9 Update the beta state - insacc
yes, media channels have the same topic character limit as forum channels, I'll address this in the doc, thank you 🙌
[discord-api-docs] Branch task/add-guild-media-docs was force-pushed to `44c9932`
My server had access to this experiment early on, so it has some pretty old media channels. This doesn't apply to any new media channels I create, but older ones appear with type
GUILD_FORUMwith theflagsfield set with the1 << 10bitwise operator. Additionally, webhooks are fully functional in these older ones, and appear on the client, regardless if any are created. This is not true for recently created media channels.
Thank you reporting this. Just to confirm, you're saying we...
A `GUILD_MEDIA` (type `16`) channel is similar to a `GUILD_FORUM` channel in that only threads can be created in them. Unless otherwise noted, threads in media channels behave in the same way as in forum channels - meaning they use the same endpoints and receive the same Gateway events. More information about media channels and how they appear in Discord can be found in the [Help Center Article](https://creator-support.discord.com/hc/en-us/articles/14346342766743).
I think it's not ideal to use the term "thread-only channel" without really explaining that it's referring to Forum and Media Channels. This might add additional confusion, especially given that in other places this is not abbreviated in this way.
Maybe the Forum and Media channel sections could be grouped under a "thread-only channels" section to make the definition more clear.
| GUILD_MEDIA\* | 16 | Channel that can only contain threads, similar to `GUILD_FORUM` channels |
Threads in thread-only channels have the same permissions behavior as threads in a text channel, inheriting all permissions from the parent channel, with one exception: creating a thread in a thread-only channel only requires the `SEND_MESSAGES` permission.
Add the [`GUILD_MEDIA` (16) channel type](#DOCS_RESOURCES_CHANNEL/channel-object-channel-types). `GUILD_MEDIA` channels only support threads, similar to `GUILD_FORUM` channels.
Read the [media channel documentation](#DOCS_TOPICS_THREADS/media-channels) for more information on the implementation and technical details, or the [media channel Help Center Article](https://creator-support.discord.com/hc/en-us/articles/14346342766743) for more about the feature.
The second paragra...
Thank you reporting this. Just to confirm, you're saying webhooks aren't working for the
GUILD_MEDIAchannel type, right? I'll create a ticket and investigate this.
If I'm not mistaken, it should be already on the bug list. I remember it being mentioned in ddevs
@advaith1
Following up with you.
- Should be fixed now
- I'm not going to change the current API behavior because I think it's designed as intended.
However the behavior around fetching is slightly more complicated. To clarify, this is what happens:
- GET - List Guild Emojis
- If bot, we return you a list of emojis uploaded by the bot (don't need to serialize user here since all the emojis should belong to the bot)
- if not bot, we return you all guild emojis and seriali...
This should not user fields for bots regardless if they have permissions or not.
any update on this? I'm still noticing this issue.
Description
When creating a invitation on a server , the Audit logs shows that the invitation link is created twice.
THESE LINK ARE DISABLED FOR OBVIOUS REASONS
Since the audit logs are created twice , that also triggers the GUILD AUDIT LOG ENTRY CREATE twice.
and as you can see in the next picture , only 1 code is created too.
so , 1 code created per invitation ...
Only one sentence comes to mind.
Waste of bandwidth.
For bots, for Discord and especially for users on limited mobile connections.
Background
Many Discord bots display information publicly, such as profile messages.
Others are dedicated to search and systematically display ephemeral messages dedicated to and personalized for the user. These ephemeral messages are generally based on the user's profile, language or search query.
In my previous suggestion, I suggested an internationalization system for bot embeds. This was mainly motivated by the possibility of internalizing the static welcome, presentation and ...
There should be a way to customize the "Application did not respond" message with a plain-text message. For example, if my bot crashes due to an error and a user tries to use a command. I should be able to tell them to join the Discord server for support on why it's offline.
User: /help
Response: "Hey! Sorry, I'm currently experiencing difficulties etc. Join the Discord server for support: "
It'll still be highlighted in red with the exclamation mark but with the custom message. Sorry ...
Description
Putting a number in the hover text for a masked link in a bot embed completely breaks the rendering for that link, producing a massive bit of gibberish instead of the expected link.
Steps to Reproduce
"embeds": [
{
"title": "[google](https://google.com 'This is the 1st link to google.')"
}
]
}' https://discord.com/api/webhooks/WEBHOOK_ID/WEBHOOK_TOKEN```
### Expected Behavior
This SHOULD...
Did some extra testing, it wasn't the numbers, as far as I can tell it's the emojis in the hover that breaks the hovertext.
I completely understand your concerns, especially if you haven't experienced chatting with a Language Model (LLM) via Discord before. To give you a better idea, imagine waiting for a large block of text to appear all at once in a chat conversation. You are waiting and waiting and then you need to scroll up to start reading. This lack of a natural flow can make the interaction feel less interactive and more like reading a wall of text.
Now, in terms of potential solutions, one might think o...
I completely understand your concerns, especially if you haven't experienced chatting with a Large Language Model (LLM) via Discord before. To give you a better idea, imagine waiting for a large block of text to appear all at once in a chat conversation. You are waiting and waiting and then you need to scroll up to start reading. This lack of a natural flow can make the interaction feel less interactive and more like reading a wall of text.
Now, in terms of potential solutions, one m...
What you say about the friction associated with the need to scroll at the beginning of the message makes perfect sense in this context. After reading your post, I've drafted a new suggestion that might be of interest to you in your use case, and which would be a longer-term solution for other bots and not just chatbots. https://github.com/discord/discord-api-docs/discussions/6313
It's apparently more than just emojis as well, something in this text it also does not like.
As you can see with this, it's clearly fine with numbers, letters, dashes, and newlines, so I'm not sure what about the first item it's not liking, but needless to say, hovertext has ...
We have no plans to implement this. The premise also seems flawed, because normal humans on Discord don't send long essays in a live stream, they send multiple shorter messages. You can train your AI to do the same thing if that's your goal.
maybe just leave the invite link to the bot's support server.
there is a way to see how much the user has boosted
Description
On mobile, when you mention a pomelo'd user but a prefix substring of their username matches a role name, a #0000 is inserted after the mention to fix an earlier bug where the role would get pinged instead.
For example, when mentioning @advaith and there is a role a, previous versions of the app would mention the a role:
To resolve this, newer versions of t...
Description
On mobile, after exiting a channel and reopening it, slash command errors always say "The application did not respond", even if the error was actually different.
Steps to Reproduce
- Run a slash command and provide an invalid user ID (or run into the webhook case of #6316)
- See the error message
- Switch channels and go back
- See the error message
Expected Behavior
It still says

what are modal limitations
Described above
Also when viewed in some web browsers the text input styles are cut off only listing short as an option....
My server had access to this experiment early on, so it has some pretty old media channels. This doesn't apply to any new media channels I create, but older ones appear with type
GUILD_FORUMwith theflagsfield set with the1 << 10bitwise operator. Additionally, webhooks are fully functional in these older ones, and appear on the client, regardless if any are created. This is not true for recently created media channels.Thank you reporting this. Just to confirm, you're say...
Yes, but not without violating Discord's terms of use. It is possible to do this with a user token, as the Discord client displays the number of times a user has boosted and when boosts expire.
This sounds very similar to some features that already exist.
@RealAlphabet There is no need to recommend using a user token, you can simply say that it is not possible.
Listen for GUILD_BOOST message types sent in the system message channel and get the boost count from the message content.
This (one line 😛) PR:
- removes an unused variable from an example snippet
Disadvantages
For users, none, but advantages.
What about server moderators? Depending on the bot's features, it may be a good idea to let moderators see what users are doing with the bot. For example, if a bot stores a string that can be retrieved later, and the bot has not implemented a method of notifying server moderators that this string was added, people may use that to add stuff that's against the server rules or Discord's TOS.
I'm not making any recommendations here, just stating the facts. If you want to point out that it's forbidden to use a user token, feel free to do so.
how are they too limited exactly?
It's necessary to understand the needs mentioned, as well as the alternatives considered, to understand how this feature serves a different purpose from the features already offered by discord.
The forums and functionality proposed here serve two very distinct purposes that are not interchangeable. Here we're talking about search bots and the need to improve accessibility and user experience when using forms in a search context.
Imagine a bot that refere...
Without even reading that giant block of text I can already tell that there are very few use cases that are actually feasible and not malicious. The chances of this actually being implemented are zero because this is such an esoteric suggestion.
Unless I misunderstood, this is off topic.
Users can already use bot commands via slash commands without moderators being able to see the commands they have executed (if the response is ephemeral). Fortunately for the privacy of users elsewhere.
Unless the bot displays a public message containing the data that the user transmitted to it via your server, this transmitted data does not concern your server. Data sent to bots is no longer subject to Discord's usage policies but to the usage po...
I'm curious to know on what basis you judge that the use of this feature would necessarily be malicious?
How can you claim that by starting your first sentence with the statement that you didn't take the time to read the explanations.
There are already less ergonomic alternatives that are used by more than 1/3 of bots on discord (based on app discovery). Are you going to say that all these bots, including the Soundcloud and Netflix bots, are malicious? Midjourney too?
Your answer makes no ...
Users can already use bot commands via slash commands without moderators being able to see the commands they have executed (if the response is ephemeral).
But you propose that messages in this channel type are ephemeral by default - meaning that messages that should be non-ephemeral may end up being ephemeral anyways if the bot isn't expecting this channel type. That can cause a whole load of problems, including problems with server moderation, as well as difficulties in figuring out w...
How would the bot know if the user cancels some but not all of their boosts though? Before you say total boost count, that doesn't identity the person in particular.
I believe that at this point most human moderators can be replaced with discord automod, thus negating any moderation concerns.
I believe that at this point most human moderators can be replaced with discord automod, thus negating any moderation concerns.
AutoMod doesn't catch everything. Automated Moderation tools, including with 3rd party Bots, are never going to be a 100% replacement for human, manual, moderation.
Thus, it's always best to have human moderators as a just in case.
Description
An id field is required when creating an onboarding prompt. The only way to create a new prompt is to pass a nonexistent snowflake in the id field.
Steps to Reproduce
curl -L -X PUT "https://discord.com/api/v10/guilds/guild_id/onboarding" -H "Content-Type: application/json" -H "Authorization: Bot Token" -d "{\"prompts\":[{\"title\":\"Title\",\"options\":[{\"title\":\"Title\",\"role_ids\":[\"role_id\"]}]}]}"
Expected Behavior
The id field is not req...
Hey! I was using a browser to play around with attachments and attachment URLs, and I noticed that some types of attachments seem to have permissive cors (mostly images which is very useful) and others (text files) have no CORS headers at all. I was wondering if this could be documented somewhere, if it isn't already and i've just missed it several times? Thank you!
Coming here because I was looking for a yes/maybe/no set of colours, and apparently there's no yellow/orange colour? Feels weird to not have this.
Description
Interaction Response uses the interaction.id as the path parameter. Executing Webhook also uses webhook.id as the path parameter.
But Interaction Followups and a [few other endpoints](https://di...
Duplicate of #2701
The rate-limit major parameter is the webhook id + webhook token, as described in the comments there.
Thanks for the ultra-fast reply. I was apparently searching with the wrong label.
Unfortunately, the tested ratelimit of 30/60s per guild/global (hard to test) seems absurdly low. It makes followups quite slow and unusable for high-frequency bots (I encountered this with giveaway bots)
So does modals have there own page? Because I would like to know the limitations, is it the same as messages allowing only 5 action rows? Does it allow the use of embeds, I just feel like the modal is very unknown own. I understand it does belong with components but it's mentioned there should At least have a link for its respective page/pages
So does modals have there own page? Because I would like to know the limitations, is it the same as messages allowing only 5 action rows? Does it allow the use of embeds, I just feel like the modal is very unknown own. I understand it does belong with components but it's mentioned there should At least have a link for its respective page. Yeah I haven't seen this page before on modals I see the page now I was unable to find this before and searching doesn't work well on android
Modal components still need to be in an action row, but you can only have 1 text input per action row since it has an internal width of 5. This fact is not documented, as you mentioned. Same with the other internal widths I believe.
I set up my server a while back with reaction roles following a tutorial, but now I kind of want to update the look of these questions. I had no problem until I realised that in the react roles channel I used one webhook for ALL of my questions and the only one I managed to change was the most recent one (Im guessing its because the webhook is now only linked to the last one I made). Whenever I try to paste the webhook link and the message id for the other questions I get presented with a "Th...
I suspect, I am facing the same issue on a server I run - almost all of our users can use slash commands both in DMs and server channels but we have a few users (at least one confirmed) who are unable to see/use commands in DM.
- Legacy chat input disabled
- User can see and use commands in server channels
- User can't see commands in DMs (https://cdn.discordapp.com/attachments/1051530970152575056/1133320432045543516/Screenshot_20230725-044926.png, https://cdn.discordapp.com/attachmen...
@yonilerner any chance you could support events relating stars, like stars.created with X-GitHub-Event: star?
knowing when someone stars a repository is already supported if that's what you mean
This is currently functioning as expected as we do not allow any markdown inside of the alt text.
This includes emojis and lists, which are the two you're hitting
This would be unreliable if the user cancel their boost, it expires, or anything in that nature as @IllagerCaptain said. This would be a QOL feature more likely.
Hey @Rahuum! I'm going to close this issue for now since this is expected behavior, but thanks for taking the time to create the GitHub issue! Feel free to create another issue if you run into issues or have more questions.
How do you get that info as webhook, though? This webhook setting doesn't trigger in a Discord channel:
<img width="800" alt="image" src="https://github.com/discord/discord-api-docs/assets/53797/d0885a6c-23ea-4407-8118-09487fbba85b">
We will not be adding any new events at this time, sorry.
I am closing this issue but we have an item on our backlog to improve documentation around this.
The current description for the application.commands scope has led to some confusion on a comment to a StackOverflow answer of mine, so I figured a better description to it was a good idea.
The current description says that the scope allows a bot to use commands in a guild, which can lead developers to think it allows bots to execute other bot's commands there.
| applications.commands | allows your app to provide [commands](#DOCS_INTERACTIONS_APPLICATION_COMMANDS/) in a guild |
I'm curious: what usecase do you have where autocomplete results will be invalid within 30 seconds?
I'm using autocomplete as a way to search a database for an entry to make changes to it which could include deleting entries or adding new ones that would also come up with a common search say for example books. Many books have the same author so if people wanted to search for a book by author and a new one is added that new result wont come up when they go to make changes to it.
I wrote al...
Description
Creating a channel with newlines in the topic ends up dropping the newlines, however the exact same request updating the channel will correctly update the topic.
Steps to Reproduce
body:
{
"type":0,
"name":"foo",
"topic":"foo\nbar\ncake"
}
Create Channel:
curl -H @.headers -d @body -X POST https://discord.com/api/guilds//channels
Update Channel:
curl -H @.headers -d @body -X PATCH https://discord.com/api/channels/
###...
What do you mean by "hotlinking attachments to bypass your firewall"? cloudflare workers is one of the only affordable ways to proxy the CDN, so unless you plan to remove the CDN CORS for the seemingly randomly selected content types, this makes it very difficult to write bots that show attachments on the web.
Description
Keyboard navigation has a set of shortcuts that can be done on focused messages, including ctrl/cmd C to copy the message content. Since keyboard navigation was added, this feature has never worked on Windows or Linux, though it works on Mac. I assume it only checks for the cmd key, not the ctrl key.
@IanMitchell told me to make a GitHub issue for this
Steps to Reproduce
on Windows/Linux:
- press tab to enter keyboard navigation
- press up to focus the last mes...
why did ian ask to report it here when people that report client bugs here get forwarded to support and the issue is closed?
The problem here is that the application's name contains Discord in it. There are a number of things that are disallowed in Application names now as we updated the validation to match validation around bot names / usernames.
This can effect a number of places that end up trying to serialize the application or the application's name and thus fail the validation.
The fix here is rather simple: Update the application's name to pass validation. This can be done in the application's sett...
why did ian ask to report it here when people that report client bugs here get forwarded to support and the issue is closed?
I worked in this area somewhat recently, and we have a fix it week coming up - I wanted it tracked so I could attempt to fix it in a week or two
Hey @Om1609! Thanks for taking the time to writing up this issue. Since this was determined to not be a bug, I'm going to close this issue. If you want to discuss updates to the ratelimit, feel free to start a GitHub Discussion around it!
The create guild channel endpoint respects default_thread_rate_limit_per_user for media channels (as well as announcement channels and forums channels). Perhaps this should be documented in the JSON parameters of this endpoint and the channel types should be noted in the channel structure.
I AM currently DEALING with this issue!
Description
Steps to Reproduce
Expected Behavior
Calm
Current Behavior
fustraited
Screenshots/Videos

Bump because this can still end up very useful.
I am curious how many people run into the case I did where I assumed it caches for a set amount of time, but it actually only caches for as long as the / command is up and once you delete all the text or send the command that cache clear again for the next command. when I was testing and restarting the bot I would just keep backspacing in the autocomplete and was missing results for that reason. The caching built in is actually quite reasonable for the event someone types and backspaces it do...
(Coming over from #6322)
Interaction followups seems to have a very low global (or guild scoped) ratelimit. This is particularly bad for high frequency applications which use followups.
The limit was tested to be 30/60s per guild/global (hard to test) as per #2701 from 2 years ago. This becomes a bottleneck if the application is being spammed, and other users have to face delays.
There shouldn't be a global ratelimit to this at all. It should be per-interaction only. Those can be s...
I recently rewrote my bot from using a gateway connection to purely using Discord's REST API due to scalability and reliability problems once it passed ~90 thousand servers.
In doing so, I've had to drop one command that relied on getting the nick/global/usernames of people connected to a particular voice channel. My bot previously used gateway events to know who was in a voice channel, with the Presence Intent enabled.
My request is for the ability to get the guild members currently co...
For the POST and PATCH methods for sending/editing webhooks, it would be useful to be able to opt-in to automod rule filtering.
Right now, there's no good way to cache rules on startup (GUILD_CREATE does not include them), and even if there was, we cannot support the built in rules set (spam/common flagged words).
For those two methods, I'd want a boolean field for opt-in to automod, with the message being rejected in case it's blocked.
where i can find COMMAND_ID?
Either by doing an API request to get the list of global/guild commands your bot has, or simply by typing the command in the app and then right clicking on it to copy the ID.
We are having same issue as well for our bot.
I hope discord Team fixes it asap.
Why is it possible to get a user's locale only in endpoint users/@me? Bots can't interact #928 #3988 with this endpoint because for this you need to pass OAuth 2.0
But even if you do OAuth 2.0, you can only interact with the developer account.
Getting locale in endpoint users/{user:id} would be useful for bot developers to use localization (ex. i18n) for each user.
**_P.S...
Text commands aren't supported and pretty much never have been. Your best bet is slash commands.
Probably to protect privacy, /users/@me is mainly an oauth2 endpoint which requires an access token with the identify scope to access the authorizing user's information
It's on interactions because only users can trigger them first, it's not freely harvestable
Still struggling with this and really would love a resolution, please.
But even if you do OAuth 2.0, you can only interact with the developer account.
OAuth gives you access to data for the account of whichever user has authorized the application (it's meant for websites).
The pr documents inventory_settings property on guild object
It doesnt have too much use cases for now so its left without any specific description
Alignment with the table.
| inventory_settings? | [inventory settings](#DOCS_RESOURCES_GUILD/inventory-settings-object) object | the inventory settings |
that sounds a bit misleading, it only applies to nitro users with emojis of this specific server, not everyone
it's not nitro only, but users need to collect the pack and add it to their inventory
wait what? they're letting go of the emojis nitro perk or?
you can collect one emoji pack for free and you'll need to upgrade to nitto to collect more (up to 200)
We're going to update this in a new PR after this PR gets merged in, thank you for catching this 🙌
107de2d Introduce the GUILD_MEDIA channel type (#6232) - insacc
3246deb Update the change-log date for media channels - insacc
Description
- Updates the changelog date for the media channel type
this should say "thread-only channel"
30fe9db Update the change-log date for the media channe... - insacc
- Quick fix for
GUILD_MEDIAin change log title
b6f07bb Fix formatting of GUILD_MEDIA changelog entry (... - colinloretz
PR Summary:
PR fixes small typo found in docs/topics/Gateway.md: hearbeat_interval -> heartbeat_interval.
A fix went out for this so it should be addressed, thank you for letting us know.
Autocomplete for the text fields inside a modal would be very useful and quite versatile.
I have a use case where I want to configure and setup how certain commands in a server function such as what channel a command can be run in or what role is required to run a command.
Autocomplete would add a new level of user-friendliness to bots and expand the use cases for modals. The modals are a very friendly way to get user input and could be improved.
Description
Metadata appeared in the get invite response a couple of weeks ago because of model consolidation for the upcoming api spec. but has vanished again, i believe this to be a bug and thus should be returned to the get invite response. Thank you.
Steps to Reproduce
Use the GET invite route
Expected Behavior
Should have metadata
Current Behavior
No metadata
Screenshots/Videos
No response
Client and System Information
N/A
You're supposed to use the query parameter for this pretty sure.
This is not a bug. If you want the invite metadata you will likely want to use the guild get invite instead. https://discord.com/developers/docs/resources/guild#get-guild-invites
I was wanting metadata for invites i have no power over 🫠
Description
when performing a get request to fetch to get guild members i get 404 not found as a response code used:
HEADERS = { "Authorization": f"Bot {token}", "Content-Type": "application/json" } url = url = f"https://discord.com/api/v10/GET/guilds/{GUILD_ID}/members" res = rq.get(url=url, headers=self.HEADERS)
Steps to Reproduce
https://discord.com/api/v10/GET/guilds/{GUILD_ID}/members
Expec...
GET is the request method, it is not part of the URL
[discord/discord-api-docs] New comment on issue #6185: Masked Links not respecting escaped asterisks
Escaping is disabled in masked links for security reasons.
The fact that you can see the \ is representative that it is disabled.
Description
I have a bot that needs to access the message history of a channel. While the interaction.channel.messages.fetch doesn't throw any errors, the content of every message except the bot's own is empty string.
Steps to Reproduce
import "dotenv/config";
// Require the necessary discord.js classes
import { Client, Events, GatewayIntentBits, REST, Routes, SlashCommandBuilder, } from "discord.js";
// Create a new client instance
const client = new Client({ intent...
Make sure you have the Message Content Intent enabled in the Developer Portal for your bot.
According that link
This change affects only verified bots, bots that are in 100 or more servers. Unverified bots in fewer than 100 servers are not affected at all.
However, that solved the issue so thank you @hackermondev !
According that link
This change affects only verified bots, bots that are in 100 or more servers. Unverified bots in fewer than 100 servers are not affected at all.
just to clarify this is poorly worded, it affects all bots but non verified ones can freely enable the switch in the dev portal while verified bots need to get explicit approval by applying
Description
When you try making a bot that posts instruction messages on every new forum post, the API returns the following error:
{
"code": 40058
"message": "Cannot message this thread until after the post author has sent an initial message"
}
Handling this from the bot perspective seems janky. Would it be possible for discord to handle this more gracefully, potentially by giving it a few seconds before returning an error?
The [Documentation](https://disco...
I have this error, when a Thread channel is created in a forum, my bot posts a message in that channel. Once every 5-6 new threads, this error is launched, for now I'm trying to solve it by setting a second of delay so that the instant the thread is created, the bot waits for it to actually be created, so that then when it tries to send the message, don't give the error, because when creating a channel the bot could try to send the message too early and therefore give the error.
I see... yes this is quite a bit confusing, I would say. Also not sure why this permission isn't grouped with all the rest.
Because it's not a permission but an intent
Well, I'm not 100% clear on the distinction. In the link you sent:
Maintaining a stateful application can be difficult when it comes to the amount of data your app is expected to process over a Gateway connection, especially at scale. Gateway intents are a system to help you lower the computational burden.
It didn't seem like what was happening on my end was "lowering my computational burden." I was silently being denied access to information that I was requesting.
A few points that ...
that's already now it works, requesting an privileged intent you aren't approved for/haven't enabled in the portal won't let you connect to the gateway
and the docs already explain how to connect
Well, I'm not 100% clear on the distinction.
Permissions are determined by the bot's roles and channel overrides, and are different in every server and channel. They work the same for users and bots.
Intents are global for the bot's connection. Bots send a list of the intents they want when connecting to the gateway, and Discord won't send events from the intents you don't want. 3 of the 19 intents are privileged, meaning
- small bots need to enable them in the dev portal to use them...
@JorgenSolli
Can you explain and help me with some issues. What should I do to implement this. I have success page (opened in popup window) with this code to send message to parent window (this is not triggers and not send data)
I have button to open popup window and i can successfully authorize there and got redirected to my successful page

Yes I see. The individual in question that I've found the spammer flag for is still active, they're still sending messages in chat. The account is not disabled yet. Any message they send is collapsed since they're a spammer.
Then you look at the wrong comment.
The official response from the staff team was:
This flag has no use for bots, and will not be documented here.
I see, but couldn't bots just check users public flags? Then they could check whether the flag matches 1 << 20 and ban/kick them from the server immediately upon join. This could reduce amount of spammers in servers, very useful idea for moderation bots.
The spammer flag is intended to only be on disabled accounts, if it is on an active account (and the account must be active if it is joining a server) then there was a mistake
nope... but i found a bot based off of a friends bot that implements replies in a somewhat neat fashion
@pr0stre1 Hey,
without spending too much time trying to replicate your issue, I cannot seem to do so. Everything seems correct to me, based on the code you've shared.
I think your next logical step would be to debug further and try to locate where the flow stops. Make sure that window.addEventListener("message", (event) => {}) is actually triggered, and the postMessage is sent.
Check your console in the popup. Maybe there are some hints/errors there?
Sorry I can't be of more h...
@advaith1 thanks for the explanation. Might be good if something like this was included in the official docs. I still think the system is overall confusing.
That explanation is different, and as I said I think it's confusing. Feel free to ignore the feedback.
I'm pretty sure this means the model has an optional key, rather than that /applcations/@me is returning a partial.
Here's the specific response I got:
Response JSON, prettified
{
"id": "704355647164252191",
"name": "A5scissors",
"icon": null,
"description": "dont mind me",
"type": null,
"bot": {
"id": "704355647164252191",
"username": "A5scissors",
"avatar": "6062401c5ee7b22a788182b2def8eb89",
"discriminator": "8326",
"public_f...
This only changes a few of the indicators I found that were redundent. I'm following a convention of not listing fields as optional in the table if the description says they are: while this runs a slight risk of confusing people, I think that's fine.
I don't see how these indicators are 'redundant' if you remove both things mentioning they are optional?
Err, I didn't. Read the description for the request.
For the sake of consistency with https://discord.com/developers/docs/reference#nullable-and-optional-resource-fields I think it's better to only remove the info card and keep the ?s in the table intact
It's redundant because nullable fields already act as a default if you're receiving data, this is only an issue if you're sending data. If so, you should really be reading off of the description anyhow, I believe the PR makes sense
We should probably avoid omitting optional identifiers on fields for the sake of sending data, the info admonition can definitely be dropped though
this PR makes these few tables consistent with the rest of the all-optional tables in the docs, which have a note about all fields being optional and do not include the optional marker for every field.
What I mean is that removing these info cards too, removes all info that these are optional though doesn't it?
Wouldn't every field being marked as optional be more consistent than a
redundant admonition?
On Tue, Aug 8, 2023, 13:18 Oliver Wilkes @.***> wrote:
@.**** commented on this pull request.
In docs/interactions/Application_Commands.md
https://github.com/discord/discord-api-docs/pull/6343#discussion_r1287433956
:@@ -1077,24 +1077,21 @@ Fetch a global command for your application. Returns an [application command](#D
...
no, it's redundant because it says "All fields are optional" right below this. fields are not nullable by default
If a field is nullable, that null value becomes the default is what the
above comment was meant to signify. Optional fields is only a thing for
sending
On Tue, Aug 8, 2023, 13:25 advaith @.***> wrote:
@.**** commented on this pull request.
In docs/interactions/Application_Commands.md
https://github.com/discord/discord-api-docs/pull/6343#discussion_r1287441276
:@@ -1077,24 +1077,21 @@ Fetch a global command for your...
The typing indicator's frequency tolerance should be tightened (10±1s, rather than up to 10s) to prevent attacks that may leak the network congestion status and data rate of the sender of the typing indicator to other users.
Heh, you beat me by a few hours. I just merged a change that should be out today/tomorrow that should fix this at the API level
Gonna close this out, but if you don't see the change reflected soon feel free to ping me and I'll reopen!
Fixes #6141.
style, label, and similar attributes are only used in defining a text input, they are not sent to the app via the interaction on submit.
{
"custom_id": "name",
"type": 4,
"value": "John"
}
guild is also documented on this endpoint, would it be possible to get this included aswell?
guild is also documented on this endpoint, would it be possible to get this included aswell?
That is documented as optional though, team is only documented as nullable.
@JorgenSolli
Thank you for your reply, but this is exactly what I don't understand popup.postMessage is called but message is not received. May be it is because popup was redirected (parent not available, popup shows as closed after redirect). I'm not very familiar with post messages
turns out if you meme about something enough it actually can come true
Very sad that workflow events won't get added. Is there any place we can request the feature to be added even if it's not to be added at this time?
Can they also use emoji? Are there limitations to that?
Can they also use emoji? Are there limitations to that?
emoji is not supported atm (#381887113391505410 message)
Are there any plans to support emoji?
I don't think so :(
It's time to get the memes back out again...
This also needs updating:
The current method seems incorrect, as the client seems to set name to "Custom Status" and and then use state for the message
oh has that been wrong the whole time
streaming also shows name not details right? or does it use details and fall back to nane
Streaming uses Streaming <name> and state is used to provide more information when opening up the full user (above with the Watch button).
Another interesting behaviour I found is that it will fallback to Playing <name> if type is STREAMING (1) but no url is set.
Uhm Custom Status doesnt currently work for me
Any update on this issue? We're experiencing the same issue with our bot.
It would be useful to be able to create single-use invites that are only acceptable by a specific user.
For example, this could be implemented by adding a recipient_id field to the Invite Object and Create Channel Invite endpoints.
When such an invite is used, the API should check if the current user matches recipient_id and otherwise r...
Should probably also mention that you have to set a non-empty name in addition to state, since the status won't show up otherwise.
name should be set to Custom Status if we follow the client behavior
@andretran I'm confused, your comment doesn't describe how the API currently works or ever worked. The list emojis/stickers endpoints always returned all emojis/stickers, even ones created by other users, and bots rely on this behavior. There has never been separate behavior for bots on that endpoint AFAIK. The list endpoints have also always returned user objects as long as you have Manage Expressions.
Get Guild Emoji is still giving me responses inconsistent with the other 3 endpoints I ...
[discord/discord-api-docs] New review comment on pull request #6345: Bots can now set activity state
> Bot users are only able to set `name`, `state`, `type`, and `url`.
[discord/discord-api-docs] New review comment on pull request #6345: Bots can now set activity state
## Activity State for Bot Users
#### Aug 8, 2023
The `state` field in [activity objects](#DOCS_TOPICS_GATEWAY_EVENTS/activity-object) can now be set when [updating presence](#DOCS_TOPICS_GATEWAY_EVENTS/update-presence) for a bot user. The value of `state` will appear as a custom status for the bot user when an [activity's `type`](#DOCS_TOPICS_GATEWAY_EVENTS/activity-object-activity-types) is set to `4`, or as additional data under an activity's name for other activity typ...
Description
Hey,
There seems to be an issue with RPC where when you receive events (like MESSAGE_CREATE / MESSAGE_UPDATE) the author field does not contain "global_name" while anyone in the mentions array does have the "global_name" field
Heres an example
{
channel_id: '545962576098361372',
message: {
id: '1138959569012408420',
content: '',
content_parsed: [
{
userId: '379781622704111626',
channelId: '545962576098361372',
...
Thank you so much! This method worked. The URL has been generated.
Always happy to help ^^
that didnt work here are a few things to prove.
first of all i added the options and in the next image look what it shows
you should only select the bot scope, uncheck the other scopes (most scopes are for websites, not bots)
Description
As any people who spend some time in ddevs can see, support agents currently ignore intents requested when applying for verification for a bot (apparently because this part of the verification form is outdated). Users have to reapply for intents separately after verification.
This confuses users because they already applied for these intents.
IMO, it's also a bit disrespectful to just throw in the bin a form that people have taken time to fill in.
The verification form...
The Developer Site Bug Reports issue template uses the "bug" label, instead of the more specific "developer portal" label.
I believe this might have been an oversight when migrating the issues templates or smth.
I don't see how it improves security. MD support on client can now mask links, so intending to mess up display of punycode phishing links won't work.
This change has led non-latin script links to be canonicalised and become walls of text. A text may be short in a script, but can become extremely long due to html encoding.
A short example:
#6122 al...
Description
An accessibility/contrast issue exists when a default Discord avatar picture is present on the "Bot" page of an Application, since the "Select Image" text overlayed on the photo does not put some kind of dim or shading behind it when hovering on the avatar.
Steps to Reproduce
- Go to the Discord Developer Portal
- Create a New Application
- In the "General Information" tab, hover over the default Discord avatar it has and...
Description
The embed color does not reset if you check one URL with a theme-color set and then check one that doesn't
Steps to Reproduce
- Open the embed debugger
- Enter a URL that has a theme-color set and shows a color when sent in Discord
- Enter another URL that does not have a theme-color set and shows no color when sent in Discord
Expected Behavior
The color from the previous URL will disappear
Current Behavior
The co...
3bebe03 embed debugger changelog (#6352) - shaydewael
Since it has been a month without a response with minimal repro steps or expanded information I'm going to give this a close. If you continue to encounter this and have a test case please open a new issue.
Since it has been a month without a response with minimal repro steps or expanded information I'm going to give this a close. If you continue to encounter this and have a test case please open a new issue.
Bump because it would be cool
This is still bugged.
My only option for blocking this big text stuff seems to either overblock with
#* .* or underblock with ^#* .*
- Issues
- No issue has been created
- Changes proposed in this pull request
- Deleted a line of comment that didn't match the content of the code. I was confused while I was reading this part of document.
- I think it's left over after being copied and pasted from the test command.
I'll also create a ...
I've created a corresponding pull request to discord-example-app repository.
https://github.com/discord/discord-example-app/pull/29
Bump. I am trying to check with other scripts like Telugu and Kannada. So far didnt observe any issues, will update in case I observe anything.
I believe this was fixed in mid june. Let us know if you're still seeing any issues!
| USE_CLYDE_AI | `0x0000800000000000` `(1 << 47)` | Allows members to interact with the Clyde AI bot | T, V, S |
In this table dots aren't used at the end
It will never be added based on the dev response.
It will never be added based on the dev response.
never is a bit extreme, the comment said "no current plans"
It will never be added based on the dev response.
never is a bit extreme, the comment said "no current plans"
Sure, fair point. However when something isn't planned it usually doesn't get done, if anything for a very very very long time.
Suggested API endpoints for the function:
POST /channels/{channel.id}/invite/{user.id}— invite user- `DELETE /channels/{channel.id}/invite/{user.id}, — disinvite user
DELETE /channels/{channels.id}/invite/@me— refuse a user-specific invite directed towards selfGET /users/@me/invitesINVITE_USEReventGET /users/{user.id}/invites
I don't think we need to add such complexity here. The current invite system works well, we just need to be able to restrict a (one-use) invite code to a single user.
for futureproofing against possible trademark issues, it should be named USE_GENERATIVE_BOT instead
- Clarified that
Get Current User Guildsdoes not need an access token if it's called by and for a bot - Updated the
Example Authorization Informationto comply with the rest of the docs (pomelo), - Documented access token revocation according to the RFC 7009 Section 2.1, RFC 6749 Section 2.3 and discords actual implementation (i.e.
token_type_hintis not supported...
wouldn't it be better to use a more generic name for the example object here, since "discord" is a banned username
I think discord should be kept as example.
It feels fitting for the docs.
But I think that is a discussion worth an issue instead.
There're probably more blocks in the docs with discord as name.
eh something you can't encounter because of anti abuse mechanisms shouldn't feel fitting
I'd say make an issue out of that comment. I won't be addressing this here.
It's also possible to pass the client id and secrets in the request body.
For consistency with other examples on this page (like Autorization Code Grant), maybe we should instead document passing them in the body, and add a note that they can also be passed as basic authentication.
Returns a list of partial [guild](#DOCS_RESOURCES_GUILD/guild-object) objects the current user is a member of. For OAuth2, requires the `guilds` scope.
To be consistent with GET /users/@me (and this is a less weird wording IMO)
I'm not sure why you means by "It's not". Passing the client id/secret in the body definitely work:
weird, well, rfc tho 🤷♀️
Is this documentation for the Discord API or for the original OAuth2 RFC?
Description
I am seeing permission overwrite edits directly after channel creation being swallowed. In my bot I am creating a channel - specifying no permission overwrites so that they are inherited from the category - and immediately after receiving the channel ID, editing its permission overwrites.
This causes the second request to fail silently and the edit to not take into effect.
Steps to Reproduce
- [Create a text channel](https://discord.com/developers/docs/resources/gui...
Checking again the RFC 6749 Section 2.3.1, both methods can be supported by the server, but the RFC discourages including the client_id/secret in the body:
Including the client credentials in the request-body using the two parameters is NOT RECOMMENDED and SHOULD be limited to clients unable to directly utilize the HTTP Basic authentication scheme (or other password-based HTTP authentication schemes).
So for consistency, i...
I'll wait for staff response on that.
The revocation request layout was given by me by one, hence why I noted it down like that.
Basic authentication is already in the docs.
You can also pass your
client_idandclient_secretas basic authentication withclient_idas the username andclient_secretas the password.
— access token exchange example
I don’t see a need to refer to it again especially as previous examples send the credentials in the request bodies.
Description
Application owned webhooks can't send messages consisting of just components. (DiscordAPIError[50006]: Cannot send an empty message)
This is in contrast to normal messages send as a bot user, which can be just a component.
The API docs also shows a note indicating just components should work, however the JSON/Form Params table only says "one of content, file, embeds". (also note it saying "file" in...
Thank you, this appears to be the exact issue I am running into! Closing this as a duplicate.
The only fix I can come up with is waiting a full second as I tried moving the channel edit as late as I could in my code to no avail, which is quite unfortunate. Hope this is resolved
Just leaving this here - you can configure the accent color on your servers "Promo" page (seems to be a new unreleased feature but is publicly visible).
("Buttonvorschau" = Button preview)
While it's a different team developing this features, it's another thing which makes the a11y point seem invalid.
We don't need at all of them, but having all of them wouldn't hurt and prevents u...
"Promo" page (seems to be a new unreleased feature but is publicly visible).
Promo Pages are released, for Servers with the ability to setup Server Subscriptions. Support Article linked here
That button shows on said Promo Page on Discord's Web-based Server Discovery, should said Server have a Promo Page enabled. [See example Promo Page](https://discord.com/servers/stardu...
We got a reply on Discord: #api-questions message cc: @Sebola3461 @mr-tech @Alex134831
@jkcailteux mentioned bot functionality should be reserved, and the issues with markdown should be resolvedA different employee, @DV8FromTheWorld, confirmed that they made a separate change that affects embeds and that there should be no expectation that this change will be rolled back.
For the record, I strongly dislike...
[discord/discord-api-docs] Issue opened: #6359 Animated stickers via URL are not animated in Discord
Description
Animated APNG stickers are not animated in Discord when they are sent via URL.
Steps to Reproduce
- Get the URL of an animated sticker. For example, https://cdn.discordapp.com/stickers/818598476883165194.png
- Visit the page to make sure the sticker is animated.
- Copy the URL into Discord or send it using a Discord bot.
Expected Behavior
The animated sticker should also be animated in the chat and in embeds.
Current Behavior
The animated sticker is a s...
that's not a bug, apng attachments/embeds are intentionally not supported due to mobile issues, iirc they cannot be rendered efficiently on Android unless it's known that they're animated (which is true for stickers, because apngs have a different format_type, but not true for normal attachments)
Do you know if there is now a way to open the user profile, or the server settings via a link?
Yes you can. https://discordapp.com/USERID opens a profile in the discord client.
I'm actually able to achieve this in Discord.js If anyone interested, I can drop the code snippet I use.
Update wording since application.commands is included in the bot scope automatically.
Commands can be registered via HTTP requests after an app is authorized with the `applications.commands` scope. Alternatively, it's also automatically included with the `bot` scope.
Thanks for this PR! I am surprised by this:
token_type_hint is not supported
Passing token_type_hint is working for me, and as far as I can tell the backend supports it 🤔 Can you re-create a failing call to /revoke when passing it in the body?
This would be awesome, I look forward to the day where I don't have to explain certain commands responding with "Access Denied"
You've necro'd an old issue that has already been resolved.
Permissions for individual slash commands (as well as defaults for a specific bot) are managed by server owners under Server Settings -> Integrations -> Bots and Apps.
You can set the default_member_permissions to 0 to restrict a slash command to admins only, letting server admins determine who can use that command (basically...
Is there anything we should do to help push this forward? This is a huge missed opportunity.
It's possible now, dunno if it was my own failure or something messed up in postman.
Updated the PRs description, and updated the docs according to this.
You can also pass your client_id and client_secret as basic authentication with client_id as the username and client_secret as the password
It doesn't mention that it has to be base64encoded, so an example on that wouldn't harm
And about
So for consistency, it may be better to update other examples to use the Authorization header instead.
@JustinBeckwith what are your thoughts?
Is there a reason tho why it returns json at the revoke endpoint on success?
No real reason, just what it does today. According to the spec, shouldn't be an issue:
The content of the response body is ignored by the client as all necessary information is conveyed in the response code.
That should work now I think.
I've updated all examples to use auth instead of client_id & client_secret in the body since that should be only used if the client does not support basic authorization.
Noted that on top.
I'm not bothered by the inconsistency. We can always come back around and fix the other example :) For this one, following the spec guidance to pass the CLIENT_ID and CLIENT_SECRET in the authorization header feels right, assuming someone has confirmed that works (all of my code just sends them in the request body because I'm lazy).
Tested all routes with the auth header, it works
I am currently experiencing this issue as well. It is a major blocker to our new user process. Can we expect this to be fixed soon?
is there a status on this?
When creating or editing a channel, you can set permissions for roles and/or users, but you can't make the channel truly private.
By really private I mean have this boolean turned on.
that switch means the channel has a permission overwrite for the @everyone role denying View Channel. you can pass that overwrite in the create channel request
Is the option to explicitly mark that button? Overriding everyone's permissions by adding the role and setting the View Channel to false is not a good option for me.
that button isn't a separate field, it's just UI that displays whether the channel has that override set or not.
libraries are now added by Discord if they get enough usage according to their internal stats, they aren't accepting PRs for new standard libraries anymore
iirc, discord will add your library to this section themselves based on certain factors like size, correct ratelimiting implementation, etc. Make sure you've got a correct user agent for your library and then I believe they'll add it when they want to
libraries are now added by Discord if they get enough usage according to their internal stats, they aren't accepting PRs for new standard libraries anymore
Ah I see, I had no idea. How does one determine this information? The docs of course talk about user-agent format but I don't see a mention of this policy.
They use the user agent and the gateway identify to determine libs usage: it's described here (and in the comments) but you have to be specifically looking for it in discussions to find it so it's not ideal
They use the user agent and the gateway identify to determine libs usage: it's described here (and in the comments) but you have to be specifically looking for it in discussions to find it so it's not ideal
Excellent, thanks.
Discord, how I can create commands that will be available in DM only? If I can't please add this functionality! We have global, guild command why we don't have DM commands!
An upcoming datamined feature called command contexts somewhat solves this but you can't do DM only. You could do DM + Group DM only though. I'm not sure when it will fully release.
Description
The channel picker component works for forum posts created after the bot was added, but ones created before simply don't appear when searching with the post's title.
I can’t test it on regular threads because the server had none created before the bot was added.
Steps to Reproduce
- Create a post/thread
- Add the bot
- Create another post/thread
- Make the bot send a message with channel component with threads enabled
- Search the second post/thread in the ...
Hi, I'd like to request a freature.
We make software and our engineers love using a discord server to collaborate for work.
From a company security angle though, we have a need to ensure that membership to that server is limited to employees and we are in control of stuff like password policies and suchlikes. In particular automatic provision/deprovision of users on the discord server (commonly implemented with SCIM protocol) and log in with centralised company accounts (SSO - commonly SAML...
At this time have no plans to offer this functionality.
@not-core-i9 Why are you spreading misinformation.
This is possible with the discord:// app protocol.
discord://-/users/<user_id>
I'd like to advise against using the discord: protocol. It doesn't work outside the Windows client (the linux client, web version, mobile versions... doesn't support it).
I think the right solution is to fix the deep-linking of https://discord.com/users/USER_ID (and other URLs that aren't correctly handled, like settings deep links)
yea it's coming soon, the api is not finalized yet
Closing this as this is at a minimum a user error, and is also related to a framework (discord.ext) which should be where help for this should be sought.
If this is reproable via raw cURL, feel free to open a new issue.
This is working as expected and is not a bug.
I cannot repro this.
I followed the following:
- create a new server
- create a forum channel named
adasdasd - created a forum post titled
i tried - added bot with
/channel-selectcommand - executed the comment
- clicked on the select and I observed both the forum channel and the post in the forum channel as options
<img width="252" alt="image" src="https://github.com/discord/discord-api-docs/assets/1479909/d3d2752a-4ee6-4ffe-9f59-e4eb9ae68a46">
<img width="592" alt="im...
If you can find a repro situation with a recording and consistent steps, feel free to reopen.
Thanks!
I believe the issue experienced by @laralove143 is related to archived threads, or threads that aren't cached by their client for whatever reason (large forum channel?). Just guessing...
Added the library "disgroove" to the "Discord Libraries" table.
https://github.com/discord/discord-api-docs/discussions/4456#discussion-3861387
It is no longer necessary to PR new libraries
So how can I add the package to the table?
you can't; Discord adds libraries that are popular according to their stats and meet their requirements
6632a27 Add community resources guideline to CONTRIBUTI... - typpo
b997960 Document integration_type for audit log entries - appellation
This was added a while ago and I forgot to document it.
how can i check if a thread is archived?
also it apparently happens to everyone in the server so if its a caching error itd be a global error
does search even use caching? it doesnt feel like it does because the search takes a good 200+ ms
I am currently experiencing this issue as well. It is a major blocker to our new user process. Can we expect this to be fixed soon?
What version of the app are you using?
What version of the app are you using?
I am fully up to date with version 191 on my phone
Thanks. I've updated the internal tracker with this information.
We actually made a change back in June to fix this but it seems that it has regressed again.
I've reopened the internal ticket.
PLEASE strongly consider adding a webcam flip/rotate function.
This is such an easy and key setting that most-to-all other web streaming and video conferencing applications already offer.
Many of your users, such as myself use capture cards to stream console gaming and the feed comes through flipped horizontally as standard.
Alternatively , some also stand to benefit as they mount their webcams in particular ways such as upside down and would reply on this option to rectify the view....
This tracker is for bugs in the API. For product feature requests please refer to https://support.discord.com/hc/en-us/articles/213490807-Where-can-I-submit-Feature-Requests-Feedback-and-Suggestions-
We are doing one better, which is we intend to ship NDI support at some point later this year, which will let you go-live directly from your capture card, rather than having to use it as a webcam.
Request has already been submitted via the above mentioned method and directly to Discord Support who advised
"Going forward, you might also want to share feedback directly with our API engineers on our GitHub! Head to the discord-api-docs Discussions page to share any feedback you've got going forward: https://github.com/discord/discord-api-docs/discussions"
So here I am...
Great to hear some improvements are in the works, I would also like to ask that the flip/rotate webcam feature also be included in a future update to address the other issues the users are having.
Ah, I'm sorry for the confusion. Ultimately though this is not the correct place for this type of request.
The global rate limits for applications automatically increases as they grow. What rate limit specifically are you hitting? There may be a better way to achieve whatever it is you're trying to do.
Idk, my bot stop responding very quickly
Callouts to check implicit permissions when use case calls for them for channel and guild resources returned in interactions.
Computed permissions do not include implicit permissions.
Table formatting is broken now
Table formatting is broken now
What do you see on your end? The table looks good here:
the markdown is valid but isnt aligned
Forum posts sometimes need to be organised, which mostly happens with discord bots now. For example to keep a forum's topic, bots are a valuable option for generating on-topic discussions on a community. Which is why my request is...
Replace the "create post" option to let bots post modals they can receive and manage!
It can work like a button which only responds with modals, or a simple modal interaction but the bots register the modal on the forum permanently for their needs. This...
Working on updating the teams page after recent change around roles
finally, thank you ❤️❤️❤️
@JustinBeckwith what you think, can we get this merged?
Description
Despite having photos uploaded and set for app and bot PFP's, ALT Text on them shows "No file chosen" when hovering.
Steps to Reproduce
- Go to the Discord Developer Portal
- Create a New Application, or go to an existing one with PFP's set for the App and the Bot attached to the App
- In the "General Information" tab of the Application, hover over the user-uploaded asset for the Application's "Icon"; noticing the ALT Tex...
You can now select roles other than admin when inviting users or configuring members of a team. There are four [role types](#DOCS_TOPICS_TEAMS/team-member-roles-team-member-role-types) that a team member can be assigned to: owner, admin, developer, or read-only. The team member object now has an additional [`role` field](#DOCS_TOPICS_TEAMS/data-models-team-member-object), which is a string representing the member's current role.
And probably should mention that permissions ...
permissions was never documented so I'm not sure it makes sense to include here.
Ah nvm about that then (a few libs have it tho) , but the to is still missing :p
| Role Name | Value | Description |
| --------- | --------- | -----------------------------------------------------------------------------------------...
when i did local, it seemed like something else was off with formatting so did this in new commit, tytyty
This alt-text comes from the underlying file upload input.
While there may be a file already saved and being used for the bot/app, the upload control represents the current state of the upload control to accept a new file.
As such, the alt-text being "No File Chosen" is accurate. Once you upload a new file, the alt-text will change.
Icon already set
<img width="411" alt="image" src="https://github.com/discord/discord-api-docs/assets/1479909/44e4c714-9a4d-4d97-a308-1cea734c1c4b...
e27f521 Document integration_type for audit log entries... - appellation
Text inputs are an interactive component that render in modals. They can be used to collect short-form or long-form text.
sorry i know your PR doesn't touch this, but while I'm here lol
When defining a text input component, you can set attributes to customize the behavior and appearance of it. However, not all attributes will be returned in the [text input interaction payload](#DOCS_INTERACTIONS_MESSAGE_COMPONENTS/text-input-object-text-input-interaction).
Feel free to modify—just trying to clean up wording a little bit.
| permissions? | string | computed permissions for the invoking user in the channel, including overwrites, only included when part of the `resolved` data received on a slash command interaction. This does not include [implicit permissions](#DOCS_TOPICS_PERMISSIONS/implicit-permissions), which may need to be separately |
@shaydewael I think you forgot a word somewhere ^^
19581c8 Clarify return values for Text Input components... - colinloretz
7c9e85a Callout for implicit permissions for channels a... - colinloretz
@shaydewael I think you forgot a word somewhere ^^
let me check on that 😭
d289f8f Standard stickers are now free (#6265) - advaith1
e8110ae Add Guild Navigation Message Format (#6105) - Mysterious-Dev
b1bed46 document super reactions (#6056) - Mateo-tem
| applications.commands | allows your app to add [commands](#DOCS_INTERACTIONS_APPLICATION_COMMANDS/) to a guild |
i think this is a lil clearer—something along the lines of add or install.
956d9a3 Bump word-wrap from 1.2.3 to 1.2.4 (#6309) - dependabot[bot]
thank ya for this and the one in discord-example-app @cabbage63
47e3027 Fix typo in example code of Getting Started (#6... - cabbage63
Adds super-reactions related event members missing from #6056
Was originally a PR to #6056 in https://github.com/Mateo-tem/discord-api-docs/pull/1, but #6056 was just recently merged before the author of #6056 merged my PR.
I have observed these super-reaction related members in the MESSAGE_REACTION_ADD and MESSAGE_REACTION_REMOVE events as demonstrated below:
Add and Remove Screenshots

{
discord = new Discord.Discord(CLIENT_ID, (System.UInt64)Discord.CreateFlags.Default);
CreateLobby();
var activ...
The lobby part of the GameSDK was deprecated last year and was planned to be decommissioned on May 2, 2023: https://discord.com/developers/docs/change-log#gamesdk-feature-deprecation
How can I make a connection via Discord?
Description
The markdown update has broken an old and much-appreciated feature.
Before this update, it was possible to put a markdown link around a code block, but this is no longer the case.
Before update:
After Update:
. Instead, the `owner_user_id` field on the [team object](#DOCS_TOPICS_TEAMS/data-models-team-object) should be used to identify which user has the owner role for the team.
455754e Update docs/topics/Teams.md - devsnek
Thanks for the report. It's no longer possible to create these malformed menus.
Closed threads, or archived threads, are no longer stored in the client's cache.
The select uses information stored in the client cache to provide option.
Closed or archived threads are not in the client's cache because there could be an unlimited amount of them compared to the limited amount of channels that can be in a guild.
i see, is there any way to get around this?
The spotify one is localisable, just like the default "playing a game". In this proposal, apps would need to provide localised strings themselves.
I don't think that presents a problem, since this feature wouldn't have to be something that you're required to use. If a developer so chooses, they could keep the standard (current) behavior, meaning all the existing products wouldn't be affected at all, but for those who wish to go the extra mile, this option would be available.
Applications wouldn't need to provide this, as activity texts aren't required to be (and can't) localised either.
Sounds like it might of been for the old dispatch system, might be mistaken though
The issue was locked, but the issue persists: https://github.com/discord/discord-api-docs/issues/1600
At some point the user-agent was upgraded to "Mozilla/5.0 (Macintosh; Intel Mac OS X 11.6; rv:92.0) Gecko/20100101 Firefox/92.0"
Cloudflare shows requests with agent "Mozilla/5.0 (compatible; Discordbot/2.0; +https://discordapp.com)" as a verified bot, but not the Firefox agent used by image fetches. As a result when using bot management, link embed will be fetched, but the image will n...
The original reasoning given in the linked issue is still correct:
This is an intentional design decision, and is working as intended. When Discord crawls a URL we perform that action as a bot. However, when we proxy images we are acting in response to a user loading that image. Because of this distinction we provide a user agent of a user, not a bot.
But why? Can you elaborate what problem this solves?
It would be mindblowing if you could create folders in the Discord GIF-section for ur starred favourite gifs<3 would make finding the perfect gif so much easier!
A fix for this has been merged and should be making its way out to the iOS.
While this may have worked before, it was more of an accidental behavior that came from the various combinations that our markdown engine "allowed". This was not intentional functionality and is not something we want to support.
As such, this is working as intended.
It there any way to get the about me of the a user using a discord oauth2 scope?
If not, can this be added in the future?
It isn't possible and has already been denied in the past
I would like to add to this that it only happens to me when there are any attachments on the starter message.
I respond with a thread welcomer (what you need to provide, button to mark solved, etc.) on new threads in our support forums. I currently work around this with a 2s timeout, but that's obviously less than ideal.
It does not only, but more regularly, happen when people attach screenshots (without the workaround in place).
Description
Whenever I try to serve autocomplete integer value of 2^53 or above, it fails as expected. However doing a value right under it (Example: (2 ^ 53) - 1 9,007,199,254,740,991) makes it say that the value is not an int value. When using a command with integer as an option without autocomplete, it works as expected.
Steps to Reproduce
Command
{
"type": 1,
"name": "test_autocomplete",
"description": "No description provided.",
"options": [{
"name"...
Now that this is exposed to server admins via the member list in the client it feels right to also expose this in the API (or document it because I've heard it already is exposed 👀)
Hey,
Got the idea of adding the bot icon to slash command mentions, it would help to know quickly from which bot the command is.
Tho, might add a condition where if it's the bot itself that mention his own command, remove that icon.
It would have the same behavior of message mention where if it's in the same server it only display channel name and if it's out it display the icon + server name (not sure bot name is interesting there).
Would look like this:
 with the following parameters:
this reads confusing to me with "(optional)" at the end of the string—like refresh_token is optional rather than the param itself. we could remove it to encourage best practice, or just change it to something like:
- `token_type_hint` *(optional)* - the `token` parameter's token type—either `access_token` or `refresh_token`
What is this change trying to indicate?
or "optional token type for the token parameter..."
Post a typing indicator for the specified channel, which expires after 10 seconds. Returns a 204 empty response on success. Fires a [Typing Start](#DOCS_TOPICS_GATEWAY_EVENTS/typing-start) Gateway event.
Generally bots should **not** use this route. However, if a bot is responding to a command and expects the computation to take a few seconds, this endpoint may be called to let the user know that the bot is processing their message.
I think it's ok to include that it e...
I'm following a convention of not listing fields as optional in the table if the description says they are
I know this is a point of inconsistency across docs, but I think being redundant is going to be more helpful than adding possible confusion. In reality, we'll need to explicitly pick a pattern for the docs and update all tables accordingly, but for now I think the tables should stay pretty explicit.
@AlexFlipnote Thats very interesting, given I actually tested not on stable, but a local build of the app based on main after the commit your canary build is on :/ Its possible there was a brief moment where this was broken. Im going to close this for now, but if you see it appear on stable let me know.
@Zoddo ty for raising this—I talked to the engineers who monitor the issues board and was told they prefer to have both "bug" and the product area, so I created a new PR #6391 that updates it accordingly
It's to indicate that this endpoint isn't restricted to OAuth2, you can call it with a bot token too.
See the previous review: https://github.com/discord/discord-api-docs/pull/6356#discussion_r1294407257
- `token_type_hint` *(optional)* - the `token` parameter's type—either `access_token` or `refresh_token`
This supersedes #6319 btw.
Chose to remove it here already because any of us would have a merge conflict anyways, and since I was on the page anyways :)
[discord/discord-api-docs] Issue opened: #6392 Embed debugger crashes when unfurling specific images
Description
This description is entirely an outside observation and may not be accurate.
The Embed Debugger sends a request to the POST /unfurler/unfurl API endpoint. Supposedly, this makes an RPC to the Embed service. When media is detected in the unfurled response, the unfurler requests /_metadata on a Media Proxy instance in the cluster (this is leaked by the error message). Media Proxy uses [Lilliput](https://github.com/discord/lilliput...
@Zoddo Just separate buckets, or does the window period also change?
Description
When trying to fetch X/Twitter's embed with the unfurler, it returns a 200 OK Status code alongside a "Internal error" error.
Steps to Reproduce
curl 'https://discord.com/api/v9/unfurler/unfurl' \
-H 'authorization: ' \
-H 'content-type: application/json' \
--data-raw '{"url":"https://twitter.com"}' \
--compressed
This also works with x.com, even tho it used to work just fine a while ago.
Expected Behavior
{"embeds": [...]}
`...
As you all know Twitter has rebranded to X and therefore I have updated the platform name in the connections documentation.
This has been bothering me for weeks!
| twitter | X (previously known as Twitter |
Added the connection type domain based on the api response and the clients ui name.
{
"type":"domain",
"id":"pycord.dev",
"name":"pycord.dev",
"verified":true
}
| domain | Domain |
| ebay | eBay |
| epicgames | Epic Games |
fuck i can't abc. Thanks!
Thanks for the further proposed changes, however I don't understand why so many people dislike this.
Twitter has rebranded to X and that is a fact. Keeping it as twitter would be factually inaccurate
my review aims to avoid any confusion that might arise from people thinking it's a cross or an issue or something, and regardless of the rebrand it'll likely still be referred to as twitter because of how dumb the new name is
Was just about to do this! Thanks!
This is a fantastic proposal, and it'd effectively end wide abuse of this feature, IMO.
Bot owned webhooks have issues with this too
Voice channel statuses have started rolling out and users seem to be able to set them fine (even outside of voice channels, which might need to be fixed), but bots just return "Missing Access".
This feature is not available for bots yet, sorry. That being said, does your bot have the right permissions for it?
I would be getting "Missing Permissions" instead of "Missing Access" if it was permission related
I don't think a long description like this is necessary.
| twitter | Twitter (X) |
| twitter | X (Twitter) |
Wouldn't it make more sense to have Twitter in parenthesis instead of X?
Description
my bot have full permission in a server and but I try to edit my voice status using bot and got Missing Access (50001)
Steps to Reproduce
run curl
curl 'https://discord.com/api/v9/channels//voice-status' \
-X 'PUT' \
-H 'accept: */*' \
-H 'Authorization: Bot '\
-H 'content-type: application/json' \
-H 'User-Agent: DiscordBot (compatible; FantasyBot/0.1; +https://fantasybot.tech/support)' \
--data-raw '{"status":"nice"}'
Expected Be...
This feature is not available for bots yet
See this comment on the api spec repo.
I think it's best to match the enum value while also staying accurate to the branding.
What is holding this back?
I'm willing to bet that using a non-standard format means that lots of tools won't be able to interpret it properly, which is the whole point of releasing the actual API spec file instead of just human-readable docs.
mhm you are right in any case 🤣
Description
Standard stickers are now free to use and available to anyone (see #6265). Bots currently cannot use them without the X-Super-Properties header, because the endpoint seems to still be limited by an experiment gate.
This restriction should be removed, such that bots can properly use these stickers without the header.
Steps to Reproduce
- Retrieve a standard sticker using the [List Sticker Packs](https://discord.com/developers/docs/resources/sticker#list-sticker-packs...
Please add colours thanks.
| status? | ?string | the voice channel status (0-500 characters), only included in the Guild Create event |
| SET_VOICE_CHANNEL_STATUS | `0x0001000000000000` `(1 << 48)` | Allows setting voice channel status | V |
PUT /channels/:id/voice-status
note: this endpoint currently requires the x-super-properties header due to the leftover experiment lock
requires #6398 (reading) - this PR will probably fail CI for now
Can documentation for the status field in the auditlog options be added as well?
the Channel Update event description should be updated to say that it doesn't trigger for status updates like last_message_id
99ea83c Bump actions/checkout from 3 to 4 - dependabot[bot]
Bumps actions/checkout from 3 to 4.
Release notes
Sourced from actions/checkout's releases.
v4.0.0
What's Changed
Update default runtime to node20 by @takost in actions/checkout#1436
Support fetching without the --progress option by @simonbaird in actions/checkout#1067
Release 4.0.0 by @takost in actions/checkout#1447
New Contributors
@takost made their first contribution in actions/checkout#1436
@simonbaird made their first contribution in act...
Gesendet von Outlook für Androidhttps://aka.ms/AAb9ysg
From: dependabot[bot] @.>
Sent: Tuesday, September 5, 2023 1:08:09 AM
To: discord/discord-api-docs @.>
Cc: Subscribed @.***>
Subject: [discord/discord-api-docs] Bump actions/checkout from 3 to 4 (PR #6402)
Bumps actions/checkouthttps://github.com/actions/checkout from 3 to 4.
Release notes
Sourced from actions/checkout's releases<https://github.com/actions/c...
I want to share a message with image attached to a Discord Server that I've joined from my React Application via some sort of api from Discord.
All results I've found on the internet leads to Discord Webhooks.
But, the problem with Discord Webhooks is that the user who has shared the message will appear has a bot.
Although, we can change the bot's name and avatar every single time in the webhook's POST request's payload, the BOT badge still seems to appear ensuring that it is a BOT not a...
This repository is for the API documentation, not for help to code a bot or integration using the API. Feel free to join the Discord Developers server for that.
Description
A message in a news/announcement channel which contains a sticker will not have the sticker displayed for published messages in channels following the news/announcement channel.
Steps to Reproduce
- Create community guild
- Create channel, enable announcement
- Create a channel which will follow the announcement channel
- Post a sticker in the announcement channel and publish it
- Find nondisplayed sticker in follower channel
Expected Behavior
Published m...
Description
when passing sticker_ids:[] on message update to a message with no stickers discord says your attempting to update the stickers.
Steps to Reproduce
Expected Behavior
It doesnt think your trying to update the stickers
Current Behavior
It does think that
Screenshots/Videos
No response
Client and System Information
API V10
All I want is masked links in event locations. Being able to add instance links for VRChat in a way that doesn't look ugly would be a dream:
Looks like this got rolled out to all servers, but it doesn't work in here like I was hoping it would. Is there anything that can be done here? The VRChat community really, REALLY needs this..
This can also be recreated by sending a webhook message with the wait=true parameter. global_name will also not be present and the response will be as follows:
"author": {
"id": "[redacted]",
"username": "test username postman",
"avatar": null,
"discriminator": "0000",
"public_flags": 0,
"flags": 0,
"bot": true
},
Thanks! It looks like the GET preview_prune_guild operation was given a request body now though
Description
I had a blocklist in place that included Discord crawler IPs, so crawling obviously wasn't working, now after disabling it, it still wont crawl it at all. I can't even find any requests made from discord (at least not with any discord user agent), embeds on other platforms (e.g. Facebook) work fine. It's definitely something host related as this isn't the only domain on that IP I'm having issues with. I am pretty sure that there shouldn't be any captcha/block, preventing it f...
Using Discord's embed debugger, it appears that your website is timing out when Discord is trying to reach it.
Great tool, no idea why it times out though, I guess i'll have to figure that out myself, thanks.
@b-rad15 webhooks aren't real users, I'm not sure what you'd expect as a global name here.
it's documented as a required field so it should be null. however that is a separate bug from this issue
does this need to be a separate PR? wouldn't it be better to just suggest documenting the endpoint in the original PR (#6398)?
#6398 can be merged already, but this needs the xsp header check to be removed
#6398 can be merged already, but this needs the xsp header check to be removed
makes sense, though considering how long it takes staff to merge docs, there's a chance the feature will be fully rolled out by the time they even see this :)
there's also event 193 for when a status is removed (shows up in audit log, but for reference: api spec)
@danny-may just to make sure we don't miss it, please open a new issue!
@almostSouji like @advaith1 said, it's required as per the API docs so it needs to be included even if null or the API is out of spec. This is a problem for libraries that expect objects to match the API docs
@advaith1 I disagree that it's a separate issue, this issue is documented as '"global_name" not in author object' which is the same problem here with webhooks.
[discord/discord-api-docs] Issue opened: #6407 Random CF Ratelimits with under 1 second reset after.
Description
I have a HTTP bot that response to a interaction with a defer reply and then send a followup to build a response since there is a db interaction in it. And since 6 hours I get random CF ratelimits. NO GLOBAL BAN
Response header:
AxiosHeaders {
date: 'Wed, 06 Sep 2023 19:24:09 GMT',
'content-type': 'application/json',
'content-length': '45',
connection: 'close',
'set-cookie': [
'__dcfduid=XXXXXXXXXXXXX; Expires=Mon, 04-Sep-2028 19:24:09 GMT; Max-Age=...
what's the response code and body? According to your headers, you are not ratelimited:
'x-ratelimit-remaining': '4',
Let me add the log and reply when it happens again since as I said it happens random
Okay I got it again its a 404
code: 404
body: undefined
But how?
Thats the time between defer and follow up
If you're deferring and following up fast enough (in a timespan of a few milliseconds), you can have a race condition where the follow-up is received before the initial response (the defer) has been handled. In this case, the API replies with a 404 (invalid webhook).
I workaround by making sure that follow-ups can be sent only if 100+ ms have passed after the initial response. You should probably do something similar.
thats actually smart let me test that I will come back to you if it worked
I even tried it with a 1 second delay now and it dosnt work
Omg I am very ashamed, this was a issue in my code where it directly tried to send a followup without replying to the interaction at all first...
Can the status field added to the Modify Channel API call added as well
Can the status field added to the
Modify ChannelAPI call added as well
a different endpoint is used for changing voice status and a PR for this already exists: #6400
This was added along with improved markdown.
This was added along with improved markdown.
Can you update the documentation for the list of intents as well with the intent required intent for this event?
hey @b-rad15, I've gone ahead and updated this issue as I was only worried about global_name and ignored the fact other fields are missing (since a lot are), You should create a new issue (if there isn't one already) about your issue as it is different to this one!
When fixing #21 a request body got added to the preview_prune_guild operation, which is a GET operation and so cannot have a request body.
If this is deprecated and always an empty string, maybe we can just undocument this field?
AFAIK, the guild field is only present if the support server is DISCOVERABLE. Maybe this can be mentioned here?
This is an absolute must IMO. Once your server gets into the thousands of members, you require extra insight, and the about me has been a goldmine in my experience. Being able to access data that is otherwise publicly available should be the default.
I'm 100% okay with making it a privileged intent, but we need access to it.
To those who say "but my privacy!", I can only say: DON'T POST PRIVATE STUFF IN PUBLIC PLACES!
Read-only (and by extension, admin/owner) can invite bots marked private. Clarifying this as it may not be apparent.
imo this would be more suited in an info box above the section to clarify that it's for all members
imo this would be more suited in an info box above the section to clarify that it's for all members
I only didn't do this because "Applications" are more than just bots, so the info box callout may not be relevant for some teams. It would otherwise make sense.
To those who say "but my privacy!", I can only say: DON'T POST PRIVATE STUFF IN PUBLIC PLACES!
Then it should be limited to discoverable guilds only if you're going to have that mentality about it.
Then it should be limited to discoverable guilds only if you're going to have that mentality about it.
Then, by your logic, message intent should also be limited to discoverable guilds.
I'd argue limiting it to discoverable guilds is still better than not having the ability to view "about me"s at all. If this is the decision Discord makes, I won't be happy, but it's better than nothing.
To those who say "but my privacy!", I can only say: DON'T POST PRIVATE STUFF IN PUBLIC PLACES!
Then it should be limited to discoverable guilds only if you're going to have that mentality about it.
So it's fine for a bot to log all available user data (mostly their UID) and then proceed to track said user across any guild the bot is in, logging every single message that they post.
But a bot reading the "about me" part of a users public profile is a step too far?
But a bot reading the "about me" part of a users public profile is a step too far?
Plus, if a user wanted to abuse this, they'd just create a user account. That's also easier as they don't need to be "invited" to public servers.
Hey folks!
I was wondering whether embed#type is still to be considered deprecated.
Our project requires this field to render embeds, and we're unsure what else we would have to use in order to identify the kinds of embeds. (github)
If this is still going to be removed, I ...
Description
When I send a message with the link https://testtube.fun it works on other sites other than Discord.
https://discord.com/developers/embeds?url=https%253A%252F%252Ftesttube.fun%252Fmaintenance
I checked on this tool and it says:
Error
error trying to connect: tcp connect error: deadline has elapsed
{}
Steps to Reproduce
https://discord.com/developers/embeds?url=https%253A%252F%252Ftesttube.fun%252Fmaintenance
Expected Behavior
Should embed the website
C...
Apparently it sometimes works and sometimes doesn't.
Though,
Warnings
Unable to extract thumbnail: Internal error
Description
When trying to edit payout information, the site crashes.
Steps to Reproduce
Please note that this issue might be associated with an experiment (this is indicated by the console output referring to the hook "useEuAndUkStripeOnboardingExperiment").
- Visit the "Payout Settings"-Tab of any team in your developer dashboard
- Click on "Get started" or "Edit payout information"
- Observe how Nelly appears with a crash error message:

b3670f5 Bump actions/checkout from 3 to 4 (#6402) - dependabot[bot]
43f70b7 chore: include npm in dependabot config - JustinBeckwith
@JustinBeckwith can we get this in btw ❤️ 👀
@mbialecka would the standard int64 format be better for the format of the SnowflakeType type? It has wider support and tools will be able to implement language specific optimisations by treating it as a number rather than a string with a regex pattern.
There currently is not. This is just how the Discord client behaves: It relies on the information it has cached instead of querying every time.
Snowflakes are returned as strings and int64 is not a standard format for strings.
There is a good reason not to store snowflakes as int64s: many tools represent json numbers as 64 bit floating point numbers which cannot represent all possible 64 bit integer values (for example, the very widely used jq tool is guilty of this). I think the Twitter API returns both a number and a string for this reason.
1072b93 chore: include npm in dependabot config (#6415) - JustinBeckwith
d09ab81 Bump @typescript-eslint/eslint-plugin from 4.33... - dependabot[bot]
Bumps @typescript-eslint/eslint-plugin from 4.33.0 to 6.7.0.
Release notes
Sourced from @typescript-eslint/eslint-plugin's releases.
v6.7.0
6.7.0 (2023-09-11)
Bug Fixes
eslint-plugin: [no-restricted-imports] disallow side effect imports when allowTypeImports is enabled (#7560) (4908905)
Features
eslint-plugin: [await-thenable] added suggestion fixer (#7437) (b284370)
You can read about our versio...
1ead69e Bump chalk from 4.1.2 to 5.3.0 - dependabot[bot]
Bumps chalk from 4.1.2 to 5.3.0.
Release notes
Sourced from chalk's releases.
v5.3.0
Add sideEffects field to package.json 5aafc0a
Add support for Gitea Actions (#603) 29b8569
https://github.com/chalk/chalk/compare/v5.2.0...v5.3.0
v5.2.0
Improve Deno compatibility (#579) 7443e9f
Detect true-color support for GitHub Actions (#579) 7443e9f
Detect true-color support for Kitty terminal (#579) 7443e9f
Fix test for Azure DevOps environment (#579) 7443e9f...
acfa010 Bump eslint from 7.32.0 to 8.49.0 - dependabot[bot]
Bumps eslint from 7.32.0 to 8.49.0.
Release notes
Sourced from eslint's releases.
v8.49.0
Features
da09f4e feat: Implement onUnreachableCodePathStart/End (#17511) (Nicholas C. Zakas)
32b2327 feat: Emit deprecation warnings in RuleTester (#17527) (Nicholas C. Zakas)
acb7df3 feat: add new enforce option to lines-between-class-members (#17462) (Nitin Kumar)
Documentation
ecfb54f docs: Update README (GitHub Actions Bot)
de86b3b docs: update no-promise-exec...
89ed805 Bump typescript from 4.4.3 to 5.2.2 - dependabot[bot]
Bumps typescript from 4.4.3 to 5.2.2.
Release notes
Sourced from typescript's releases.
TypeScript 5.2
For release notes, check out the release announcement.
For the complete list of fixed issues, check out the
fixed issues query for Typescript 5.2.0 (Beta).
fixed issues query for Typescript 5.2.1 (RC).
fixed issues query for Typescript 5.2.2 (Stable).
Downloads are available on:
NuGet package
TypeScript 5.2 RC
For release notes, check out the ...
e15e594 Bump eslint-config-prettier from 8.3.0 to 9.0.0 - dependabot[bot]
Bumps eslint-config-prettier from 8.3.0 to 9.0.0.
Changelog
Sourced from eslint-config-prettier's changelog.
Version 9.0.0 (2023-08-05)
Added: The CLI helper tool now works with eslint.config.js (flat config). Just like ESLint itself, the CLI tool automatically first tries eslint.config.js and then eslintrc, and you can force which one to use by setting the [ESLINT_USE_FLAT_CONFIG] environment variable. Note that the config of eslint-co...
It has wider support and tools will be able to implement language specific optimisations by treating it as a number rather than a string with a regex pattern.
You can probably PR in support for integer-looking strings to the tools you use.
Not sure this is the right move. Running two separate linters / formatters on the same file never ends well. Prettier / eslint kinda work because of the prettier eslint plugin, but I forsee a future in which mardkown-lint and the table formatter will not argee with eachother.
FWIW, prettier used to be running on the markdown files, had to be turned off when CI was added due to some strange changes it wanted to make that didn't fit in scope.
c018579 chore: format markdown with prettier - JustinBeckwith
0f13e2a downgrade chalk again - JustinBeckwith
Description
The "Invite" Button in the "App Testers" Tab of an Application does not have a Disabled state despite not being able to use it - when you have the "Read Only" permission level in the Application's Team.
Steps to Reproduce
- Go to the Discord Developer Portal
- Have the "Read Only" permission level in a team with applications in it and enter one of them
- Go to the "App Testers" Tab of the Application
- Notice how the box...
Description
Some elements (buttons & text boxes) do not appear disabled in Applications on Dev Portal when you have Read-Only permissions from within the Application's Team.
Steps to Reproduce
- Go to the Discord Developer Portal
- Have the "Read Only" permission level in a team with applications in it and enter one of them
- Notice the following elements not appearing disabled when they should:
- [ ] Application "Description" box i...
Deleting this file feels very wrong to me. If you are intentionally changed the styling of ci (notably reducing the width from 120 to 80...which is alright but not great, and switching from tabs to spaces, which was only applied to the ci script in the first place because md probably shouldn't have tabs) then you should delete the corresponding rules. If it was causing issues with markdown, then you should add / change rules in the markdown override.
Is there a reason this changed so much? Things that worry me in particular are the missing parserOptions and ignorePatterns. eslint only runs on the ts file anyways so this change also kinda feels out of scope for this PR.
Oh lord. You opened the box of Pandora.
Some changes look really weird, as ckohen said.
Duplicate of https://github.com/discord/discord-api-docs/issues/6424
Hey snek. These bugs are a tad different. This one is specifically pointing out that the Button isn't actually in a Disabled state at all, whereas my other one (#6423) just before this one, is explaining that the buttons and field don't look like they're in a disabled state, but are in reality.
I think this is pretty similar to what i was asking for in #23
Seems a bit out of scope and something that shouldn't be removed.
FIX: There was an error: DiscordAPIError[10004]: Unknown Guild
After so, so many hours of debugging and head-scratching, our team finally fixed the issue with the error listed above. Actually, you have to add a bot to your server. Then, you can use your discord token to make the API calls and it will work fine.
Follow the following steps to resolve your issues:
- Go to the Discord Developer Portal (https://discord.com/developers/docs/intro)
- Go to Applications (from the sideb...
A change has been made that should alleviate this issue. It will likely be out later today or tomorrow.
Should be done in whichever PR updates typescript to ^5.0, which happens to be this one right now.
hah, nice catch - it was missing the triple ticks!
9664eeb missing triple ticks - JustinBeckwith
52a461d chore(deps): upgrade TypeScript to 5.2.2 - JustinBeckwith
But this PR is formatting with prettier, and #6425 was closed without comment.
Adds initial versions of Getting Started guides in the following languages:
- Danish
- Dutch
- French
- German
- Japanese
- Polish
- Portuguese, Brazilian
- Turkish
🚀 This PR
We are not accepting changes on this specific PR as it has an accompanying PR in the dev portal to add the LocalePicker component and prevent rendering the Getting Started guides in the sidebar 8 times (see demo).
👀 New Pull Requests for Localization
If you see something that is technically i...
It seems to also emit CHANNEL_TOPIC_UPDATE gateway event, which doesn't seem to be documented either.
Only difference is topic instead of status and the fact that this events have been existing for longer (first instance of it my bot saw was on July 11th). They were only ever setting it to null (stage channel related maybe?) and do not fire on normal channel topic updates.
that is the old name, it was replaced
I 100% agree. Modals with autocomplete options would allow for interactions to do so much more. This would also legit fix one of my problems, so I'm praying for this man.
The author of this PR can't change anything with the API and is only documenting what is already there, I believe your feedback is going to the wind
70e3e34 chore: bump eslint, prettier, typescript deps (... - JustinBeckwith
Looks like eslint is up-to-date now, so this is no longer needed.
Looks like eslint-config-prettier is up-to-date now, so this is no longer needed.
[discord-api-docs] Branch dependabot/npm_and_yarn/chalk-5.3.0 was force-pushed to `f89d5f1`
Looks like @typescript-eslint/eslint-plugin is up-to-date now, so this is no longer needed.
Looks like typescript is up-to-date now, so this is no longer needed.
Description
When pruning a server and the amount of pruned members is over 1k, the audit log entries for it are split into 1k chunks with the user initially being the one who actually executed the prune and the rest being members that are being pruned.
Steps to Reproduce
- Have a server with greater than 1k inactive members
- Prune them
Expected Behavior
A single audit log entry is generated showing the correct amount of pruned members and the correct user
Current Behav...
well not that i meant
just make reaction type
to show NORMAL = 0 and BURST = 1
easier to mention afterwards
I just deployed a fix for this. Feel free to reopen or open a new ticket if it's still happening.
I just deployed a fix for this. Feel free to reopen or open a new ticket if it's still happening.
Can confirm it is fixed. Thank you!
ok @colinloretz I dropped this in the portal, and everything looks fine. There is some jankiness in the way prettier is processing mdx though - I had to drop some prettier ignores around <Button> tags, and we have to be careful with the formatting on Collapsibles.
Description
Exists very strange cases where the field communication_disabled_until are not removed when the timeout expire, this cause bots using this field to determine if the user is timeout fails to check correctly, not sure if this happen with timeouts make by API/client because cannot replicate.
Steps to Reproduce
Mute a user using the API/Client
Expected Behavior
User muted until the date provided pass
Current Behavior
Stranges cases where the user finish the time...
This is intended behavior, the value is only set once when the timeout is applied and removed if a moderator ends it manually. If the timeout expires automatically, it simply is left in place.
To correctly check for timeout, the bot should also check if the time is in the future or not.
The fix for this is deployed.
Tysm it works on my side
By the way, with regard to your security argument, why not display the Canonicalized URL in the pop-up window and the text in puny code on the client (as you've just fixed now)?
This is not a bug, it is intentional. This is called URL Canonicalization and it is part of our ef...
Thanks you! Can confirm it is fixed on browser. I guess mobile will be fixed in next update.
+1 to what @Sayrix said. Though it seems I don't even get that pop-up on browser website?
Though it seems I don't even get that pop-up on browser website?
Maybe you do a shift click, or trusted the website, or you do a middle click because i just tried on Browser and i have the pop up
Though it seems I don't even get that pop-up on browser website?
Maybe you do a shift click, or trusted the website, or you do a middle click because i just tried on Browser and i have the pop up
No, just left click. I'm on Firefox ESR. Same issue on Chromium.
Then in all cases the value never go to null unless the timeout is removed by API or user action?
Add the bot field in the Application object as a partial user object
already covered by #6297
already covered by #6297
didn't see that pr also added the bot field along other proprieties
That being said, it's not something Discord can fix, they can't just ignore many web standards that have been set in stone for almost 8 years.
@kyranet
so does this mean that in all of discord's internal logic, whenever they reference a guild or channel or message or even user ID, any front-end logic is treating it as a string but the back-end [assuming the back-end is not written in JS] is treating it as a number?
this is a dead thread, but snowflake IDs are internally stored as bigints and are serialized as strings in JSON.
sorry but I am still a bit confused on something since I dont have much experience with discord's API itself.
Are you saying that the application that hosts the endpoint {{baseUrl}}/interactions/:interaction_id/:interaction_token/callback is a JS application?
You are using MDX v2, but Prettier doesn't support it.
See:
Yeah starting to think this is a bad idea lol.
sell me ur account for 150 $
Now it's on the Members tabs, it should definitely be made available via the API. I have been waiting for 2 years at this point.
@cheshire137 is there any update on this now? Or still we cannot do it? Please let me know if you have any information regarding this.
Thank you
Self-botting is still against ToS 👍
not necessarily, it could be a separate API call. bots don't join more than one channel unless they ask for it
I'm writing a bot to caption voice channels, and this would be really nice to have. Imagine if there were two deaf/hard of hearing users in a server who wanted to join different channels. Now, the server owner would have to invite two of the exact same bot to the server to serve their needs. If there were 3 different channels, 3 instances, and so forth. It just gets silly after a point.
As far as I know, applications.builds sopes refers to the game distribution platform that used to exist in Discord. (The Library tab.)
However, this functionality is now completely disabled/deprecated, so I don't think it makes sense for you to use these scopes
The applications.builds.* sope is irrelevant here, you cannot create an application (or a bot) for a user programmatically as it is not a public api.
Description
If you send an embed with 26 or more fields, there REST call does not fail. It works and all excess fields are simply not taken into account but the embed is sent with the first 25 fields only. For the 6k characters limit the excess fields are counted though and make the call fail.
Steps to Reproduce
Send an embed with 26 fields
Expected Behavior
Request fails with a proper message
Current Behavior
Excess fields are considered for things like overall size l...
Is that a bug related to Discord ?
@redlion2375 yes, but this repository is for API-related issues, not general Discord issues.
use the guild delete event. this will trigger if either the bot is removed from a guild, or an outage occurs. there's a field on the unavailable guild object it returns to help you with this and i believe most modern API wrappers will support it.
71115d0 Bump @types/node from 16.10.3 to 20.6.2 - dependabot[bot]
Someone brought this discussion to my attention today. I honestly would be all for this. I do not understand the purpose of the Join Guilds for You permission in the first place (I cannot really see any practicality, maybe a Prompt to Join Server permission would be more ideal), and with the rise of scams on the platform, I truly believe this could fix it. I have some friends who use Discord who are not that experienced with such platforms and therefore would be likely to fall for a "Join...
Is it still failing? I am having trouble reproducing since it seems to work for me:
{
"embeds": [
{
"type": "link",
"url": "https://testtube.fun/maintenance",
"title": "maintenance",
"description": "A FOSS video-sharing website.",
"color": 6947071,
"provider": {
"name": "testtube"
},
"thumbnail": {
"...
Description
Sending an edit request of a message in a forum thread, which add a mention to a role which contains 100 users (or more) returns a 500.
Steps to Reproduce
- Have a role with at least 100 users
- Create a thread in a forum
- Post a message in this thread
- Edit this message, by adding a mention to the role
- Should return error 500
Expected Behavior
It shouldn't return an error 500, and instead, the request should succeed.
Current Behavior
Discord API r...
I can confirm this issue. I want to add that it is not limited to editing a message. The initial post message as well as any message in the post is affected.
change activities.write to not currently available for apps (we don't grant these requests for almost any cases, so the current wording is misleading devs)
rip did i break markdown tables :(
54bb835 update text for activities.write (#6440) - shaydewael
lmfao, npm run fix:tables exist :3
uhhh what is happening? can you please update with a description + what this PR is trying to do? for dependabot stuff, we'll probably address another way.
fair :/:/:/
despite my personal feelings abt it, merged the suggestion for X (Twitter) since that felt closest to updating the branding but preventing confusion.
ec82f52 Bump @types/node from 16.10.3 to 20.6.2 (#6438) - dependabot[bot]
[discord-api-docs] Branch dependabot/npm_and_yarn/chalk-5.3.0 was force-pushed to `452d0b9`
c8860b5 [create_channel] Document default_thread_rate_l... - ypisetsky
Sorry was gunna merge this one instead of #6414 but the merge conflicts got me since it's a bit outdated :(
Thanks for opening this, though!
06ba42b build: move to ESM and update chalk - JustinBeckwith
NodeNext is the recommendation for modern projects, which I assume this is.^1
2096174 build: move to ESM and update chalk (#6441) - JustinBeckwith
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an [ignore condition](https://docs.github.com/en/code-security/supply-chain-security/configuration-options-for-dependency-upda...
\* Supplying `null` disables the action.
| Field | Type | Description |
|-------------------------|-----------------------|--------------------------------------------------------------------------|
| invites_disabled_until? | ?ISO8601 timestamp \* | when disabled invites will expire (up to 24 hours in the future) |
| dms_disabled_until? | ?ISO8601 timestamp \* | when disabled direct messages will expire (up ...
It'd be better to simply reuse the incident data object's description here (with the added 24h constraint), especially since this one sounds a bit weird imo.
\* Provide a user id to `before` or `after` for pagination. Users will always be returned in ascending order by `user.id`. If both `before` and `after` are provided, only `before` is respected.
Does this follow the same pattern as user timeouts (null or value in the past if disabled)? Or is it just null if disabled?
Either way, it'd be worth documenting / noting, whether in a similar fashion to the guild member object or another way...
Given this applies to all fields, maybe using an info box instead would be the better choice here...
Does this follow the same pattern as user timeouts (null or value in the past if disabled)? Or is it just null if disabled? Either way, it'd be worth documenting / noting, whether in a similar fashion to the guild member object or another way...
Just tested this, it gets set back to null after the time expires.
that's not in scope of this pr, just fixed the table + marking
If either time runs out => null
If both run out, the guild field with the object is nul
apparently discord embedding was acting up that time so sorry lol
You had only to convert this year l issue to draft instead of closing.
It's not wrong but just too early.
Hi,
I'm looking for this feature as well, I thought it was in place because it's possible to give access to Server Insights in the bot authorization. But I was not able to find the API endpoint. How is this going ?
New default_values array for auto-populated select menus
Are there plans for select menu default values to support the "default" property like select menu options?
A new `default_values` field was added for user (`5`), role (`6`), mentionable (`7`), and channel (`8`) [select menu components](#DOCS_INTERACTIONS_MESSAGE_COMPONENTS/select-menus). `default_values` is a list of [default value objects](#DOCS_INTERACTIONS_MESSAGE_COMPONENTS/select-menu-object-select-default-value-structure), which each include an `id` (the snowflake value for the resource), as well as its corresponding `type` (either `"user"`, `"role"`, or `"channel"`).
All permissions are listed there no matter if they apply to bots because when setting overrides programmatically, the bot user needs all the perms it is granting. So a bot would need this permission in the URL if they wish to grant insights permissions in overrides
Bots still can't access server insights
Should this also mention the resolved field in message objects containing components?
It seems to hold the resolved data for default values set in select menus
what would that be for? presence in default_values makes it a default
Oh I thought default values were like choices but for non string type selects.
In that case, is validation for the min/max_values (going to be) enforced on default values as well?
is validation for the min/max_values and proper types (going to be) enforced on default values as well
I can confirm from my testing that those validations are actually enforced
Is it intended that the type channel is invalid for mentionable (7) selects?
yes, mentionable has always been users and roles
I'm having the same problem, commands don't appear even when having all the permisions.
| default_values?\*\*\* | array of [default value objects](#DOCS_INTERACTIONS_MESSAGE_COMPONENTS/select-menu-object-select-default-value-structure) | List of default values for auto-populated select menu components; number of default values must be in the range defined by the `min_values` and `max_values` properties |
| id | snowflake | ID of a user, role, or channel; depending on the select menu type |
I can confirm from my testing that those validations are actually enforced
Would be worth noting then imo
Description
This seems to be more a client-side issue rather than API specifically but it affects bots enough that I think it's fine here.
The client has suddenly started converting all autocomplete requests to lowercase before sending them to the bot. This is breaking behaviour that previously worked fine.
Steps to Reproduce
Try executing an autocomplete interaction with uppercase letters and observe any of the following:
- The network tab
- The header of the option box
- Th...
Can also reproduce on stable via the web UI.
| VOICE_CHANNEL_STATUS_UPDATE | 192 | A voice channel status was updated by a user | [Channel](#DOCS_RESOURCES_CHANNEL/channel-object) |
Still very much waiting for this 👀
I have a few interactions that accept date and time as input and my fellow other timezoners are now accustomed to converting their time to CET/CEST and inputting that, but something like a date/time picker would be very convenient.
Multiple server owners, including myself, have noticed that when using Regexes for custom AutoMod rules, strange behavior occurs, most notably causing issues with the ^ and $ metacharacters. It is my understanding that pending message content is sanitized in some way before being handed off to AutoMod - so far all I'm aware of is that Markdown characters and newlines are trimmed, as well as some other weirdness involving the beginning of messages and/or special characters (the Regex `^[a-...
Description
I am using this API https://discord.com/api/v9/interactions and want to send message using client.imagine but this error is comming
Error: imagine return 400 Bad Request {"message": "Unknown Guild", "code": 10004}
I am already able to get the messages using client.getMessages() and this works perfectly.
Steps to Reproduce
https://discord.com/api/v9/interactions
Expected Behavior
I want to send message in the discord channel using this API
Current Beha...
Maybe try using a different Api or not using discord channel
that endpoint is only for the discord client, not for third party developers. you cannot automate usage of bot slash commands
Thank you for this quick reply, too bad I was expecting from this screen that it was the case 😢
Description
Users are encountering a sudden issue with Discord's GameSDK, where the relationshipManager.OnRefresh callback is consistently returning 0 relations. This problem impacts developers who use this feature to create friends lists, affecting their application functionality and user experience.
Steps to Reproduce
Use the exact same code provided in Discord's documentation to generate friends lists:
var discord = new Discord.Discord(clientId, Discord.CreateFlags.Def...
I don't believe this is a bug with our api so I am closing this issue. Asking for assistance in a place more dedicated for debugging might be beneficial to solving your issue.
This issue still appear to happen.
Having the ability for masked links in the "About Me" for nitro users would be great too.
What about modals with a Next button instead of a Submit button? That way Discord can still have it so there are only 5 rows per modal, without a scroll bar (which would be weird, in my opinion), but you can have a longer modal, because you have multiple pages?
Also, I absolutely agree on having checkboxes, and dropdown menus.
There is no source. This is a feature request.
Description
The Discord widget/iframe doesn't set a CSP header.
Without something like
Content-Security-Policy: frame-ancestors 'self' https://*;
or
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Resource-Policy: cross-origin
sites that use
Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin
can't embed the widget properly.
Chrome at least supports credentialless="true" as an attribute on the `` which ...
@xPaw have you found a solution to this? I'm running into the same issue and the image thumbnails from cloudflare do not load even though they are valid image URLs that I can load fine on a website or by going directly to them in chrome.
Description
title
Steps to Reproduce
title
Expected Behavior
title
Current Behavior
title
Screenshots/Videos
No response
Client and System Information
title
2 PRs have already been opened regarding voice channel permission: https://github.com/discord/discord-api-docs/pull/6398 & https://github.com/discord/discord-api-docs/pull/6399
Tried to escape link formatting, seems like not possible without breaking UX one way or another.
Then whole thing breaks with link titles like Not able to handle ] or [ properly.
I've read through issues about markdown escaping for links, that seems no go and wont be available.
So I came up with next best workaround: **allow completely disabling m~a~rk~do~[wn](https://birdie0.github.io/...
Description
Links that have an underscore in them that are also inside an italics markdown (underscore) will fail to italics properly.
Additionally if there's an underscore and parenthesis () it will fail to render completely
Steps to Reproduce
create an embed with the following markdown in the description field:
**Coccidioidomycosis** ([/kɒkˌsɪdiɔɪdoʊmaɪˈkoʊsɪs/](https://en.wikipedia.org/wiki/Help:IPA/English "Help:IPA/English"), [_kok- SID-ee-oy-doh-my-KOH-sis_](...
Is this supposed to be id or channel_id?
it's just id
example payload:
<- Dispatch [CHANNEL_TOPIC_UPDATE] :
{
"topic": "123",
"id": "111...",
"guild_id": "490..."
}
+1 Really want this feature, my bot's autocomplete changes when other options change
Note as a workaround this does work properly if you use * for the underscore character in place of _
Hey @RainerZufall187! I'm going to close this issue since we already have PRs opened for this, which @ManHatos has mentioned. Thanks!
I'm in favor of this or some kind of special regex flag accepted by Discord's automod to disable the pre-processing, maybe something like (?-p)
💸 Premium App Subscriptions
- Change Log
- Monetization Overview
- Implementing App Subscriptions
- Reference for SKUs and Entitlements
You can test your implementation by [creating](#DOCS_MONETIZATION_ENTITLEMENTS/create-test-entitlement) and [deleting](#DOCS_MONETIZATION_ENTITLEMENTS/delete-test-entitlement) test entitlements. These entitlements will allow you to test your premium offering in both a subscribed and unsubscribed state as a user or guild.
I see promotions and this gift code flag in the payload but not the docs. Are these used at all?
Not at this time. We will be taking another pass at these docs shortly and welcome feedback with a premium-apps issue or PR.
- App uses slash commands, or has been approved for the privileged `Message Content` intent
Mayhappens
| id | todo | ID of SKU |
*snowflake
I won't be destroying tables this time tho
if it doesn't apply for us, it doesn't need to be documented? (at least that's the normal behavior)
"you want to offer your app" sounds weird
Merging this to publish the docs. We'll be collecting feedback and doing another pass on this shortly.
b97fad3 Document Premium App Subscriptions (#6451) - colinloretz
Follow-up for #6451
I think, to fit to the rest of the docs, that the stuff which isn't important for devs should not be documented.
2a70af3 Added Premium Apps Policy (#6453) - colinloretz
Good catch! We'll be sure to update issue templates next time we release something like this
dw, anytime again
Can you update the documentation for the list of intents as well with the intent required intent for this event?
@MinnDevelopment Could you do this please?
Description
With the release of the new Premium App Subscriptions, one feature we should ahve access to is the PREMIUM_REQUIRED response type on interactions. upon trying to use it however I am given an error saying that the type is not one of {1, 4, 5, 6, 7, 8, 9, 11}. Funny enough 11 is listed here, but is not mentioned on the docs.
Steps to Reproduce
Respond to an interaction with the type of 10. No other data supplied.
Expected Behavior
End user receives the new upgr...
Thanks for the report @TheTurkeyDev.
Can you provide an example of the JSON payload you are returning from your library?
{"type":10} Is all that I'm sending
{"type":8}
On Wed, September 27 2023 at 6:41 AM TheTurkeyDev @.>
@.> wrote:
{"type":10} Is all that I'm sending
—
Reply to this email directly, view it on GitHub
https://github.com/discord/discord-api-docs/issues/6455#issuecomment-1736445979,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASRDBTPUC7MPTDU67L2OFNTX4NR3VANCNFSM6AAAAAA5IO3Y7U
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>
There are several instances where I want some people to stop watching my game stream to avoid spoilers for them. It would be helpful if there is a feature where I could server blind someone.
This sounds like a general client suggestion rather than an API one. Officially, general client suggestions should go on Discord's Feedback Site <!-- Or as I like to call it, the sh!tposting scam support forums lol. What? Can't tell me that's not what the Feedback Site has become! -->
Description
Stickers can no longer be accessed on cdn.discordapp.com, which is the documented CDN endpoint. Instead, now discord.com must be used. This is a breaking change since the documented way no longer works and I needed to update my site to discord.com/stickers which is not documented.
Steps to Reproduce
Go to:
