472f6b5 update entitlement_ids and sku_ids - colinloretz
#github-notifications
1 messages ยท Page 13 of 1
Como Aperfeisoar oh Servidor no Discord e, Outras Configurasรฃo em Geral?
Ao Vocรชs Responder nรฃo Responde. Apenas Guarda ah Resposta pra Si Mesmo Isso Evita que: Haja Possรญvel Problemas Geral... [ รssa รฉ ah "Grasa da Coiza,,
Description
Forwarding a cross-posted message from a followed announcement channel causes a 500.
Steps to Reproduce
- Locate a cross-posted message that was published from a followed announcement channel.
- Attempt to forward the message by sending a new message, either via the API or the client.
curl -X POST https://discord.com/api/v9/channels//messages \
-H 'Content-Type: application/json' \
-H 'Authorization: ' \
-d '{"message_reference":{"guild_id":"","channel_id"...
Yep, this should be fixed now, and from my testing it is, going to close this out
I think it would be a useful feature to add an option yearly subscriptions to premium app subscriptions with an option to choose how much of a discount a user would get to sign up with yearly over monthly.
Re-opening this issue as it persists for specific messages. For example, an engineer can likely reproduce it by attempting to forward a copy of the message with channel_id=617201058502148096 and message_id=1316858857133178981. I have been informed that this is a known internal issue, but keeping this issue open could help prioritize it and prevent duplicate reports. Iโm happy to provide any additional details that may help resolve it.
Description
Problem: Creating group dms automatically adds in apps that when they first introduce u are able to add apps into group dms / private dms (Now i want to disable them to be added automatically)
Steps taken:
(going to user settings and deauthorizing them)
I had try adding the apps back into the group dm and deleting them but they still come back like a zombie.
I had try blocking them they still come back
I had try reauthorizing them and then deauthorize them they stil...
Description
Discord doesn't localize the slashcommand names in message references created by `` (https://discord.com/developers/docs/reference#message-formatting).
Steps to Reproduce
- Grab slashcommand name and its respective id
- Create message reference by ``
- Send the message in the client
Expected Behavior
It would be expected behaviour that the message reference uses the localized name of the slashcommand according to the set language in the client (if such langu...
Hi! On a small server i managed to get those information in about 20 to 60s. I don't know if on bigger servers with many joins per minute it is slower or faster.
Description
I've noticed with Thai. When you respond to an interaction with a big payload, Discord fails to respond and gives a seemingly incorrect error codeโunknown interaction. The window to reply is not being exceededโthe error is given immediately.
When sending the same payload as a message in a channel, Discord returns an internal server error.
In English, this works fine, and bigger payloads work fine. It sounds like the issue is when the data is sent to Discord, only then...
Description
When verifying an endpoint for HTTP interactions, the PING request (Interaction Type 1) must be acknowledged directly via an HTTP response with a status 200 and a PONG payload (Interaction Callback Type 1). Attempting to respond via the callback endpoint (POST /interactions/:id/:token/callback) instead results in a 404 error, causing endpoint verification to fail.
It was recommended by a Discord staff to open an issue so this behavior can be re-evaluated.
Steps to R...
Additional context that led to the creation of this ticket:
This is technically true. Given the fact that we opened up to recommending use of the
callbackendpoint for debuggability / general use, especially given it returns data now, we should re-evaluate if this requirement (response via http response vscallback) is still desired.
My guess is this fell through the cracks.
Updates default file upload limit to 10 MiB + change log.
On January 16, 2025, the default file upload limit will change from 25 MiB to 10 MiB.
While this limit is already active for users and bot users, it hasn't yet been applied to webhooks.
- This change will take effect on January 16, 2025.
- The 10 MiB limit will apply to both webhooks and interaction responses.
Hmm, I cannot reproduce this. Can anyone provide reliable reproduction steps?
I could be wrong but I think we've moved away from Apps in GDMs as a product as well. Maybe this is remnants of an old experiment.
The API is already there, but for users. Why is it so complicated? Discord bots uses the same API endpoints as users. The only difference is the token we use.
Sometimes when I use a slash command in DMs with my bot, it says "No scopes were provided", and does not send anything to my bot. The command works perfectly when the data does send to the bot.
I think the problem occurs when I initiate the command through the blue clickable "Commands" button at the bottom right of the DM. If I click this button and then click my command, when I try to send it gives me the error. However if I initiate the command just through typing, it seems to work just ...
Description
The Last-Modified header has been used to see when assets such as avatars, guild icons, and banners were initially uploaded.
Sometime in November I noticed that the date would randomly switch back and forth between the real date and the current time. (which would also change if you added or changed the ?size= query parameter (or any query parameter), and seems to be on a cache schedule)
As of December, the current/cached time is always returned.
Steps to Reprod...
Tangentally related, as it was going to be my preferred test URL, but cdn.discordapp.com/embed/avatars/#.png assets are also missing now, which a lot of bots use to easily get a default avatar based off of discriminator and user ID modulo.
Tangentally related, as it was going to be my preferred test URL, but
cdn.discordapp.com/embed/avatars/#.pngassets are also missing now, which a lot of bots use to easily get a default avatar based off of discriminator and user ID modulo.
They don't appear missing on my end. I'm able to fetch all 6 default avatars (0-5) just fine through that URL
I copied a URL from an old message when I was testing Last-Modified with them before and it happened to be an out of range one, my bad.
So like i think a couple years ago, group dms have this "hey you can add an app into group dms now, and i click it and add some random ones". And from that point on thing doesnt go away. It does feel remnants of an old experiment.
I cant reproduce it anymore because there is no longer a notification that just bumps up in group dms and ask u to add apps
Video of error
https://youtu.be/uiSO15IbOvE
The help center links to this:
https://support.discord.com/hc/en-us/articles/151041892801...
Currently, the Discord API allows developers to retrieve user avatar decorations through the User object. However, there is no support for retrieving a user's Profile Effect, despite it being a notable visual feature of profiles. Adding this capability would enhance the API's utility for bots and integrations that aim to display or interact with user profiles comprehensively.
Use Cases:
- User Profile Displays: Bots and ...
I just have no idea how to enter a newline on web/native client. None of: Shift+Enter, Ctrl+Enter, Alt+Enter work. Also tried copying a newline to the clipboard and pasting, it just comes out as a space
This is a "hack", but I found out that currently you can pass multiline strings seemingly only if you enter those newlines before the argument box appears.
One way to do this is to prepare your argument value, and then type argument name with ":" in front of it. So if the argument's na...
This is working as intended and unfortunately it's not trivial to add this. Gonna close this as a bug but I'll leave it in the backlog as a feature request for the future.
Description
See the thread in discord's dev support server. Else, read below:
https://discord.com/channels/613425648685547541/1318784803289563166
I noticed that my bot has a strange discrepancy in stated values of how many servers have installed the app. The dev portal states around 170 servers:
However, viewing my app in the public app directory displays a value that ...
Any chance we'll ever see this? Gif is not an ideal format because of size. MP4 would be strongly preferred at least, or WEBM. Anything really...
A feature request to add Projects v2 and it's sub events to the supported list of of GitHub events (as described here):
The events I would love to see supported are:
The result doesn't need to be different from the current Issues webhook messages, simply to include information from which project it's comi...
Is there an actual reason why this won't have action taken, even if its a boring answer of "privacy concerns", or was the comment chain misinterpreted?
Description
Context: https://discord.com/developers/docs/topics/permissions#permissions-bitwise-permission-flags
Seems like there are some improvements that could be made to this table. I'm not familiar enough with things to make an exhaustive list but here are some things I noticed that at least to my knowledge could be improved:
- A legend should be added to define T, V, and S for better clarity (particularly for converting between
ChannelTypeand these) ADD_REACTIONSsho...
It would be great if there were guild-specific scopes that an application could request instead of guilds and guilds.members.read. I'm thinking these would be something like guilds(12345) and guilds(12345).members.read, meaning that the scope would only allow reading guild information and membership/roles for guild 12345. The goal would be to allow fetching a user's roles within a specific guild with a known id without having to ask them for permission to see all of the guilds they...
+1 Yes absolutely that would be very useful.
I am experiencing this issue for an HTTP interaction-based application as well.
curl "https://discord.com/api/v10/applications/@me" \
-H "Authorization: Bot $DISCORD_TOKEN" | jq ".approximate_guild_count"
Output: 0
curl "https://discord.com/api/v10/application-directory-static/applications/$APP_ID" | jq .directory_entry.guild_count
Output: 252
Included explicit sidebar label for Discord Store Distribution Agreement for Developers.
Description
All JSON Params when calling the route Modify a channel seems optional based on testing and what I see on the developer tools when using Discord Client. However, when we look the documentation, some of them are indicated as required like the name. Is it intended or a real error ?
I've tested while trying to edit a forum post by providing only applied_tags or to edit a channel by providing only `topic...
Have you tried reading description fully?
Have you tried reading description fully?
Yes, but that doesn't change the fact that the typing shown below is confusing, since some are marked optional with ? and others not...
those extra optional markers in the table are accidental and redundant, and should be removed
Seems like this was fixed at some point? I just tested it, and the image was fetched with "Mozilla/5.0 (compatible; Discordbot/2.0; +https://discordapp.com)" agent, but for some reason it fetched the image 3 times.
A typo in the description of "Update user metadata and presence"
This continues to be an issue for discovery-enabled servers: https://search.google.com/test/rich-results/result?id=O17zQLFwK9nYHCfAZTj9eQ
Description
In a follow-up from this issue that was temporarily fixed in 2023, https://github.com/discord/discord-api-docs/issues/6180, some invites from discoverable servers once again have the no-index markup applied to them, causing server invites to disappear from Google as search engines are blocked from crawling invite links.
Steps to Reproduce
Discord staff can check X-Robot tags in discord invite links. Here is one example from Google's Rich Results Test: https://search.goo...
Fixing a typo
invoking **on** of your app's -> invoking **one** of your app's
This server is not discoverable, as you can see by the missing DISCOVERABLE flag on the API: https://discord.com/api/invite/democrats
Testing with another discoverable server, the noindex meta tag is correctly removed: https://search.google.com/test/rich-results/result?id=RCKWmOKu8BYod2XqdkFjbg
Another year, another useful feature we haven't gotten.
Seriously, why do we get avatar feet decorations and image editing, but not actually useful features?
Description
When I send a SET_USER_VOICE_SETTINGS command to my RPC application (using pypresence library), the volume value I'm sending is not the one displayed on my discord client.
Valeurs discord.xlsx
Steps to Reproduce
- Create a application and connect to it in RPC
- Send a SET_USER_VOICE_SETTINGS command with arg : "volume" = [int between 0 and 200]
Expected Behavior
Sending the value "...
Bump. For the useless lazy fat asses discord devs
UP, could be an interesting feature!
Everybody knows that, it was not the question.
Be useful for one time.
Added explanation about disconnection error code 4020 when user sent an invalid heartbeat payload to the Gateway.
To appear commands when typing / in chat, the "Slash Commands" option must be activated for the application, check at:
https://discord.com/developers/applications
https://discord.com/developers/docs/tutorials/upgrading-to-application-commands
Additionally, tags with roles that the bot has on the server may make it impossible to execute commands.
Description
1. Warning Discrepency
The Create Guild Application Command overwrite warning
The Create Global Application Command overwrite warning
Both of these warnings have the same text, but a different background color and symbol.
2. Options Parameter Discrepency
The Create Guild Applicati...
Description
Hi, ANSI codeblocks inside an embed appears buggy when the message is edited.
What it exactly does is that for a short time, the ANSI is not formatted and shows the raw text
Steps to Reproduce
Put a codeblock with ANSI language in it inside an embed, edit that embed every x time
Expected Behavior
Like in a normal message, but inside an embed.
https://github.com/user-attachments/assets/1375e953-43b5-4de3-8631-d5549986d5cf
Current Behavior
Buggy when t...
Iโd like to suggest two new API endpoints to improve role management and member fetching in large guilds:
Bulk Role Management
A new endpoint for bulk assigning/removing roles to multiple members at once with bots.
Example:
POST /guilds/:guildId/roles/:roleId/members/bulk
DELETE /guilds/:guildId/roles/:roleId/members/bulk
{
"ids": [ "123", "456" ]
}
Fetch Members by Role
An endpoint to retrieve all members with a specific role.
Example:
`GET /guild...
Description
I have an application that I only authorized with the webhook.incoming scope. However, the integrations tab incorrectly states that the app's bot is in the server.
Steps to Reproduce
Authorize an app to a server with only the webhook.incoming scope
Expected Behavior
The integrations tab shows the app's webhooks, but does not claim that it has a bot in the server
Current Behavior
It says the app's bot is in the server and seems to list the @everyone permiss...
+1 this would be extremely helpful
Introduce new endpoints for managing role connection metadata on a per-guild basis, as an addition to the existing global metadata API ,
Proposed Endpoints:
GET /applications/{application.id}/{guild.id}/role-connections/metadata
PUT /applications/{application.id}/{guild.id}/role-connections/metadata
Thanks for the callout! Here's a PR to make those requested docs clarifications https://github.com/discord/discord-api-docs/pull/7332
[discord/discord-api-docs] New comment on pull request #7332: add clarifications in permissions docs
For example, T applies to GUILD_VOICE (for its associated text chat) for a permission like SEND_MESSAGES
I think every permission that applies to text-in-voice has V for voice now?
[discord/discord-api-docs] New comment on pull request #7332: add clarifications in permissions docs
I think every permission that applies to text-in-voice has V for voice now?
Oh I see. In that case, I think I can make a mapping from T to channel types that is consistent for every permission then
not sure if it makes sense to include the thread types here, since threads don't have permission overwrites (they just inherit from their parent channels).
also should include GUILD_MEDIA under text, its basically the same as a forum
| Channel Type (Abbreviated) | Description | Channel Types |
|----------------------------|-------------|----------------------------------------------------------|
| T |...
This PR also removes ? indicating nullable fields, not optional. It is a different thing and should not be changed. https://discord.com/developers/docs/reference#nullable-and-optional-resource-fields
@MillionBlossoms do you have other examples not indexed correctly?
This PR also removes ? indicating nullable fields, not optional. It is a different thing and should not be changed. https://discord.com/developers/docs/reference#nullable-and-optional-resource-fields
Good catch! I'll update that
Makes sense! Thanks for the suggested change
Description
Uploading animated emojis results in a static one being created instead of animated
Steps to Reproduce
Example gif
- get a gif/animated webp
- go to the client => server settings => emoji
- upload the emoji
- watch it upload as a regular emoji, not animated
- base64 encode a gif
POST https://discord.com/api/v10/guilds/{guildId}/emojiswith json ...
The documents are a bit ambiguous when it comes to encryption modes and how to generate nonces for these modes: https://discord.com/developers/docs/topics/voice-connections#transport-encryption-and-sending-voice
I have an issue where I am using the gateway and voice gateway, and opening a UDP connection and streaming an audio file that is Opus encoded with a 48khz sample rate on 2 channels. I have confirmed that encryption/decryption works using the format as specified by the docs for AES ...
4000472 add clarifications in permissions docs (#7332) - donaldchen
Thanks for the PR but this page is no longer listed in the docs.
I'm closing the issue now that the updated docs have been merged https://github.com/discord/discord-api-docs/pull/7332
Ability to send the content string as a file the same way the client lets you, perhaps by way of a flag?
the client uploads a text file as a normal attachment, which you can easily do in your code too.
https://discord.com/developers/docs/resources/message#create-message
https://discord.com/developers/docs/reference#uploading-files
the client uploads a text file as a normal attachment, which you can easily do in your code too.
https://discord.com/developers/docs/resources/message#create-message
https://discord.com/developers/docs/reference#uploading-files
@mthsgl do you mind posting all params in your command?
trying to figure out if this is supported yet
it is, you can use custom protocols if you use pkce.
Description
Opus encoded audio packets are not being played back when sent to the UDP connection.
Steps to Reproduce
Use AES-256 GCM encryption on the 2-channel 48khz Opus encoded audio, send the chunks at a 20ms frame time, the UDP connection will remain open and send report packets, and accept your packets but will not play the audio back.
Expected Behavior
The app should be playing back the audio that I am sending to the UDP connection.
Current Behavior
The UDP conne...
Are we expecting this to change?
Following up here, but you can refresh tokens with PKCE now if you turn on public client for your app in the OAuth2 section of your app settings in the developer portal.
Hello,
You should be able to get more information on the failure by looking at the webrtc log of one of the receiving clients.
You can find the webrtc log by navigating to Settings > Voice & Video > Debug Logging > Show Folder
The file should be called discord-webrtc_0
There could be multiple reasons the audio is not playing back, are you using an implementation of libdave to negotiate the key and to encrypt the frames?
I haven't implemented DAVE at all, I could try to do that and see if it helps. I had thought from reading the documentation that there is still automatic downgrading to regular transport encryption to accommodate clients that don't support DAVE, but perhaps I am either mistaken or I just misunderstood the wording.
I have to admit I've never seen these logs before, so I am not 100% sure what to be looking for, so I will upload them here.
[discord-webrtc_0.txt](https://github.com/user-atta...
Yeah, I don't see anything suspicious in that log, there must be an issue with your negotiation code.
Make sure you've followed the documentation at https://discord.com/developers/docs/topics/voice-connections and there are also multiple open source implementations you could validate your code against.
Regarding DAVE, you are correct that we are currently downgrading calls with unsupporting clients, however this is only temporary during the transition phase and DAVE will become required...
When you are referring to negotiation code, are you referring to the gateway connection? Or are you referring to the UDP connection? Or the actual encryption? I am basing my implementation off the documentation you linked and I have reviewed a few different other libraries to ensure my encryption follows the same format.
It seems that the Set Voice Channel Status permission is missing from the default install permissions in the Discord bot application settings page (not displayed in the permissions dropdown).
Additionally, since this permission is not officially documented, it has not been implemented or added in third-party Discord bot library implementations.
Here is the Payload schema sent by pypresence library :
`def set_user_voice_settings(cls, user_id: str, pan_left: float = None,
pan_right: float = None, volume: int = None,
mute: bool = None):
payload = {
"cmd": "SET_USER_VOICE_SETTINGS",
"args": {
"user_id": str(user_id),
"pan": {
"left": pan_left,
"right": pan_righ...
Bump! This is so needed and logical to have. We maintain projects in our server,on channel per project. We were thinking of creating forum channels for this but realised can't have a private thread (post) for the project organizers. Please, this is quite needed.
Yes, I don't know why Discord does not implement this feature.
Same. This is a given. Just like we have the ability to create private threads in text channels, we should have an ability to create private threads (posts) in forum channels.
Description
When using a slash command with autocomplete options, the newly released 261.0 client on iOS is broken.
Pre 261.0:
Post 261.0:
Steps to Reproduce
Type "/", pick the option, then choose any of the possible values for the option
Expected Behavior
It should work like it used t...
Guys! use client.applications.edit({ description: "your about me goes here" })
this has been fixed already, try restarting the app.
https://discord.com/channels/613425648685547541/1326772955916537866
Doesn't the message there say that the fix won't be out until tomorrow? Why would an app (do you mean bot or client app?) restart fix anything?
that message was sent yesterday, so the "tomorrow" refers to today. I meant restarting the iOS app - that will pull the latest code (via ota update) which might have the bug fix.
verified it works with latest change, @jgoldshlag let me know if you still see it
@lsdimagine looks fixed to me as well, thanks for the quick response
Hey i have some updates here
now routes is correct & working fine voice channel will used hostname with 10000+ endpoints
egion if the guilds have stage
b3b6762 add simple embedded app sdk shareLink docs - afgiel
df6e309 npm run fix:tables - afgiel
Presents the user with a modal to share a link
@Atlante45 I can confirm with the webrtc logs that the call is getting downgraded when the bot joins, and I see these logs:
[2025-01-10 15:09:29.774] [14760] JS console: [RTCConnection(219182306869379072, default)] Preparing DAVE protocol transition: 1, protocol version: 0
[2025-01-10 15:09:29.774] [14992] (connection.cpp:698): Setting decryptor key ratchet for user: 1246669959858225253, protocol version: 0
[2025-01-10 15:09:29.774] [14992] (decryptor.cpp:20): Transitioning to new key...
4093236 Update docs/developer_tools/Embedded_App_SDK.mdx - afgiel
7b48745 Update docs/developer_tools/Embedded_App_SDK.mdx - afgiel
223a160 add simple embedded app sdk shareLink docs (#7339) - afgiel
14ea87f swap .sample.env for .env.sample in guide - colinloretz
bc8fdd4 swap .sample.env for .env.sample in guide (#7340) - colinloretz
e57a7a2 Update Overview_of_Apps.mdx (#7322) - FoUnDeRR
01b1165 Fixing typo in interactions overview (#7324) - SpencerKaiser
[discord/discord-api-docs] New review comment on pull request #6396: docs: document incident actions
{
"invites_disabled_until": "2023-09-01T14:48:02.222000+00:00",
"dms_disabled_until": null,
"dm_spam_detected_at": null,
"raid_detected_at": null
}
@Furnyr lets do it and I'll get this one merged in.
Description
I noticed when I called /channels//threads/archived/public on a Channel that was recently turned into an Announcement Channel, it did not give me all the Archived Threads, only Archived Threads after it became an Announcement Channel. I tried to turn it into a Regular Channel, and then it did give me the other Threads, but not the ones made while it was an Announcement Channel.
I believe this issue is caused because the API probably only searches for ANNOUNCEMENT_THREAD ...
Solution 2: When converting from Text Channel (0) to Announcement Channel (5), convert all PUBLIC_THREAD (11) to ANNOUNCEMENT_THREAD (10), and vice versa. All current PUBLIC_THREAD (11) and ANNOUNCEMENT_THREAD (10) would need to be converted to their appropriate type, this might consume excessive resources, which is why I would recommend Solution 1
I want to add that solution 2 would be a breaking change from the [documented behavior](https://discord.com/developers/docs/resources/channel...
your code should not break if you receive a channel type change that is not text <-> news
And yet it will for any library that has separate classes for separate channel types. Since changing channel types are indeed not documented anywhere apart from the text<->announcement channel change.
The link looks good so I'm gonna close the ticket. Feel free to reopen if you have more questions.
43b85c0 [guides] add Prompting Users to Share Incentivi... - afgiel
12a2c02 slight clarification on auto referredId - afgiel
This is by-design. The Discord UI exposes a "perceptual" volume level, which has a non-linear relationship with the actual underlying amplitude. The exact function used for the conversion isn't specified, and may change in the future; RPC clients shouldn't rely on it. The APC API exposes the underlying linear amplitude value, so its behavior is guaranteed to remain stable. If exposing this value to a user in a slider or similar UI element, I'd suggest applying your own perceptual curve (a pow...
Hello I am wondering why this feature doesn't exist but to delete someone's message in dms
(imagine someone sends you a NSFW picture yes you can sensor it but if you click the magnifying glass on your phone you can still see it, even if you block the person so the best operation is to delete it so please new feature please I beg of you other platforms have it why can't you)
This status code isn't specific to invalid heartbeats - it's a generic "bad request" response. Good catch that it is missing though, I'll update the documentation to add it!
7d538c3 [voice] add 4020 (Bad request) close event code - birarda
#7326 correctly identified that this code was missing, but was over-specified. Adds a simple description of the "Bad request" close event code for voice gateway.
e7913ea [voice] add 4020 (Bad request) close event code... - birarda
Hi everyone.
I am working on implementing subscription payments on a discord app and I am stuck at the point where I need to test the subscription workflow from the moment when a user subscribes to the moment where the user cancels the subscription or is getting renewed.
As I understand the documentation, there isn't a way to test trigger the events generated by subscription create/update/delete apart from subscribing from a dev account to make it free. With that said and done, you are stuc...
I was trying to automate Discord updates too, and thanks to your post I found the correct endpoint. Thanks.
For anyone looking for a basic solution, it may helps:
https://gist.github.com/gomesar9/f7d4dcbc0cfeb0ead7fb727c311194d2
Seeing as there's a few gaps in the error code list, is it possible we can get the rest of them documented for posterity? It reduces confusion and having a complete list to consult is always nice.
I like this idea for modal enhancement and I really want boolean, media, pages, select menu and that preview one which can be helpful for guiding users and describing in modal itself
hope they plan all of it as only some are planned :)๐
As a Discord Activity developer, we need more comprehensive analytics to better understand user engagement and improve our games. Currently, the Developer Portal only shows basic install metrics (user count and server installs), which isn't enough for meaningful optimization. Key metrics we're missing such as:
- Concurrent player count
- User session data (number of sessions, session length)
- Retention rates (daily/weekly/monthly)
- More detailed analytics dashboard with visual data
-...
What's stopping you from doing this yourself?
I tried Unity analytics, but given that Discord activity is actually a web-based experience, Unity analytics couldn't receive results from the Activity application hence it doesn't work. Any suggestion on how to track the data or what tools I could use? Thanks
1. Create and track an incentivized link for a promotional campaign, then prompt users to share the link
2. Handle incoming referrals and grant valid rewards
Does this shareLink method display a modal for picking share destinations?
If a user clicks a "copy link" button in the modal but then closes it without doing on-platform sharing, what is the value of success?
So there is an option to PUT a voice channel status now! Great!
But it still isn't possible to GET it, correct?
When will this be available?
it's part of the channel object which you can GET already, but voice channel status is not considered stable or documented yet.
Description
When a GitHub user changes their profile picture, the messages displayed in discord through the webhook will still contain the old image.
Here is an example payload:
{
"ref": "refs/heads/main",
"before": "53a83cf7b0d9ff9b427462b8b057fb7ba9c9e660",
"after": "fad4f7a34e89902542fdbdc7207c2c2c1c61363f",
"repository": {
"id": 917289629,
"node_id": "R_kgDONqy6nQ",
"name": "PSDownloader",
"full_name": "LordBubblesDev/PSDownloader",
"private": f...
We still waiting ๐
Opcode 1 is Select Protocol
Identify is Opcode 0
I think Opcode 0 Identify is correct.
Linking to the reference will help answer questions like @brad-discord asked below. We can also mention explicitly in the copy. "share the link via a modal".
2. Call the [`shareLink`](#DOCS_DEVELOPER_TOOLS_EMBEDDED_APP_SDK/sharelink) command
we're going to be doing a refresh of these guides and design patterns and will be more heavily linking to the reference
Is this fixed/deployed? I'm having the exact same issue
Was about to create a new topic suggesting to create a RSS feed that would perfectly accompany the changelog's page. +1 for @NovaFox161
Summary:
We propose adding a feature to the Discord API that allows bots to identify which invitation link a user used to join a server. This functionality would significantly enhance community management and automation capabilities.
Use Case:
Our NGO, "Children of Regions," actively uses Discord to manage a community of over 500 active users and 35+ team-based sub-servers. Tracking invitation links would allow us to synchronize our databases, automate onboarding processes, and provide t...
Description
If you create an application command with an auto-complete option as the first argument, and an argument with set choices as another argument, auto-complete requests for the first argument will fail due to the other argument not having a valid value, despite the user not getting to that option yet.
Please find attached screenshots of the failed auto-complete on the web client, and the auto-complete request body and response.
Steps to Reproduce
- Create an application ...
Same here, this had me running in circles for 2 days trying to figure out why my autocomplete is failing LOL. My temp fix was to move the option(s) that uses choices to the front ๐
I've have had the same issue as well;
Suddenly two days ago, the autocomplete functionality for first argument started to fail loading, and I've been unable to locate any clues to why this is happening;
This command has one autocomplete as first parameter, and one choices as third parameter.
Testing it now by explicitly setting the third option to a valid choice allows the first parameter to properly autocomplete.
Experiencing this too! I initially thought it was an issue on my end and spent hours debugging. I can confirm that the same error appears in the network tab.
spent 2 days trying to fix this issue, i thought i was going crazy until i checked the network logs
Soooooooo.. When the user starts typing and auto-completing the first argument, the command system tries to validate all required arguments for the interaction.
Since the second argument is required but has not yet been set to a valid choice, the auto-complete request fails. This happens because the system sees the second argument as "invalid" for the request, even though the user hasn't reached it yet.
auto-complete request fails because all required arguments are validated...
yes, even ...
Same here, but it works fine in Mobile Devices App for me.
Description
When disable permission USE_EXTERNAL_APPS users cannot use any Activities in voice channels
Steps to Reproduce
- Disable permission
USE_EXTERNAL_APPSfor everyone
Expected Behavior
Users can use Activities in Voice channels
Current Behavior
Users cannot use Activities in Voice channels
Screenshots/Videos
No response
Client and System Information
API bug
Pretty sure it's intentional?
Activities are now also classed as External Apps if they haven't been added (authorized) to the Server in question. Therefore, they are also affected by the USE_EXTERNAL_APPS Permission just like other types of external Apps (such as User Apps).
I guess if you want to still allow your Server Members to use Activities in your Voice Channels, grant the USE_EXTERNAL_APPS Permission as a Permission override in the Voice Channels (if you don't want to do so globa...
Pretty sure it's intentional? Activities are now also classed as External Apps if they haven't been added (authorized) to the Server in question. Therefore, they are also affected by the
USE_EXTERNAL_APPSPermission just like other types of external Apps (such as User Apps).I guess if you want to still allow your Server Members to use Activities in your Voice Channels, grant the
USE_EXTERNAL_APPSPermission as a Permission override in the Voice Channels (if you don't want to do so...
or will I just have to add +20 applications and add new ones when they release and appear in the Activities window so users can to launch them? I think it's at least very strange.
It is intentional that when Use External Apps is disabled, users cannot use apps (including activities) unless they have not been added to the server. It's recommended to keep Use External Apps enabled, but if you want, you can turn it off and add all the activities you want to the server. For more info on app-related permissions, see https://support-apps.discord.com/hc/en-us/articles/26501864012951-Moderating-Apps-on-Discord
It is intentional that when Use External Apps is disabled, users cannot use apps (including activities) unless they have not been added to the server. It's recommended to keep Use External Apps enabled, but if you want, you can turn it off and add all the activities you want to the server. For more info on app-related permissions, see https://support-apps.discord.com/hc/en-us/articles/26501864012951-Moderating-Apps-on-Discord
I can still understand that you can't run third-party activities...
The activity launcher shows a mix of first-party and third-party activities, there is no actual difference between them. The app does not display whether an activity is made by Discord or not.
Activities like 'Poker Night' and 'YouTube together', that was made before launch third-party activities, so they are like 'officials', but they unavailable too
and that is, I have a choice between writing custom anti-spam bot, because through User-apps, for which this permission is responsible, some users spamming, or adding all official activities to the server, which is about 20 pieces and adding new ones each time they exit.
It is intentional that when Use External Apps is disabled, users cannot use apps (including activities) unless they have not been added to the server. It's recommended to keep Use External Apps enabled, but if you want, you can turn it off and add all the activities you want to the server. For more info on app-related permissions, see https://support-apps.discord.com/hc/en-us/articles/26501864012951-Moderating-Apps-on-Discord
If the permission "Use Activities" already exists, why not add t...
This behavior is intentional as there is no distinction made between first party and third party activities, and there is no distinction between activities and other kinds of user-installable apps, closing this issue out as working as intended.
This behavior is intentional as there is no distinction made between first party and third party activities, and there is no distinction between activities and other kinds of user-installable apps, closing this issue out as working as intended.
To clarify the way this works: USE_ACTIVITIES and USE_APPLICATION_COMMANDS are permissions used to control access to specific features of applications of any type. USE_EXTERNAL_APPS is used to control the use of external applications as a whol...
So why do not add permission like USE_USER_APPS?
That's what USE_EXTERNAL_APPS is
So why do not add permission like USE_USER_APPS?
That's what USE_EXTERNAL_APPS is
But why this touches activities as they have different functions?
Even official description of permission says that it only applies to public or ephemeral messages, not activities
I'm having the same issue.
Description
When using the guild.filesize_limit attribute as a limit to the filesize uploaded by your discord bot, you're met with a "Payload too large" error instead, despite the file being well under the limit.
This worked only a month ago.
Steps to Reproduce
# Get the channel
channel = bot.get_channel(channel_id)
# Get the limit
limit = channel.guild.filesize_limit
# Upload a file which SHOULD work. I used a 17mb file in a 25mb limit server/channel
discord_file = d...
This is an issue with the python discord bot library you are using. They have not updated the filesize constant in the code since Discord reduced the default filesize from 25mb to 10mb. The API does not actually return this value it is calculated library side based on the servers premium level.
This is an issue with whatever 3rd party library you're using, as this field is not data provided by us. Ensure your library version is up to date, and if it's still an issue open an issue in their issue tracker.
- completes attachment flags documentation
- adds embed fields and embed media fields
- adds attachment clip fields (already in spec)
Currently, the documentation of which members are included in the Guild Create event is in the Request Guild Members section. This has led to a lot of confusion. This PR moves it to the Guild Create section and separates it into bullet points for easier readability, and clarifies other text for requesting and receiving guild members.
Users sometimes use the Get Guild Vanity URL endpoint without realizing that the code can be accessed via vanity_url_code in the Guild object, so this PR adds a note about that to the endpoint documentation.
and that is, I have a choice between writing custom anti-spam bot, because through User-apps, for which this permission is responsible, some users spamming, or adding all official activities to the server, which is about 20 pieces and adding new ones each time they exit.
You donโt need a custom bot for that. Automod is perfectly capable of moderating spam, even if done through user-apps. You just need to enable and configure it.
So why do not add permission like USE_USER_APPS?
That's what USE_EXTERNAL_APPS is
But why this touches activities as they have different functions?
Activities are seen as a 3rd type of App (specifically as Embedded Apps tmk). So going off that, it's logical that this Permission affects Activities just as much as it affects User Apps. :)
I don't like it being tied to both user apps and activities because voice channels are also message channels so this means you either get both user apps and activities or you get none.
A lot of servers have been disabling the use external apps permission by default because of how abusive it can be used.
It would be in Discords best interest to clarify these 2 permissions and at least split the up from user apps.
This is due to the image being cached on our CDN for efficiency reasons, and because github doesn't create a new url for the newer image, it instead just serves the new image from the same url. It takes some time for the image to leave the cache (up to a couple days), but after that it should update to the newer image when our media proxy re-fetches the image. It's unfortunately not feasible for us to change this behavior on our end, you can try opening an issue with github asking them to add...
It actually caches it for one entire year, not "a couple of days".
It caches the image locally, because this Cache-Control directive instructs the Browser to cache it for that duration. This can lead to the avatar being up to an entire year out of date (fixed by using a different device).
Personally, I solved it by making a Webhook Proxy server that sits between GitHub and Discord, fetches 50 bytes of...
This is due to the image being cached on our CDN for efficiency reasons, and because github doesn't create a new url for the newer image, it instead just serves the new image from the same url. It takes some time for the image to leave the cache (up to a couple days), but after that it should update to the newer image when our media proxy re-fetches the image.
Yes, I agree that it should be this way, as written in my post under Expected behavior, unfortunately, the current behavior is th...
Thanks everyone for this report + comments! This bug popped up as a result of some verification fixes + cleanup, and tests didn't catch this specific scenario -.-
I've pushed a fix to Canary + PTB for the examples in this thread. Please let me know if any of your autocomplete commands are still failing validation but were working last week.
Thanks everyone for this report + comments! This bug popped up as a result of some validation fixes + cleanup, and tests didn't catch this specific scenario -.-
I've pushed a fix to Canary + PTB for the examples in this thread. Please let me know if any of your autocomplete commands are still failing validation but were working last week.
Hey Auralytical, thanks for following up! Just tested in Canary Discord. It still don't work and also stopped working in Mobile Devices as well!
I am also struggling with this.
There is no way to sandbox the full process.
I have had issues all the way through the process and wish the documentation was more thorough with more explanation.
Making more temporary guilds to test the full work flow is not very efficient and pulls on discords resources, personally I think more love needs to go into the app subscription (I am looking for guild subscriptions).
If sandboxing to test the full work flow and documentation was better I th...
Oh man I am pulling my hair out with this.
Trying to create test entitlements and getting this
ERROR - Failed to create test entitlement: Failed to create test entitlement: {"message": "405: Method Not Allowed", "code": 0}
I am probably overlooking something but been at this for days now.
Here is the script if someone more experienced can help me i would be grateful.
import logging
from nextcord.ext import commands
from nextcord import Guild
import aiohttp
import os
fro...
I totally agree with you.
I have asked on many Discord servers where developers chat and had no response.
In documentation you are told that Entitlements are assigned to guilds/users and prove access to an SKU. You also get subscription updates which should NOT be used as a proof of access to that SKU but they do show you some state of the subscription.
It is all over the place in terms of checking subscription access, sku access, end_at: is populated when the subscription has ended in the...
Bringing this up again in 2025 because it's more relevant than ever. AutoMod rules are a great tool for intercepting and moderating messages before theyโre sent in the chat. However, there are significant gaps in how they function, or at least how theyโre documented. For example, the execution order of rules is unclear, and itโs not fully explained how "allowlists" interact with wildcards (wildcards seem to consume characters, which can create vulnerabilities).
Thereโs also no built-in "a...
It seems like a new AuditLogEvent is needed for this.
The stuff you mention thatโs missing/not working as expected for keywords can be done through using regex-patterns instead.
The stuff you ask for with having an event sent from the gateway and needing a response from your app before the message actually gets displayed in discord is indeed very latency inducing and puts a lot of strain on the API. Especially since it can already be accomplished by listening to MESSAGE_CREATE event and doing the appropriate actions you want to do based on that.
I figured out my issue it refuses to get the application id from the environment variables, its been a pita.
I can not create a bloody test entitlement DEBUG - Response Text: {"message": "An entitlement has already been granted for this resource", "code": 40074}
This is because I have to wait for a month for the test subscription to be deleted when subscribing to see how the workflow works and the json returned, basically with the limited documentation I did not fully understand the pro...
Description
AutoMod rules can be bypassed when an allowlist contains wildcards, and users write forbidden words or links without spaces. This allows users to circumvent filtering (e.g., links) while still permitting links from specific domains such as discord.com.
Proposed Solutions
-
Default Behavior Adjustment:
- Ensure that the allowlist wildcards only consume the characters explicitly matched by the regex.
-
Enhanced Wildcard Options:
- Add a
+c...
- Add a
There is an api endpoint for deleting test entitlements.
If you make a purchase through the in-app menu, you do have to wait a monthโฆ.
Sent from Outlook for iOShttps://aka.ms/o0ukef
From: Liam Gibbins @.>
Sent: Thursday, January 23, 2025 10:52:56 AM
To: discord/discord-api-docs @.>
Cc: ThisIsSparta @.>; Author @.>
Subject: Re: [discord/discord-api-docs] Subscription Workflow Tests (Discussion #7345)
I figure...
The issue with MESSAGE_CREATE is, that the message exists.
At the time the bot receives the event, the message is already there. And if there is a big latency to the bot or API could it take a while for it to be processed and subsequently removed, if something like an Anti-ad is triggered.
Additionally could the client also lag behind and not have the message removed. This is an issue that appears very frequently on the client where messages that get deleted the moment they were posted ...
I appreciate the points you have raised. However, your response suggests that you didn't take the time to read the operator's message, and my response entirely. I would like to clarify that, while regex patterns can be powerful tools, they would not fully address the specific needs described in the proposal. That is, to prevent the action from being performed, before it is performed. (Authoritative verification)
I don't agree that the proposed solution would make considerable demands on th...
And your response suggests you donโt seem to know that automod rules can be based on regex patterns. So your points about regex not helping is void.
And your response suggests you donโt seem to know that automod rules can be based on regex patterns. So your points about regex not helping is void.
Regex has its limits. It's especially bad for when you want to do thinks like link filters where either only specific links are allowed or not allowed.
The resulting regex could be tediously huge, or there could be edge cases it won't catch.
Like I had a regex used for discord invites, but forgot to make http(s):// optional, so people ...
b564bc7 Apply suggestions from code review - afgiel
6978149 fix typo in Voice_Connections.mdx (#7348) - ozraru
I'm not sure if the soundboard sound CDN section is relevant.
72abfb5 minor code fix in "Calling the backend server" ... - charleschen
And your response suggests you don't seem to know that automod rules can be based on regex patterns. So your points about regex not helping is void.
Dear Qjuh, defender of the regex kingdom,
Your proclamations echo with misplaced wisdom.
You wield regex as if it's Excalibur's might,
But fail to see its dull edge in this fight.
Did you read the issue, or just skim with haste?
For your words reveal much intellectual waste.
Regex, my friend, is but a tool in the chest,
And not ...
I agree with custom automod actions to simply send events to bots, but bots will never be able to conditionally block messages from being sent. Message sending has to be fast and waiting for a response from a bot is way too slow for that.
the soundboard sound cdn endpoint is already documented in the soundboard page, but this pr is missing the new message field.
@charleschen are you having issues with the code? the auth variable is instantiated at the top on line 468
2cdebec update guide (missing objectName) to match exam... - colinloretz
I agree with custom automod actions to simply send events to bots, but bots will never be able to conditionally block messages from being sent. Message sending has to be fast and waiting for a response from a bot is way too slow for that.
Here's a potential response to the Discord staff:
I understand the concerns about speed and the need for messages to be sent quickly. However, introducing such a feature wouldn't necessarily slow things down more than the existing 1-second min...
Introducing such a feature wouldn't necessarily slow things down more than the existing 1-second minimum delay from slow mode. Discord could implement a configurable delay with a fallback system to mitigate the potential for latency.
For example, this functionality could be selectively enabled for specific scenarios, such as when a message contains certain keywords, phrases, or regex patterns that trigger AutoMod rules. In these cases, an event could be sent to the bot to allow for more nu...
Trying to mitigate false positive of an automatic solution with another automatic solution only introduces other false positives/negatives. It doesnโt solve anything. You already receive an event when the automod hits and can decide to take action based on that (including alerting someone that it might be a false positive or undoing a timeout automod made or โฆ).
Trying to mitigate false positive of an automatic solution with another automatic solution only introduces other false positives/negatives. It doesn't solve anything. You already receive an event when the automod hits and can decide to take action based on that (including alerting someone that it might be a false positive or undoing a timeout automod made or โฆ).
I understand your point, but you're fundamentally mistaken because you're comparing apples to oranges. The metaphor here is tha...
[discord/discord-api-docs] New review comment on pull request #6396: docs: document incident actions
nit: i think we can remove the "at" at the end so that its just: "when the dm spam was detected"
[discord/discord-api-docs] New review comment on pull request #6396: docs: document incident actions
nit: i think we can remove the "at" at the end so that its just: "when the raid was detected"
[discord/discord-api-docs] New review comment on pull request #6396: docs: document incident actions
nit: "when invites will be enabled again"
[discord/discord-api-docs] New review comment on pull request #6396: docs: document incident actions
nit: "when direct messages will be enabled again"
Thanks everyone for this report + comments! This bug popped up as a result of some validation fixes + cleanup, and tests didn't catch this specific scenario -.-
I've pushed a fix to Canary + PTB for the examples in this thread. Please let me know if any of your autocomplete commands are still failing validation but were working last week.
Seems to work for me on canary 362011 (125f4be), thanks!!
9681969 update guide (missing objectName) to match exam... - colinloretz
1ea02ad forking document incident actions #6396 - joshuaperline
3a2b693 update should to will - joshuaperline
fe4cb37 fix formatting table oops - joshuaperline
270098a fix table again - joshuaperline
2e3cf2f forking document incident actions #6396 (#7360) - joshuaperline
closing in favor of https://github.com/discord/discord-api-docs/pull/7360 (with all comments applied)
@Rodaviva29 - I'm a little surprised this affects mobile too - some of the recent changes touch shared code, but I believe most of it was specific to web/desktop o.O
Either way, if it's still broken, please post an example command and i'll look into it
Discord's API is designed around predefined actions. Custom premoderation actions would break that pattern and might require a wholesale rearchitecture of API frontend and caches. GitHub, for example, has a GraphQL API, but it doesn't have a premoderation.
Discord's API is designed around predefined actions. Custom premoderation actions would break that pattern and might require a wholesale rearchitecture of API frontend and caches. GitHub, for example, has a GraphQL API, but it doesn't have a premoderation.
You're talking about API caching when we're talking about dynamic action. What's more, any new bot-related functionality intrinsically requires the addition of new routes or behaviors to the API, so your sentence doesn't really make se...
Discord's API is designed around predefined actions. Custom premoderation actions would break that pattern and might require a wholesale rearchitecture of API frontend and caches. GitHub, for example, has a GraphQL API, but it doesn't have a premoderation.
You're talking about API caching when we're talking about dynamic action. What's more, any new bot-related functionality intrinsically requires the addition of new routes or behaviors to the API, so your sentence doesn't really make se...
The previous link is no longer valid, and there is no replacement available on x.com. Therefore, I have updated the reference to point to the GitHub repository.
@Lulalaby sorry your original commits got clobbered here! Thanks for adding this. Not everyone is used to working in this repo.
All fine ๐
For some reason github suddenly changed my accounts setting to "do not allow edits by maintainers", guess that was the core problem here.
Description
Discord RPC (https://github.com/discord/discord-rpc) and I am pretty sure the Game SDK too seem to randomly not work anymore since last night. Users of my app have been reporting that the status is not appearing under certain conditions, logs show frequent errors with code 1000 and a message "Unknown Error" when attempting to set a status with certain parameters. It appears to sometimes work and sometimes not, see "Steps to Reproduce" for when it doesn't work in my case and w...
Add a new flag to messages indicating that the message is โminimizedโ (visible only to moderators)
By the way, this is also how Matrix implements premoderation (which can't stop events from being published with filter rules unlike Discord due to its decentralised nature): https://github.com/matrix-org/matrix-spec-proposals/pull/3531
I want to add to this, the wrapper I use, I can only get it to work if i DON'T include any assets. Even an empty assets body results in the unknown error 1000.
No asset body and it works
@MinnDevelopmen the conflict on this one is pretty gnarly since advaith split this into Message.md. If you want to move this over to Message.md, I'll get it merged ๐ฅ
759a304 Add note about vanity_url_code field (#7355) - advaith1
Description
New one-time purchase SKUs do not show up in the store until they get renamed
Steps to Reproduce
- create & publish a new one-time purchase SKU
- leave the price at the default value
- go to the
discord.com/discovery/applications/{appId}/store - the sku will be missing from the store page
- alter SKU's name
- reload the store page
- SKU appears
Expected Behavior
One-Time...
A fix for this has been deployed, everything should be working again now!
Description
According to the documentation, one time purchase entitlements should be included with the INTERACTION_CREATE payload.
We had at least 3 users report this issue in our lib's support server - real purchases of SKUs were missing from payloads, while the could be successfully fetched via a REST call; I managed to reproduce this by purchasing SKUs in app test mode.
This issue ...
Description
Developer team members can't manage app subscriptions, but can manage one-time purchase SKUs. Admin members can manage both.
This is either missing from the documentation or is a bug.
Steps to Reproduce
-
have a
Developerrole in a team -
Try to create a one-time purchase SKU (it Just Worksโข๏ธ)
-
try to create a subscruption => results in a 403 error
-
have an
Adminrole in the team -
you can create both types of SKUs
Expected Behavior
Developer can crea...
Description
I manage a large server with over 30,000 members, where voice activity is highly active. To meet the demand for various activities, we manually added 30 different activities to avoid relying on external applications USE_EXTERNAL_APPS.
However, this has led to three significant issues:
-
Manual Setup Challenges
Adding activity integrations manually (non-bot) is cumbersome and time-consuming. -
Integration Management Issues
- The "Integrations" panel in...
#7361 linked this to twitter/twemoji, but that repo is outdated and Discord now uses the maintained fork jdecked/twemoji.
Normal webhooks can now use link buttons in their messages if they use the ?with_components=true query param. To avoid a breaking change for requests containing invalid components for webhooks, the components field is still ignored for non-app-owned webhooks unless they set that query param.
Do they not use the even more specific: https://github.com/discord/twemoji ?
technically yeah, but that's an implementation detail and external users should use jdecked/twemoji which discord/twemoji is based on.
The Problem
With the current state of the Message object (received from all messages sent by users or bots), the interaction property has become deprecated and is slowly being replaced with [interaction_metadata](https://discord.com/developers/docs/resources/message#message-interaction-metadata-...
the command name is already included in the interaction_metadata field but it is intentionally not documented because it merges subcommand names together in a way that Discord does not want bots relying on.
options are not included in the message data because that would be too much data and would bloat the message payload.
the command name is already included in the interaction_metadata field but it is intentionally not documented because it merges subcommand names together in a way that Discord does not want bots relying on.
options are not included in the message data because that would be too much data and would bloat the message payload.
not fixed, my site working every where with all methods of embed and just discord show me this error with no reason
Description
Discord does not seem to fully implement the oEmbed spec, specifically section 4 specifies that providers may implement discovery via elements in the served html OR Link headers.
From what I can tell/what i tested Discord only accepts the former
Steps to Reproduce
- Implement some valid oEmbed setup on a pu...
@Rodaviva29 - I'm a little surprised this affects mobile too - some of the recent changes touch shared code, but I believe most of it was specific to web/desktop o.O
Either way, if it's still broken, please post an example command and i'll look into it
@Auralytical , nevermind, when all this happened I started the development build with a different MongoDB collection and forgot about that part. >.<, thank you so much for your help! Keep it up! It wor...
When will this feature be documented/implemented correctly? Has it been overlooked?
When will this feature be documented/implemented correctly? Has it been overlooked?
Description
Looking at the regular expression, an apostrophe is present. However, apostrophes do not pass the API validation. From checking the source code, that character is U+0027 : APOSTROPHE {single quote; APL quote}.
Steps to Reproduce
Run the following replacing application_id with an application id and `` with a token:
curl "https://discord.co...
Hello Discord API Team,
I have encountered an issue with how autocomplete functionality is handled in slash commands when required fields are left incomplete. The current behavior appears to validate the entire command, including required fields, before triggering the AutocompleteExecuted event. This validation results in an error and prevents the autocomplete handler from being called.
Steps to Reproduce:
- Create a slash command with the following structure:
- A required field (cur...
from the context it looks like the allowed character is
U+02BC สผ modifier letter apostrophe
maybe the docs pr added the wrong character?
the regex in the client also has not been updated so there are probably some ui issues with commnands containing this character (such as in command mentions)
Description
My website has no embeds. It's using open graph for embeds.
The embed debugger just returns an empty embed.
Example links:
https://www.fixfiction.net/story/565869/love-and-a-photo-copier
https://www.fixfiction.net/story/556929/leaning-on-love
https://www.fixfiction.net/story/547972/pink-mended-sparkles
I can curl it just fine, and opening the links in the browser forwards them fine.
I made this to try to fix fimfiction.net embeds on Discord.
Steps to Reproduce
Send t...
Can't wait for the day this Feature Request gets the attention it deservesโฆ!
While it would be a VERY nice feature to have in my opinion, I could see the possible phishing attacks done to users who didn't know any better. I mean, this could be negated like what they did for extended Markdown support (e.g. a warning popping up when clicking on [masked] links).
It appears you do not set the Content-Type header. Set it to text/html and try again. I copy pasted the html from your first link and served it myself with proper content-type and it works just fine
$ curl --head 'https://www.fixfiction.net/story/565869/love-and-a-photo-copier'
HTTP/2 404
server: nginx/1.18.0 (Ubuntu)
date: Tue, 28 Jan 2025 13:39:10 GMT
content-length: 0
vary: Origin, Access-Contr...
I'm having the same issue (JDA 5.2.2). Seeing as this can involve real purchases, and bots are required to use Discord's monetization API, I feel like this is a pretty significant bug.
Description
Choosing a category channel via slash commands channel option with the same name as a text/voice channel will input the text/voice channel.
This issue only happens when you don't restrict the channel type to GUILD_CATEGORY and only on mobile.
I'm unable to test on IOS.
Steps to Reproduce
Create a category channel (e.g testing)
Create a voice or text channel with the same name
Use the slash commands with a channel option without a type restriction
Select the "testing" ...
I hate to revive a dead conversation, but I must opposite this as an administrator for a guild.
I don't think we should elaborate too much on what these definitions are.
Just like having a Terms of Service, having transparency on what each level is, provides value as a consumer who wishes to remain complaint and avoid punishment (reduced visibility and access).
just future frustration when they inevitably do change.
Every document is bound to change as the systems it is docume...
Error is still exceptionally vaguely worded. Yet again had to traverse the interwebs to find the answer here how to create a private discord bot.
For future Google searches keyword: "Private application cannot have a default authorization link"
Plz do IT ๐๐๐๐๐
Not sure how this hasn't been solved yet.. this is extremely annoying
Update: I now have a better understanding of Discord API permissions and realize that the proper way to check permissions is to derive them from the Guild and Guild Member, following the example in the pseudocode: https://discord.com/developers/docs/topics/permissions#permission-overwrites
My application has the HTTP interaction endpoint enabled. Currently, only the Gateway can receive entitlement-related events: ENTITLEMENT_CREATE, ENTITLEMENT_UPDATE, and ENTITLEMENT_DELETE.
While workarounds exist for HTTP interaction endpoints, it would be highly beneficial to receive these events directly. Without this support, I'm forced to maintain one of th...
Description
Unpublishing an SKU (Switching Guild Subscription <> User Subscription) causes an infinite loading state of sku button components.
Affects desktop and web.
Making issue as per request of DV8.
Ref: #1336353036238323763 message
Steps to Reproduce
- have a user subscription
- send a button with the user subscription sku
- u publish the user subscription
- (optionally switch to a guild subscription)
- rel...
And i thought that i was getting crazy and that something was wrong on my end for the past few days. At this moment, we are facing the same issue that some thumbnails are just not showing. I'm using an RSS bot (monitorss), that fetches my news articles from WordPress whenever a new article is published.
After looking through all these wonderful comments, I can confirm that here, we are also facing the 0 width & height issue.
Description
Discord's OpenID implementation supports the userinfo endpoint ( https://discord.com/api/oauth2/userinfo ) but it isn't documented in the OpenID Discovery configuration (at https://discord.com/.well-known/openid-configuration )
Steps to Reproduce
Look at Discord's OpenID Discovery, there is no userinfo endpoint listed. However userinfo can be used just fine with OIDC.
Expected Behavior
OpenID Discovery should advertise userinfo at the URL of `https://discord.co...
the oEmbed spec - specifically section 2.3.4 - allows for additional fields, not defined in the spec itself:
Providers may optionally include any parameters not specified in this document (so long as they use the same key-value format) and consumers may choose to ignore these.
it would be nice if Discord supported some additional fields, like for example description or color to extend the usefulness of oEmbed to fields that discord already supports for ope...
Hi @DV8FromTheWorld!
We have reason to believe the fix for this caused a regression in forum threads being created via webhooks.
After roughly a year of stability, we began experiencing this issue right around the time the fix was deployed, with nothing changing on our end.
A similar issue can be found here: #6839
Pretty much on a daily basis over the last two weeks, and not ...
We had to resort to disabling user pings on webhook-driven forum posts.
d287c35 Update Implementing_IAP_for_Activities.mdx - shaydewael
Ao Vocรชs Responder nรฃo Responde. Apenas Guarda ah Resposta pra Si Mesmo Isso Evita que: Haja Possรญvel Problemas Geral... [ รssa รฉ ah "Grasa da Coiza,, ]
Como Aperfeisoar oh Servidor no Discord e, Outras Configurasรฃo em Geral? ( รssa รฉ uma Pergunta prรก Todos que: Utilizรฃo oh DC na Website Oficial e, Aplicativos Em Termos Mobile ou Seja, em Seus Smartphone e Outros Aparelhos
Ao Vocรชs Responder nรฃo Responde. Apenas Guarda ah Resposta pra Si Mesmo Isso Evita que: Haja Possรญvel Problemas Geral... [ รssa รฉ ah "Grasa da Coiza,, ]
Como Aperfeisoar oh Servidor no Discord e, Outras Configurasรฃo em Geral? ( รssa รฉ uma Pergunta prรก Todos que: Utilizรฃo oh DC na Website Oficial e, Aplicativos Em Termos Mobile ou Seja, em Seus Smartphone e Outros Aparelhos
Description
Activities of type other than Custom don't get set for bots.
Steps to Reproduce
- send a
Presence Updateover the websocket with an activity of typeCustom- example paylod:
{"op":3,"d":{"status":"online","since":null,"afk":false,"activities":[{"name":"Custom Status","type":4,"state":"Custom wires"}]}}
- it works & shows up on the profile
-
- send a
Presence Updatewith typePlaying
- example payload:
- send a
{"op":3,"d":{"status":"on...
Hi! I just wanted to mention that I am also having this issue, apparently after the fix was rolled out.
A webhook is attached to a specific channel. Surely the channel association alone would be enough to say "this webhook can reply to messages in this channel"? If that's not enough, what about the (bot) user that created the webhook?
In our particular use case, we use a bot user for reading messages, but a webhook for sending messages. So we would always be able to get message IDs of non-webhook-sent messages. It's just that the webhook specifically allows for added flexibility in...
This is now possible with ?with_components=true! #7368
I desperately need this feature i dont wanna just copy message links and Waste my time
This is now possible with ?with_components=true! #7368
(also, this is a duplicate of #3887)
Has there been any progress on implementing this permanently?
Per earlier conversation in this, source_invite_code appears to have been temporarily added and subsequently removed.
Description
When a user tries to add published skus to the storefront under https://discord.com/developers/applications/:application_id/storefront/, the api returns an exception which shouldn't be happen
Steps to Reproduce
- Have (published) skus at
https://discord.com/developers/applications/:application_id/skus/(Preferable 1guild subscription, onedurable)
- Head over to `https://d...
They didnโt want to document the endpoint that returned this data. See https://github.com/discord/discord-api-docs/pull/7068
Javacord has officially has ceased development and we do no longer recommend new users to use it.
This PR documents the name and command_type keys that are sent on the interaction_metadata object of a Message. Not sure why these weren't documented as the PR that added the object (#6723) did not have any discussion on it, but these are essential for the client to display the message accurately and they were present in the, now deprecated, interaction object, so I believe they are meant to stay, but would love to know why if otherwise.
Apparently this has been discussed before in #6734 so I'll be closing the PR. Hadn't seen that before opening this
Removed name, reopening to get feedback on command_type
this is absolutely unacceptable lol
Same here, neither v9 nor v10 gives us any information about entitlements
I'm currently having the same issue..
the default upload limit has been reduced to 10mb a while ago
Hello to you discord staff !
I am writing this message to you to report a significant discord bug....
I'm not going to procrastinate.
When a discord update takes place, the "Enable Reduced Motion" option is activated (where? Settings > Accessibility > Enable Reduced Motion)
How is this disturbing?
To begin with, when we want to view a profile effect or an avatar decoration we do not see it animate.
Additionally, I no longer see gifs and images load slowly.
Finally, in the long run, it b...
Description
I recieve messages for other events from GitHub, such as commits, issues, etc, so I'm certain the webhook is working properly. GitHub says that it's recieving back an HTTP 204 response from Discord.
Steps to Reproduce
- Connect a GitHub webhook to a Discord channel
- Test it with known working events (e.g. commit)
- Try adding, editying, etc any Project in GitHub.
- No message appears.
Expected Behavior
Getting a message about the projects update.
Current Be...
This is working as intended because an empty string is not valid for that kind of parameter, which is technically the current value. We can make some smarter improvements to this in the future and I'll track this on our internal board.
So specifying "required": false does not refer to the parameters's value but the field itself?
Hey there! The issue you described isn't related to the Discord API, though, so I'll be closing this issue. This repo is only for reporting issues related to the Discord API. If you're still encountering the issue you described, I recommend submitting a bug report via the Discord bug reporter (https://support.discord.com/hc/en-us/articles/1500006052822-How-to-Report-a-Bug).
I believe this is not noted anywhere.
In response to #1338540867467612253 message
Like a customizable web hook message that will be sent when your bot gets rate limited. It will say for how long and you can customize if it pings you or not.
Like a customizable web hook message that will be sent when your bot gets rate limited. It will say for how long and you can customize if it pings you or not.
I think thatโs called rate-limit headers man ๐ญ
Yeah but The point is if you have this feature ping you, then you'll get a notification instead of having to check The servers that your bot is on every so often.
Discord gives you all sorts of info about your limits in the response to most requests. You can use this info to create these notifications yourself. See the Rate Limit Docs for more info
Rate limits are usually per "bucket" (groups of routes), and it is possible to be limited in only one bucket while not being limited in other buckets. For example, your bot might be rate limited in a specific channel due to users there spamming com...
yeah but if I am rate limited I can't access the discord api to send the webhook. Literally all my bot does is use application commands then create and update/edit the embed, I only have 3 tasks happening, the commands, the roblox api checks, and the embed editing, the limit if 5 edits per 5 seconds i thought yet even if I do this proccess every 7 minutes I still get globally rate limited within 15 minutes (I am the only one using the bot and it is only handling 2 embeds)
That isnโt stopping you from sending a notification your way by any other means though. Asking discord to do more work for you on their servers because you yourself caused their servers so much work that they had to ratelimit you is probably not going to happen.
I am working on a Discord bot for Hades' Star, a popular online space strategy game. In the upcoming Hades' Star 2025.1 update, server admins will be able to configure Discord webhooks that deliver game event data solely via attached data.json files. These webhook messages consist only of the attachment. Once the update is released, my bot will rely on these attachments to process time-sensitive in-game events.
The problem is that bots must enable the MESSAGE_CONTENT intent to download the...
4a4099c :s/referer/referrer/g - afgiel
Hi, I just completed the tutorial and also ran into some issues. I didn't see all the ones mentioned in the original issue description. Still, I wanted to confirm that without any return in the if ( type === InteractionType.MESSAGE_COMPONENT ) { block, the code falls through to unknown interaction type, and the command fails.
Also, ngrok has changed how you download their app, so the link in the tutorial goes to a 404. The new download URL is https://download.ngrok.com/. Even their 4...
Coming from https://github.com/dblock/discord-strava.
My users install a bot via OAuth2 flow. I obtain a Bearer token that I never need to use because the bot auth now allows me to post to the guild that has just installed the bot with Authorization: Bot discord-secret-token.
- I cannot seem to find a way a way to find out the user ID that completed the OAuth workflow, it doesn't seem possible.
- The obtained bearer token doesn't seem to be useful with any API and everything I trie...
A call to oauth2/token with grant_type: refresh_token will invalidate the previous refresh token. If the newly obtained token cannot be saved (say because of an intermittent infrastructure problem) there's no longer a way to obtain a refreshed Bearer token for the caller. The only way is to re-authorize that involves the user.
It should be possible to obtain a new refresh token with any (or at least some) prior valid refresh tokens.
Since you got a bearer token from your OAuth2 flow you can use that on the route https://discord.com/developers/docs/resources/user#get-current-user to get data about the user.
/api/users/@me returns a 401 on this token, this is a bot token
You said you get a bearer token. I said to use that. Not the bot token. What scopes do you ask for that you have oauth2 flow at all? Since bot and applications.commands scope donโt need the flow.
This was likely a misunderstanding on my part.
I use the oauth flow as a trigger to create a guild record in my database, but was only asking for bot scope and was unnecessarily saving the bearer token.
I've tried adding the identify scope now, which lets me also fetch the user that installed the bot which is what I am after. We can close this unless I'm missing something? Thanks for your help!
This was likely a misunderstanding on my part.
I use the oauth flow as a trigger to create a guild record in my database, but was only asking for bot scope and was unnecessarily saving the bearer token.
I've tried adding the identify scope now, which lets me also fetch the user that installed the bot via users/@me with the bearer token, which is what I am after. We can close this unless I'm missing something? Thanks for your help!
I observed https://github.com/discord/discord-api-docs/discussions/7390 which led me here. Is it possible that you have a concurrency problem where under heavy load or 2 concurrent refreshes the resulting token is not committed properly? A previous access token thus becomes invalid.
@reverentgeek thanks for the report, I have a PR to add the return to the tutorial. it fixed in the example code but it didn't sync with the tutorial. Apologies for the extra hurdle. The other items were also fixed so I'll close this out once its merged.
The ngrok download URL is working for me but I'll take another look at that
You can close/delete this post. It was a bug that has been fixed by Discord.
You can close/delete this post. It was a bug that has been fixed by Discord.
Description
Reading through the documentation associated with intents there is zero mention of the GUILDS intent being a requirement to use DIRECT_MESSAGE_REACTIONS
Steps to Reproduce
Create a tiny repro with these code. Without the GatewayIntentBits.Guilds intent, your handler will never fire
import { Client, Events, GatewayIntentBits, Partials } from "discord.js";
import { ENV } from "./env...
You specified GuildMessageReactions in your code.
const { success } = await discordSdk.commands.shareLink({
I propose to make an opportunity where people can insert their music into their account (the opportunity can be called by a beautiful name, for example: musical mood or something else), other users can listen to an excerpt or an entire song, and understand the โMusical Moodโ of another person, or simply understand what kind of music this or that person likes
General client suggestions officially should be posted on https://dis.gd/feedback
This repro is for API & App/Bot-related stuff only.
[discord/discord-api-docs] New comment on issue #6185: Masked Links not respecting escaped asterisks
How is escaping symbols in masked links a security issue? I am writing a Discord bot where I would like to escape user text as part of a masked link, so being able to properly escape symbols is important for my bot's security.
Description
When sending a OPEN_OVERLAY_VOICE_SETTINGS command to the IPC, the client is supposed to return an error or null no matter what the client does, this is not what's happening in this case
Steps to Reproduce
- Connect to the GameSDK via IPC
- Send a command to open the voice setting overlay
- Click outside of the overlay box (do not press X)
- Client receives no response for the command
Expected Behavior
The client should receive the command error response as ...
Description
https://discord.com/api/v10/users/ returns inaccurate rate limit headers.
The response returns a rate limit bucket with a 2000 request limit, then swaps to the rate limit bucket with an accurate rate limit of 30 requests per period.
You can prove that this second rate limit bucket is the accurate rate limit for this request (i.e. Get User) because there are tests โ which have handled this limit for multiple years correctly โ which queue over 30 Get User requests to te...
Pronouns should be viewable by applications since it might help with specific applications that reference to the users, and it would be easier to use the users pronouns in their bio instead of using they/them by default of requiring the user to change their settings for that specific bot.
I'm agreeing with other people when it comes to not allowing bios to be viewed by bots since it 100% could be used for malicious purposes, but that also goes with bots in general if they can view messag...
Automod has access to it, so just setup automod rules to action upon that. But external apps like a bot should indeed not have access to privacy relevant information like that. Because it can (and will) be used to discriminate upon that information or worse.
I would agree with you all if pronouns were a set selection of pronouns. But I can enter things like -Admin- or Moderator or go to this website.... as my pronouns, which make this a field that can be abused.
Automod has access to it, so just setup automod rules to action upon that.
It does?
I was under the impression that the one sole "Profile" Rule for AutoMod only checks the username/display-name/nickname fields? ๐ค
Description
Using the Get Invite endpoint will always return the expires_at, contrary to the with_expiration query string and documentation.
Steps to Reproduce
curl "https://discord.com/api/v10/invites/m4q4GGss?with_expiration=0"within the next 7 days.- Check the
expires_atfield.
Expected Behavior
The expires_at field is null or missing.
Current Behavior
The expires_at field is always returned.
Screenshots/Videos
No response
Client and Sy...
Description
New applications have both User Install and Guild Install Installation Contexts enabled. Creating a command without defining contexts or integration_types should reflect this per the documentation, but doesn't and requires toggling an Installation Context and saving to fix integration_types for new commands (but not contexts, causing it to only be used in guilds and not DMs when in user context) and manually updating both fields for existing commands.
Steps t...
Automod has access to it, so just setup automod rules to action upon that...
@Qjuh I would expect automod to have access to profile/pronoun data, but I'm talking about bots that aren't made by discord. Bots thare aren't made by discord should have the ability to at least request the user to have access to their pronouns field.
Iโm sorry, I didnโt mean to send my initial statement as reply to you but as general statement or response to OP or the person before you.
For your use case it might indeed be an option to propose receiving the pronoun field in interaction payloads, similar to what happens with locale already.
Description
Sending any payload with CLOSE opcode via IPC causes Discord to send the following payload.
{
"code": 1003,
"message": "The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined"
}
Digging up IPC related code in devtools reveals that the exception occurs here
The end function expects a buf...
Large Bots, such as my own (Birthday Bot) often have to give or take a role the same role from a list of users quite often. Typically, this can be handled fine by the existing endpoints, however, as I've noticed with one of my servers (PewDiePie's server with 191k members), at 12am, my bot needs to give the "birthday role" from, on average 38 users, and take the role from another 38 whose birthday was yesterday. This can cause rate limits, and even when handled properly, cause the bot to take...
Damn, is there any plan to open it up to bots? Or is it possible to open it up to large or specific bots that require it? Similar to privileged intents?
Damn, is there any plan to open it up to bots? Or is it possible to open it up to large or specific bots that require it? Similar to privileged intents?
I can understand discord wanting to keep that endpoint locked down, but I agree with @scottbucher that specific bots have legit use cases to apply roles in bulk, I could see this being something that bots can apply for
Damn, is there any plan to open it up to bots? Or is it possible to open it up to large or specific bots that require it? Similar to privileged intents?
Dunno. If they did ever make it useable, I doubt it would be locked behind an intent. The endpoint is already limited to adding 30 members atm
Description
So i try to read another servers message history use with Discord API.
this is the API url : https://discord.com/api/v10/channels/{Channel ID}/messages
Steps to Reproduce
I try like this steps :
First of all i Reset the Bot Token and check all the Permissions.
And move to the OAuth2
And set Redirects Url like this : https://discord.com/channels/679875946597056683/679877028991860876
And set the OAuth2 URL Generator "bot"
And set the Bot Permissions is "Read Message...
maby i'm foolish but was this ever added? can't really find anything on this
Bumping this discussion to make the developers aware.
bd71ceb :%s/DiscordRPC/discordSdk/g - afgiel
This error is returned when the user does not have access to the channel. Ensure that your bot has the proper permissions (specifically that there are no overrides preventing access).
09b5928 add missing return, indent componentId - colinloretz
b153780 Update Implementing_IAP_for_Activities.mdx (#7379) - shaydewael
a7ab6cb add missing return, indent componentId (#7400) - colinloretz
Proposal
Add a new timestamp format For n time that would act similar to the format R (relative time).
Relative time (already existing in Discord):
2 months ago15 days ago48 seconds agoin 2 hours
Proposed format:
For 2 monthsFor 15 daysFor 48 secondsin 2 hours(probably stays the same idk)
Basically instead of present->point, it's point->present.
Why?
It would look nice and probably make more sense in English in the...
๐, I'm developing a Discord app where certain interactive buttons/reactions are used to trigger messages OR an ephemeral msg. Ideally, Iโd like to attach a button/reaction to a public message that is only visible to users with a specific role (e.g., โXYZ Roleโ) so that the UI remains clean and professional for users who donโt need or shouldnโt see that button.
Currently, all message components (such as buttons & reactions) are visible to everyone who can view the message. I understand ephe...
Any update on this? I think this would be really beneficial.
Not part of your change, but should Sticker be a link to another part of the docs?
That's interesting - what happened to make mention_channels no longer optional in this context? It looks like it's optional on the Message resource
This seems inconsistent with the rest of the PR, where you've explicitly called out | null for optional properties.
i mean, no? optional adds ? and nullable adds | null, note if you infer the type that is what you get
maybe message resource is wrong too? I directly checked the code
if this is an api message object, stickers is deprecated and only present on old messages, and new messages use the sticker_items field
it is yeah, i think the maintainers of the SDK forgot to add sticker_items since it is not present
Hey folks!
Instead of fixing the existing endpoint. We're wondering if you folks can move over to the newly exposed thread search API. I'll add documentation in the API docs later for it, but for now you can reference the OpenAPI spec for the concrete specification. https://github.com/discord/discord-api-spec/commit/d9fb23dc284c368782384301429569970a4f87e0
The motivation is that our client code has been migrated to use the thread search API for a while now, and we feel that it is best both ...
Yeah to add on to what Jerry said, it's honestly just a strictly better and simpler api to use. One api to get all the threads regardless of type. Will be a heck of a lot simpler
Hey folks!
Instead of fixing the existing endpoint. We're wondering if you folks can move over to the newly exposed thread search API. I'll add documentation in the API docs later for it, but for now you can reference the OpenAPI spec for the concrete specification. discord/discord-api-spec@d9fb23d
The motivation is that our client code has been migrated to use the thread search API for ...
Please npm run fix:tables to pass our formatting check. ๐
looks like when the thread search message is used on a forum channel, the response has a first_messages field but it isn't included in the spec?
I want to confirm this, running into exactly the same issue (except that it's in JS).
Original Post on Discord:
I am writing a discord API library and currently reworking my rate-limit setup. For testing, I ran ```js
while (true) {
await bot.request();
}
For some reason, the reported rate-limit buckets are wrong. I print the current bucket for each request and how many more requests are remaining in there.
If I get rate-limited, then I print some more information.
Weird things:
1. T...
I have a iPhone SE (1st gen) and it runs iOS 15.8.2 (I havenโt upgrade it to 15.8.3 yet). Same issue when I try to link my discord account to some games like florr.io and Hornex.pro (try it. Theyโre pretty good games. But when u try to sign in using discord uโll think discord sucks.)
565efb3 Update outdated or inaccurate interfaces in the... - FsFsmk
+1 to this, It's still relevant and would make discord bots far more powerful
Description
I have seen many servers on Discord that have more than 50 bots, reaching up to 190 bots, even though some of these servers are new. I donโt know what mechanism allows adding more than 50 bots.
Steps to Reproduce
This is not a bug report, but rather a question regarding Discord's bot limit per server.
I have seen servers with more than 50 bots (up to 190), and I would like to ...
The limit is 50 integrations per server but it wasnโt applied retroactively when they added it, so servers that had more than 50 bots prior to the limit kept them
This just fixes some minor inaccuracies.
- the command
CLOSE_ACTIVITY_REQUESTis invalid, the actual command isCLOSE_ACTIVITY_JOIN_REQUEST - the
VOICE_CONNECTION_STATUSevent's dispatched field,pings, isn't an array of integers but rather an array of objects, as well as it sends the total accumulated pings rather than just the last 20.
Update threads documentation to specify that thread authors can also lock their own threads, addresses ambiguity which spawned https://app.asana.com/0/1197438383943832/1209460718965773
Bumping this suggestion, it would be nice to have that current App button in image-based Attachments expanded as a full App Command type, instead of just some hand-picked questionable Apps having access to it. :)
This doesn't appear to be true? Users without manage threads seem to be able to lock their own threads, but can't unarchive them afterwards when locked as the docs change suggests
Description
Create message endpoint fails with cloudflare's status code 520 when:
- only files are supplied
- the bigger the file size the more often it will fail
- auth token provided is invalid
Steps to Reproduce
import httpx
size_mb = 7
size = size_mb * 1024 * 1024 # Convert MB to bytes
data = b'ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890'
with open("random_file.txt", 'wb+') as file:
while size > 0:
chunk_size = min(1024 * 1024, size)
file.write(data ...
Description
In various different channels across different servers, channel history is missing.
Steps to Reproduce
Scroll up far enough or go to a pinned message, and messages will suddenly cut off.
Expected Behavior
Messages showing...? Don't know a better way to phrase it.
Current Behavior
Messages before various dates do not show.
Screenshots/Videos
These are channels that have had tons and tons of messages before the shown date in the middle.
, but can be submitted empty. The advantage to this is that the text input would automatically be in the field when the command is entered, rather than the user having to manually select the option before beginning to input a value.
I would also expect that an empty string option like this would be presented in the interaction response object as a valu...
This would allow applications to use emojis from any application, or any server without being that application or being in the specific server the emoji is from.
Use-Case:
- For bots who use a large amount of emojis, continuously having to add all development instances and production bot to each server to use the emote can be bothersome.
- For developers that use application emojis, it's annoying to have to fetch 2 different emoji lists (or more depending on if there are multiple devel...
gateway events are documented on their page: https://discord.com/developers/docs/events/gateway-events
The character limit was increased but the Desktop UI has not been adjusted for the dropdown menu. As seen here: https://github.com/discord/discord-api-docs/discussions/3409#discussioncomment-3564817
Please either increase the width of the menu, word wrap it or allow hovering over the option to view it in full.
This remains an issue over a month later, without any acknowledgement from Discord.
The same problem occurs with short text input placeholders. Only the first ~60 characters are visible.
This PR refines the Overview of Discord Apps documentation by enhancing formatting, clarity, and consistency throughout the content. The updates include corrected YAML front matter, standardized headings, and improved sentence structure for a smoother reading experience.
Hacktoberfest isn't for another few months
was AI used to make this? reads like chatGPT...
Greetings, and thanks for the PR! This generally falls under the category of our "unwanted changes" - https://github.com/discord/discord-api-docs/blob/main/CONTRIBUTING.md#unwanted-changes
Update formatting of LICENSE such that GitHub no
longer sees the CC-BY-SA licence as "Unknown".
LICENSE-CODE is also updated for consistently
between the two files.
Credits:
- https://github.com/santisoler/cc-licenses for example of how to apply
This was a bit of a sneak in. Let me know if you would like me to undo it.
it somehow still doesn't work for me
Description
Hello,
I'm encountering several technical issues with my Discord bot, Angel-CashBag-AI, specifically related to slash commands, API responses, and presence tracking. Here are the key concerns:
=== 1๏ธโฃ Slash Command & Chat Response Issues ===
The bot frequently gets stuck on "thinking...", and responses never send.
Instead of completing the command, I get "The application did not respond."
This issue occurs with slash commands and sometimes with normal text commands.
=== 2๏ธ...
[discord/discord-api-docs] New comment on issue #7418: === Slash Commands & Chat Response Issues ===
Please open individual issues for any situations you've found where the API is broken or incorrectly documented, including real code snippets and logs that demonstrate the error. We cannot provide general support here, and as far as I can tell from your description, the API is working as intended. Please familiarize yourself with https://discord.com/developers/docs/events/gateway-events, https://discord.com/developers/docs/events/gateway, and https://discord.com/developers/docs/interactions...
why was this closed if its still not working, is the only way to get access to this to contact discord ?
lmao the best solution was to close this?
Humor me: is it because the channel is used as a task? I had an issue with this previously and the fix was to adjust the tasks to point to a differing channel than the one I wanted to change.
const keyName = `DOCS${name.replaceAll(/[/-]/g ,"_").toUpperCase()}`;
Description
Based on the examples given below the Allowed Mentions structure, it appears all fields are optional, though I don't see any mention of this in the definition or around it (as some do with an alert saying "all fields are optional", notably in endpoint documentation). If this is correct, the table should be updated with question marks on the fields to indicate optionalit...
Marks fields in the allowed mentions structure optional, as they are represented in the examples given below. RE: #7420
113b7e6 Make allowed mentions fields optional (#7421) - leydel
This repository is for tracking API issues.
See https://support.discord.com/hc/en-us for account support.
\* If you create a callback with the [type](#DOCS_INTERACTIONS_RECEIVING_AND_RESPONDING/interaction-response-object-interaction-callback-type) `DEFERRED_CHANNEL_MESSAGE_WITH_SOURCE` the only valid [message flag](#DOCS_RESOURCES_MESSAGE/message-object-message-flags) you may use is `EPHEMERAL`.
daf9974 note that deferred callback can only have ephem... - Lulalaby
01a3d4b [embedded-app-sdk] share link is supported on i... - afgiel
01f8df0 [embedded-app-sdk] share link is supported on i... - afgiel
Description
The issue described in issue #7296 is still present. Some channels are still considered onboarding channels, preventing the removal of the "view channel" permission for the @everyone role. The response is:
{"message": "Onboarding channels must be readable by everyone", "code": 350003}
### Steps to Reproduce
Turned off Onboarding and issue happened
### Expected Behavior
The channel should become hidden f...
It looks like this query param was removed quite a while ago, but never removed from the docs. Is there a use case for this param being false that you have that we should discuss, or do we just need to update the docs to reflect the current state of things?
Just updating the docs would be fine, probably leaving a note about the removal.
The other issue is still open. Please do not open duplicate issues.
We have tracking for the other issue internally
5a23e40 remove query param that no longer exists - Rodentman87
Fixes #7395, query param was removed a while ago but the docs were never updated.
Shouldn't the description for expires_at be updated here as well? https://discord.com/developers/docs/resources/invite#invite-object-invite-structure
I would like a dashboard that shows all the servers my bot is in.
Features:
- List of servers where my bot is present.
- Ability to blacklist/remove the bot from certain servers.
- Option to prevent the bot from joining blacklisted servers.
This would improve bot management and security.
Of course, only the owner of the BOT could do that.
This is all logic for you to implement, its already possible with the api as is
But it would be easier than programming it :D
But it would be easier than programming it :D
This is fixed now, thanks for the report. This actually exposed a pretty nasty bug where not specifying integration_types for existing commands would get overridden to guild-only, which has also been fixed.
4 years later! Man time flies. Before the world had ever heard of Covid-19, I was told Discord would be working on this โlater this yearโ. Since then we had an entire US presidency, a global pandemic, I proposed to my partner, and now weโre planning a wedding. And despite all of this, sadly there has been no progress.
As fun as it is to get led on, itโs been 7 years now. Can we either implement this feature (that was going to be worked on 6 years ago), or admit that this wonโt be happenin...
there is an audit log event now (requires having audit log perms) you can use as alternative now: https://discord.com/developers/docs/events/gateway-events#guild-audit-log-entry-create
Iโm aware, itโs been like that for a while. But thatโs not what I was told would be coming
there is an audit log event now (requires having audit log perms) you can use as alternative now: https://discord.com/developers/docs/events/gateway-events#guild-audit-log-entry-create
Description
I have a bunch of slash commands for a big-ish server. I really really need them to sync, but they will not.
Steps to Reproduce
In this code (pretend its indented):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
1...
pastecord stored it and added all those numbers smh
b13b4b3 Introducing the Discord Social SDK - colinloretz
New developer SDK, inbound!
Developers can now use the Discord Social SDK to build social features into games, enabling friend lists, cross-platform messaging, voice and more for all players โ with or without a Discord account.
This PR includes:
- Overview
- Core Concepts
- **[Getting Started Gui...
f3e53ac Introducing the Discord Social SDK (#7427) - colinloretz
No more headache when working with tables
Note: This is needed so the CI doesn't fail (since dev dep) ref: https://typicode.github.io/husky/how-to.html#ci-server-and-docker
Note: This adds changed files (by fix:tables) to the current commit
Furthermore, we might not need to run test:build, since it would be called on every commit
d9fd012 Added missing UFL design guideline - colinloretz
Adds "Scaling to Multiple Platforms" to Unified Friend List dg
Description
Things like the new json error codes not being in the existing list and missing external auth types mentions in oauth. This may be intentional, though it does seem odd that they would be intentional separated like that, especially given lobbies were added as a new resource in the regular api docs. May b...
Thanks @leydel! We will be updating the docs once the Open API Spec is updated.
Description
The Managing Game Invites page has cards at the bottom which bring you to other pages, the one intended to bring you to the Sending Direct Messages page is incorrect and is just the Managing Game Invites pages' URL.
Steps to Reproduce
Visit https://discord.com/developers/do...
Thanks for the report, but please submit a minimal reproduction sample that does not include 3rd party libraries.
@DV8FromTheWorld Hope to see any updates on this. Same issue for several months now.
This documentation is slightly confusing and this doesn't apply here, we're installing all deps. I would also highly suggest is-ci || husky rather than this since it will automatically skip in all ci runs (can remove the env settings)
Never remove runs from ci that are in precommit, precommit is not gauranteed in any way (if you don't run npm install for example)
yeah i meant rather removing it from the precommit than from the ci
Thanks! We are talking about https://www.npmjs.com/package/is-ci right?
Description
Seems if you are moved the native discord overlay will break
Steps to Reproduce
- Go to channel
- Have Discord overlay on
- Get moved by admin to other channel
- Overlay breaks
Expected Behavior
Moving should allow the channel list users to not be borked
Current Behavior
Discord overlay breaks ๐ญ
Screenshots/Videos
https://github.com/overlayeddev/overlayed/issues/232#issuecomment-2645791245
Client and System Information
All platforms i tested, mac...
I checked with our team about this and this is the older version of the overlay so marking this as wontfix.
oh!
i assumed it is because of i.e. npx markdown-table-formatter
so just is-ci || husky?
Description
I'm using the Discord Webhook API to post messages into a channel on my server. The message includes an image and the request succeeds, however, the image is not displayed in the channel.
Steps to Reproduce
$ curl -F 'payload_json={"content":"Test post 9 with webhook","attachments":[{"id":0,"description":"My logo","filename":"logo.png"}],"embeds":[{"description":"My logo","image":{"url":"attachment://logo.png"}}]}' -F "files[0]=@logo.png" https://discord.com/ap...
Since it doesnโt show the embed at all in there it looks like your webhook simply might not have permissions to EmbedLinks in that channel.
How can I change that permission? It doesn't appear I can do so in the Permissions tab. The general permissions for the channel allows embed links and file attachments.
its discord.py, the whole problem is on the discord apis part. that is legit the only external library. how are you supposed to reproduce it without that library?
discord.py is a third-party API wrapper around the discord API, you can make calls to the Discord REST api with any http-client of your choice.
You can find documentation about the routes regarding slash command updating here: https://discord.com/developers/docs/interactions/application-commands#bulk-overwrite-global-application-commands
If you aren't sure how to operate that, perhaps a solution can be found by asking the developers or helpers of your api wrapper (discord.py) about this iss...
await tree.sync()
You are registering globally while all your commands are guild-specific. You have to register guild-specifically as well with the corresponding guild object for them to be registered, i.e passing a guild object to async CommandTree.sync(guild = ...)
Since you're using webhooks, the issue can't be permissions - maybe you have embeds hidden in the app? In chat settings, make sure "embeds and link previews" is turned on.
I think it would be amazing if the documentation would include visual examples of how the code may appear when rendered. Here is an example of a visual example that I created for myself as a reference.
Description
When attempting to authorize a service over an OAuth2 URL (https://discord.com/oauth2/authorize), error 50035 is raised if the user's last opened guild on their client had a non-integer ID. To my knowledge, the only "guild" that meets such a condition is the Favorites guild (maybe the DM @me page would count but that doesn't cause the issue, in which case the fix for this should be rather straightforward).
- The Favorites guild is a long unreleased feature and users sho...
This is not an issue related to the Discord API. Please report client bugs at https://dis.gd/bugreport, although in this case please don't report bugs for unreleased features.
Ah, that was it! I don't know how that ended up getting switched. Thank you. :pray:
Description
When using bulk_ban from d.py, when the bot attempts to ban just itself, no error is raised. Normally, it should raise a discord.HTTPException error but it did not.
Banning the bot itself with other users does raise the error, only when the bot attempts to ban just itself, no error is raised.
Steps to Reproduce
- Use
bulk_banto ban the bot itself - Ensure that you only try to ban the bot, no other users
@bot.command()
async def bulkban(ctx, *users:discord.U...
This is an issue you should report to the library you are using
No, this is API behavior that is inconsistent with the documentation so either should be change or result in a docs change.
ref states:
If none of the users could be banned, an error response code 500000: Failed to ban users is returned instead.
This is not the case, using the REST api directly.
With 840710376831057920 being the app's ID:
A request to POST /guilds/:id/bulk-ban with the body
45f90da Managed incentivized links - goatslacker
Incoming screenshots of the dev portal and feature.
<img width="1405" alt="Screenshot 2025-03-25 at 8 37 46โฏPM" src="https://github.com/user-attachments/assets/2927cea1-7632-4fbe-a91f-6adbf72e7b50" />
<img width="1401" alt="Screenshot 2025-03-25 at 8 37 40โฏPM" src="https://github.com/user-attachments/assets/74a35a72-1926-4aa2-a818-174052851af6" />
<img width="1440" alt="Screenshot 2025-03-25 at 8 48 21โฏPM" src="https://github.com/user-attachments/assets/57f6ca49-a97b-4aff-a88f-e6d15449ba20" />
So Discord have updated their UI now and this still has not been addressed....
yeah iโd stop expecting a fix for this if i were you
f90fb59 change file naming strategy (#7415) - JustinBeckwith
to every other PR I am sorry
Do you have any reason? Or are you just being a pessimist?
Hey again Grady! Yeah - due to a layered security approach, we've intentionally prevented CF workers from connecting to our Gateway sockets. I'll try to see if we can update our documentation to include this information. Thank you for taking the time to report this issue, and sorry for the inconvenience around this!
@lmle Is there any more info / articles about why this decision was made? It's a real shame not being able to connect to the gateway api from workers with durable objects...
5. All other fields are optional but you are able to customize the primary button's label as well as a custom_id to the link. An explicit `custom_id` query parameter on the link itself will always override the set custom_id.
Additional info for other people finding this issue:
The egress IP for cloudflare workers is rejected by Discord's Gateway API automatically. You could try proxying all of your worker's outgoing requests with a custom fetch function, but this will introduce unnecessary complexity and latency.
Cloudflare has a first-party product that does exactly this- changing egress IPs- however this is an Enterprise only product: Aegis.
I haven't given up on this just yet but the outlook is bleak.
This is very disappointing on Discord's part because the workers platform, from my experience, has been incredibly stable, modern, and overall just a pleasure to work in. Discord is hampering innovation with this.
There are several enums across the spec which are missing values, this either results in the specification falsely allowing any integer values, or an enum with no valid value. In the case of me trying to use code generation, it resulted in an invalid Python Literal.
- ApplicationCommandHandler
- EntitlementOwnerTypes
- NameplatePalette
- PollLayoutTypes
- ThreadSearchTagSetting
Of course I can special-case this to automatically use the default, but this would be incorrect behaviour.
981e885 [Activities] Ammend guide to clarify referrer_i... - goatslacker
- Clarifies that referrer_id won't be available on
shareLink - Set expectations on what the
referrer_idtype should be within activities - Some ideas on how to use
custom_idand incentivized links
End of March 2025. We really need this feature.
actually march doesnโt end for another 3 days, thereโs still hope!
This remains an issue over a month later, without any acknowledgement from Discord.
I have just tested this again, and it remains an issue two months later. This is an inconsistent behavior for a feature that involves real purchases.
Currently, Discord provides a way to access user avatars using the following URL structure:
https://cdn.discordapp.com/avatars//.
While this method works, it requires obtaining the avatar hash beforehand, adding an extra step when all that is needed is the most up-to-date avatar for a user.
Proposed Solution
Introduce an alternative URL format that allows retrieving the latest avatar without requiring the hash:
https://cdn.discordapp.com/avatars/.
This...
Description
There appear to be memory leaks in the Discord API when the various functions are called to assign callbacks.
I specifically investigated Client::AddLogCallback() but assume other similar functions like Client::SetStatusChangedCallback() also have the same problem.
In Client::AddLogCallback(), it allocates a struct for user data:
auto callback__userData = new Tcallback__UserData(callback);
This showed up in our memory leak tracker as a leak, I hoped it was a false pos...
| location | [Activity Location](#DOCS_RESOURCES_APPLICATION/get-application-activity-instance-activity-location-object) | Location the instance is running in |
Thanks for the report. We'll take a closer look but we believe this could be a misunderstanding in how userdata cleanup functions.
Hey, I'm not able to reproduce a memory leak but I am wondering if you are calling discordpp::RunCallbacks() in your test or not. Deletion of userdata owned by callbacks is done asynchronously to avoid running user application code on Discord internal threads, so if you never run callbacks, the memory will not be freed.
See the test below:
std::shared_ptr<std::string> str = std::make_shared<std::string>("It exists");
std::weak_ptr<std::string> weakStr = str;
printf("befor...
Thanks for the report, we'll take a look
Thanks for the report as well as the reverse engineering exploration. I believe this broke when we refactored sandboxing in our desktop app, but you're right that the buffer operation is causing breakage. We'll make a change to send a normal close code for these client disconnect commands.
I'm confused why this issue is still open, but I can confirm that this behavior is working as intended. There's a socket throttler on new connections, so if the same application is opening multiple connections to the client we intentionally slow down their connections. To avoid this, keep open and utilize a single connection.
This will be out on Canary soon and should be fixed in the next stable release.
It appears that the modal background close logic was not hooked up to the command resolution logic. A fix for this issue should be out on Canary soon and will be in the next stable deploy.
Gonna close this out since we don't believe there to be an issue, but if problems persist please do let us know!
I tried to catch messages with a lower case letter via (?-i)[a-z], which I understand to mean "disable case insensitivity, and match any letter from lower case 'a' to lower case 'z'".
This doesn't work at the moment, and is catching all messages with any letter a-z in it, ignoring case. Please allow us to perform case sensitive matching with (?-i), especially since it's mentioned we can do this in the FAQ: https://support.discord.com/hc/en-us/articles/10069840290711-Filter-Messages-Us...
I couldn't find this anywhere else in the docs, so I added information on how to complete a graceful disconnect from a voice channel to the Voice connections page.
"Click on a row to open up the modal with all of the data loaded in ready for your edits." reads better
These don't need to be numbered since they aren't really steps. Just bullets should be fine!
This might look better as a warning, not a step:
> warn
> Deleting is irreversible and immediate. Ensure that your link isn't in active use before deleting and/or that your activity gracefully handles any click-throughs from the link.
the last custom_id in this sentence should be in a code block too
"Change the description to something else." reads better
058844b Clarify where to enable Social SDK - colinloretz
should this be referrer_id=123456789?
These make more sense as a bullet point list instead of numbered since they aren't ordered steps
3fbefbe feedback - goatslacker
8f8fe82 oops, one more spot - goatslacker
Proposal
Make buttons officially become inactive on Discord's side, that is, when a button/select menu is not interacted with for a certain period of time, it becomes inactive and doesn't send an event to the bot. Say or month of whatever I don't really care.
Why?
This is so you don't receive old events from buttons when some idiot decides to look at channel history and randomly press a button. In some API libraries, they'll ignore the event, however you still received the even...
You can disable message components on your end. In fact you can even do it retroactively. When a user clicks an "old" button you can respond to the interaction by disabling the message components and no future users will be able to interact. Weather Discord disables it or the bot disables it Discord will have to send out a message_update event. So it really will only "waste" resources for the bot if the message components are not disabled. So the bot should handle it if needed. Additionally...
Description
Commands that include premium buttons and are deferred will fail with the following error message.
I first noticed this in the morning of april first.
Bonus: There is a typo in this error message if I'm not mistaken. It should be exist instead of exists, no? I'm not a native speaker so apologies if I'm incorrect.
Steps to Reproduce
- Defer an interaction.
- Try to send premium buttons as a response to the deferred interaction.
Expected Behavior
Premium butt...
Description
I get error 500 when I try to send a deferred update from modal submit. I am attaching the request body below.
When I try to change the message without defer, I get an error with the code 10062.
The error is affected by the number of characters in the embed (including the url icon), components, and their options. Symbols mean emojis, numbers, and letters.
Steps to Reproduce
- Reply to user command with some component
- Show modal on component interaction
- Send upd...
+1, this is happening for my bot as well, trying to display a premium button in a reply after deferring the command results in the following error:
[BUTTON_COMPONENT_INVALID_APPLICATION]: The application for this SKU does not exists or does not match the message author
Workaround is to provide an explicit "ttile: Intro" top level config on the page.
4e53b6e wordsmithin - colinloretz
47b17d1 [social sdk] Clarify where to enable Social SDK... - colinloretz
0805af8 Fix lowercase "intro" title. (#7449) - markmandel
Description
Here's an odd one that'll make you scratch your head.
I have 3 options, values in parentheses:
- pow 32 minus 1 (4294967295)
- pow 32 (4294967296)
- 32 (4294967296)
You'd expect all of those to work, but they do not. Here's what happens for each case:
- pow 32 minus 1 works as expected.
- pow 32 does not pass client-side validation
- 32 passes, however the name of the option (32) gets used as the value rather than the value associated (4294967296)
I've confirmed that the o...
+1
I'm using this endpoint and getting the same error for deferred interactions
`https://discord.com/api/v10/webhooks/${application_id}/${token}`
Seems to be fixed for me now.
I came across this issue myself, a use case example is whenever there's a channel with reports for server moderators, and moderators use a bot to mark the report as closed with work done on the back from the bot. The channel doesn't need to be unlocked but using context menu commands in a locked channel is useful in this situation.
Hi @Noctember , what error are you seeing? It's not clear what "does not pass client-side validation" means or where in the UI you see this.
Why are the second and third value a string and not an integer? Is that log from your code?
Hi @Noctember , what error are you seeing? It's not clear what "does not pass client-side validation" means or where in the UI you see this.
It means I cannot send any commands as the client believes the option is invalid
<img width="528" alt="Image" src="https://github.com/user-attachments/assets/9f3e737f-8d99-40c6-a54d-3eacd528ca90" />
Why are the second and third value a string and not an integer? Is that log from your code?
That screenshot is of discord's dev tools, the `APPLICATI...
Starting today, file upload limits for apps are checked per-attachment rather than per-message. This change makes the attachment behavior for apps the same as when a user uploads multiple attachments on a single message.
This is still an issue even with the new UI update
- Convert all pngs and jpegs to lossy webp
- Convert some naughty SVGs to much smaller webps
- Optimize some gifs
Overall size reduction: 147MB -> 49MB.
The 33MB worth of GIGANTIC gifs in images/social-sdk/design-guidelines/animated will need special treatment, maybe placed on our internal CDN, because they are just huge and displayed in a large format. Any attempt at optimizing them makes them look like crap.
y'all use pnpm now, deal with it (jk I will revert all the scripty stuff)
@Noctember I'm not able to repro this. Ints above 4294967295 work fine in my testing. Since this is sending strings after 4294967295 which is the max number for unsigned 32 bit int, it could be Kotlin or your discord library causing issues
Thanks. Will investigate Kord and report back.
@gabemeola Kord does POST with the values as numbers and not strings. I don't think this is related to either Kotlin or my library.
{"type":8,"data":{"choices":[{"name":"pow 32 minus 1","value":4294967295},{"name":"pow 32","value":4294967296},{"name":"32","value":4294967296}]}}
I've also tried with Rodentman87/slashasaurus and I'm getting the same behavior:
<img width="695" alt="Image" src="https://github.com/user-attachments/assets/8...
Booted up a local preview and poked around, LGTM!
@Noctember Thanks, I was able to repro with that example. Standby!
btw I think some of the images (like ask-to-join.gif) aren't used at all and can be removed
Discord added support for footer markdown in messages.
-# This is a footer
However, it does not work in App Directory. An example use case that I came across is listing the available commands, and adding an asterisk + footnote next to one mentioning it only works in DMs with the bot and not guilds. Using footer markdown would make a much better footnote.
Description
Hello, how are you?
I would like to report an issue that has been directly affecting the administration and analysis of our server, Servidor do Igu, an active and growing community within the Discord platform.
When trying to extract data from the "How many members visited and communicated?" section on the Discord Developer Portal (), we noticed that the information returned is limited to March 2, 2025, even when applying filters with later dates. This error has persiste...
Hey all,
I've noticed that when you publish a message from an announcement channel, any components, such as link buttons aren't carried over into the published copy in the following channels. I think this limits the functionality of announcements, especially when we're trying to direct people to external resources, websites, or other servers.
Suggestion: Allow certain components, specifically link buttons, to be preserved when messages are published from announcement channels. These d...
[discord/discord-api-docs] Issue opened: #7457 Providing soundboard sounds' ID's in an API requests?
Description
I'm working with making log system in my Discord bot and I have run into an issue: there are stickers and emojis actions in the auditlog that have ids:
# compressed version of event function
# everything is fine
@commands.Cog.listener()
async def on_guild_stickers_update(
self,
guild: disnake.Guild,
before: Sequence[disnake.GuildSticker],
after: Sequence[disnake.GuildSticker]
):
embed = disnake.Embed(title="๐๏ธ Stickers Updates", timestamp=disnake...
here is my contribution (still working on it ๐ ):
๐๐ฝIssue๐๐ฝ
emoji_map = {1}
'A': '๐', 'B': '๐', 'C': '๐', 'D': '๐', 'E': '๐', 'F': '๐
',
'G': '๐', 'H': '๐', 'I': '๐', 'J': '๐', 'K': '๐', 'L': '๐',
'M': '๐', 'N': '๐', 'O': '๐', 'P': '๐', 'Q': '๐', 'R': '๐',
'S': '๐', 'T': '๐', 'U': '๐', 'V': '๐', 'W': '๐', 'X': '๐',
'Y': '๐', 'Z': '๐', ' ': '๐'
reverse_emoji_map = {2}
def encrypt_text(text):
encrypted_text = ''.join(emoji_map.get(char.upper(), char) for char in text)
return base64.b64en...
sry for writing again but, are there any information when official merge? waiting for over 1 and half a year now. if you need someone the write the Documentation... i have a lot of time
The bound for integers here was incorrectly specified as -2^53 to 2^53, ignoring the representation for integers in JS with minimum (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MIN_SAFE_INTEGER) and maximum (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER)
does this also apply to the NUMBER type below?
It is unclear as the fix I submitted is only for client side validation, and the NUMBER type is not client side checked
[discord-api-docs] Branch custom-incentivized-links was force-pushed to `afa4ea9`
Are there any updates on this problem?
I've been having it myself. I send a couple of image URLs via webhook to Discord once a day - the image URLs are generated on-the-fly (they are graphs, based on live data) and the URLs themselves are always valid and work fine.
However, Discord only properly displays them around 50% of the time, seemingly for no reason.
Normally:
When it decides to randomly n...
We had previously stated that provisional accounts where updated automatically.
This actually isn't true, so removing it.
๐๐ฝhmm according to my research and what I have been digging up, the sound IDS are seperate from the API reqests under the context that the sounds, tokens and banners are sfx and 'decorative', again this is according to my research and what I found๐๐ฝ
Difference between Sound ID and Sound Effects:
Sound ID:
A unique identifier assigned to a specific sound asset.
Used to reference and manage individual sound files within the API.
For example, a sound ID helps identify a particular sound in ope...
Description
When logging into an application through OAuth 2.0/OIDC, the token endpoint returns an access, refresh, and ID token. This OIDC ID token contains only the user ID as the "sub" claim and no actual identity information. All identity information must be requested from the userinfo endpoint, and only if the user requested the "identify" scope.
This in itself is fine. However, an OIDC userinfo endpoint must return the subject ("sub") claim as per the OIDC specification:
https://...
@BioonsYT Hi, apologies for this and I know this was very concerning. We ran a fix which has hopefully backfilled all the missing data (and it'll be present going forward). Can you check again and confirm?
Thanks again for the report!
[discord/discord-api-docs] New comment on issue #7460: Userinfo response missing subject "sub" claim
Discord's OIDC userinfo endpoint is not /users/@me nor /oauth2/@me, but rather /oauth2/userinfo. If you swap to the userinfo endpoint you will see sub is correctly returned.
[discord/discord-api-docs] New comment on issue #7460: Userinfo response missing subject "sub" claim
That's exactly what I was looking for! Thank you for the quick response, I appreciate it.
Hi, thanks for the prompt response and fix.
Iโve rechecked the Developer Portal, and analytics data is now loading correctly across the full expected date range โ including the previously missing days. Everything seems to be backfilled as intended, and data is updating as expected in real time.
Iโll continue monitoring the metrics just in case any edge cases or inconsistencies pop up again, but so far everything looks stable.
Appreciate the fix and ongoing maintenance of the analytics infr...
Good to hear! I'm closing this out; if you see any future issues, please open a new ticket.
I made a script in python to change the status
https://gist.github.com/EchterTimo/9c5333c8a6272883510c38dd0cff5f60
Some other discord libs like discord.js already have this implemented.
Since interactions.py does not support it yet my script might be your current solution.
@EchterTimo Can you send the documentation for Discord.js's support of voice channel statuses ?
AFAIK they were waiting for Discord's documentation : https://github.com/discordjs/discord.js/issues/10799
@EchterTimo Can you send the documentation for Discord.js's support of voice channel statuses ?
AFAIK they were waiting for Discord's documentation : https://github.com/discordjs/discord.js/issues/10799
Oh you are right then it was another lib. But I forgot.
Discord.py supports updating a voice channel's status
Discord.py supports updating a voice channel's status
Ah yes. Thats it.
Discord.py supports updating a voice channel's status
Well, yes technically they allow access to edit a channel, and set a status, but they do NOT allow to edit permissions for a role, member to change permissions to grant "Update Channel Status" permissions.
Description
I have a discord OAuth bot with a callback to my server. When a user follows the URL, but switches their account by following the "not you?" link, the OAuth flow is lost and our callback is never called.
Additionally, one user reported this on an initial login using the QR code, but I have not attempted to reproduce this.
Steps to Reproduce
setup
- Create a Application & Bot
- Setup OAuth
- Generate the OAuth URL with redirect_uri
user
- Log into discord web app so ...
Description
Similar to the issue described in https://github.com/discord/discord-api-docs/issues/7455#issuecomment-2790463346 , the most recent week of data shown for "How many new members retain the next week" is limited to March 24th regardless of the end date of insights.
Steps to Reproduce
- Visit the Growth and Activation page of server insights
- Set the date range to end 4/11/2025 (I used 3/1/2025 - 4/11/2025)
Expected Behavior
The most recent week of data for How m...
I might word it like "Incentivized Links are used to customize how the embed appears to users."
Discord has the potential to become the leading front end for AI agents, that would be a shame to miss this opportunity...
same issue, it's also doesn't work when you are not logged in.
Seems to be a new behavior. Seems redirect_to flag on /login rejects the oauth link.
April Foolโs Day was like two weeks ago
same issue, has anyone figured out a way to "fix" it?
April Foolโs Day was like two weeks ago
Could you please elaborate ?
Wasn't Midjourney a plain illustration of what I'm saying ?
what you are saying sounds like ai slop
Description
IPv4 address space is exhausted hence it is getting harder and harder to connect to an IPv4 network. IPv6 networks are becoming more and more common, so much so that some ISPs and some data centres are IPv6-only.
Steps to Reproduce
Connect to discord.com on an IPv6-only network
Expected Behavior
Discord can be used normally
Current Behavior
Discord cannot be used at all
Screenshots/Videos
No response
Client and System Information
any
Iโm so glad they unblocked you from the repo
Anyone else experiencing dรฉjร vu right now?
<img width="378" alt="Image" src="https://github.com/user-attachments/assets/1e4dfb68-7019-4d0f-9eea-84582b19e333" />
Dear erkinalp,
Thank you for bringing this issue to our attention. We have forwarded it to the appropriate team for review. If you have more questions, please don't hesitate to join the Discord API server.
Best regards,
apacheli
This is a major regression with primary impact on users that have never logged in Discord in their browser before. i.e.
- A user that has never logged into Discord on Web opens a website that allows Discord login
- User provides login/password
- User is redirected to Discord's Web App (before - user is navigated back to the site that initiated the login)
- User is confused and closes the Web App never logging in to the website
- And if we are lucky user attempts to do this one more tim...
Description
The documentation for Thread Fields is missing the flags field available on the Channel Object even though there are thread specific channel flags.
Steps to Reproduce
N/A
Expected Behavior
Thread field documentation includes the flags field.
Current Behavior
Thread field documentation does not include the flags fi...
This does seem to be sent over the gateway but it's only documented for the REST API.
@msciotti apologies for the tag! This appears to be a regression which really impacts the UX for users connecting to discord through OAuth. I'm hoping you can add some insight here
Additional Observations from Our End
My team and several users in our group are experiencing the same problem described in this issue. Here are our detailed findings:
-
Multiple Apps Affected:
We use multiple apps on our site that rely on Discord OAuth2 for authentication. In all cases, after users authenticate, instead of being redirected back to our registeredredirect_uri, they are taken to Discordโs main interface (e.g.,https://discord.com/channels/@me). -
**Verified R...
f91f813 Added incentivized link changelog - anthonydiscord
Added changelog info for the embedded app sdk incentivized link changes
[discord-api-docs] Branch incentivized-link-changelog was force-pushed to `ab1f27e`
This PR includes changelog and related updates to documentation so it can be merged atomically.
Details include:
- The changelog for the release.
- Updated mappings for doxygen docs.
- Updated Provisional Account docs for Unity Services.
- Added links on Provisional Account docs to all other services.
- Add PlayStation4 and Xbox One support to supported platforms list.
- Trailing spaces cleanup.
[discord-api-docs] Branch incentivized-link-changelog was force-pushed to `f450f55`
3f35bd9 Added incentivized link changelog (#7466) - anthonydiscord
Any news on this? We have had a few Nostrum users ask about using the features here and in #6400 but we've held off implementing this until it's confirmed any of these features are sticking around.
There don't seem to be any beta markers around statuses now so would be nice to have these PRs merged if the features are going to stay.
I'm wasn't sure if this should be added, since I think you can create tags by modifying the channel, but this was left open for bots so...
Closing this as abandoned.
The tag-specific endpoints were deprecated in favor of modifying the channel, which is why they aren't documented
The tag-specific endpoints were deprecated in favor of modifying the channel, which is why they aren't documented
Closing this as abandoned as well.
Often we organize internal tournaments and it would be nice for spectators to be able to sit in a separate voice channel and have the voice chat of both teams relayed to them
We should instead link here (this is also where the dev portal links to), which is the documentation that deals with ID tokens (rather than access tokens): https://services.docs.unity.com/docs/client-auth/
The word "Access" shouldn't be included in the hyperlink.
Let's format "preferred_username" as code using single backticks.
the [Developer Support portal](https://support-dev.discord.com/hc).
A fix for this has been merged and everything should be working fine on the canary subdomain, this fix should make it out to stable soon
8031d49 Changelog: Deprecating Guild Creation by Apps (... - markmandel
Description
rtc_region is missing multiple regions such as:
- GRU (Sรฃo Paulo, Brazil)
- CDG (Paris, France)
- FRA (Frankfurt, Germany)
- WAW (Warsaw, Poland)
Steps to Reproduce
- Try to set region from list while using API
- Get error
Expected Behavior
List should include missing regions and allow to set region
Current Behavior
Getting this error:
`Error: 400 Bad Request (error code: 50035): Invalid Form Body
In rtc_region: Value must be one of ('brazil', 'hongkong', 'i...
978e528 Mark optional fields as nullable for Activity RP - goatslacker
This fix should be out to stable now as well
0617dfa Use static directory for images - JustinBeckwith
We tested the patch referenced shortly after it was marked as merged, and the issue still persisted at that time. However, we just re-tested against two separate apps using Discord OAuth2, and both are now functioning correctly โ the redirect after OAuth2 flows is working as expected.
Looks like the fix has fully propagated and resolved the issue. Thanks to the team for quickly addressing it!
botใฎๅถ้50ใ100ใซๅคๆดใใใใๆขใซdiscordใซ็ณ่ซใใพใใใๆญใใใฆใใใซ็ณ่ซใใๆงใซๆกๅ ใใใพใใใใฉใใใใใใใ้กใใใพใใ
Description
I'm using OAuth2 to enable users to log in to Discord through a website I'm developing. Iโve noticed the following behavior:
If I'm already logged in to Discord in my browser, the OAuth2 login flow works correctly and redirects back to my website as expected.
However, if I'm not logged in to Discord beforehand, and I try to log in via my website using OAuth2, I get stuck on the Discord login page after entering my credentials. I don't get redirected back to my website, and ...
a62c908 Normalize links (#7475) - JustinBeckwith
Could it be a duplicate of #7461 ? Though it was closed yesterday.
@Navi-King We ran a backfill for this one as well and think it should be working now. Can you check?
[discord-api-docs] Branch goatslacker/rp-optional-fields was force-pushed to `bc136b2`
898ca24 fix links - goatslacker
Might be on an old client, can you update your client and try again? This looks like a dupe like Astu04 mentioned.
Description
If i archive a thread and then write a message in this thread, it is automatically unarchived. But the bot does not receive a thread update event. Only if you set it from unarchived to archived.
Steps to Reproduce
I tried it in Python with this event
@commands.Cog.listener()
async def on_thread_update(self, before: discord.Thread, after: discord.Thread):
if before.archived and not after.archived:
await after.send("This thread was unarchived....
I want to change the bot limit from 50 to 100. I have already applied to Discord. I was disconnected and was directed to the applicant here. Thank you very much.
I'm not able to reproduce this issue. When doing the auto-unarchive, I'm seeing the THREAD_UPDATE event. Have you tried logging the raw event data instead of using this if statement?
We cannot grant exceptions to this limit.
The event does not appear for me when I write another message in an archived thread. I do not use auto-unarchive.
Make sure the threads are cached, if not, the event wonโt be called and just on_raw_thread_update will.
The thread should be cached, because a few seconds before i executed events in the thread which i also received. Only the one event did not.
your library may be removing the thread from the cache when it gets archived, please try checking if the event is being received via whatever method your library provides for seeing raw gateway events as I am still not able to reproduce this issue
The thread should be cached, because a few seconds before i executed events in the thread which i also received. Only the one event did not.
If the thread got archived it's most likely for it to not be cached anymore (take a look at the note).
And also, just because you've received an event with that thread does not mean it will still be available on cache at the moment you receive the THREAD_UPDATE ...
Our servers are getting completely overwhelmed with users doing this type of scam and we're banning hundreds of users every week that are doing this. Not having a bot get access to this is adding hundreds of man hours of manual work for the mod teams that need to manually check thousand of users that join our servers. The sooner we get API access to the profiles the better, it'll be more good than harm at this rate because scams are getting out of hand.
[|]{2}([^|]+)[|]{2} and an appropriate replacement pattern. I was not able to find any documentation regarding the correct format for a link within the endpoint path and therefore provided the following example workflow:
Previous markdown as reference ([archived resu...
Hello,
I recently started a project on making a group of roleplay servers based on my favorite games (Genshin, HSR, WuWa, ZZZ and Project Sekai). These servers are supposed to have AI bots resembling as characters from the games ^^ Now in total I have to make 252 AI bots to achieve this. I am using Shapes.inc to create these bots since it's easy to use and fast to create bots!!! The goal of these bots are to act like the characters from the game and provide an environment for my community me...
You can achieve multiple "personas" with webhooks. You can set an author there freely and only need the bot to get the messages
You can achieve multiple "personas" with webhooks. You can set an author there freely and only need the bot to get the messages
Umm, I don't understand what you want to say. Could you go in detail please ;-;
In commit 65ed3d2bc401d10317a876d285d34a85ca2345af I took a look at the Help Center links and tried to standardize them by setting the locale to English (US) as not all linked articles are available in all languages. Sometimes if an article is not available in your selected language you get redirected to the login without the possibility to change your language without knowing that you need to add it to the URL or change the language in the Help Center before visiting it. Also the developer...
The MessageType enum is missing some values that are documented in https://discord.com/developers/docs/resources/message#message-object-message-types like POLL_RESULT
On the other hand, it also includes undocumented ones like HD_STREAMING_UPGRADED
Through a single Discord webhook, you can send a message with any avatar and name you'd like, so you wouldn't need a different bot per AI. You'd have to check if the service you're using supports that though.
Bump, This is something that would help me out significantly.
Would doing this give each avatar a personality? Because each bot will have
their own personality and tone of talking.
On Mon, 21 Apr 2025, 04:46 Amgelo563, @.***> wrote:
Through a single Discord webhook, you can send a message with any avatar
and name you'd like, so you wouldn't need a different bot per AI (you
wouldn't even need a single bot). You'd have to check if the service you're
using supports that though.โ
Reply to this email directly, view it on Git...
**Why is there a VITE_ prefix before our Client ID?**
Prefixing the `CLIENT_ID` environment variable with `VITE_` makes it accessible to our client-side code. This security measure ensures that only the variables you intend to be accessible in the browser are available, and all other environment variables remain private. You can read details in the [Vite documentation](https://vitejs.dev/guide/env-and-mode).
You should make sure to include your default value in its proper locale key, otherwise it may use a fallback value unexpectedly. For example, if your default value is `en-US`, but you don't specify the `en-US` value in your localizations, users with `en-US` selected will see the `en-GB` value if it's specified. For example, if you have a command with the default name "color", and your localizations specify only the `en-GB` value as "colour", users in the `en-US` locale will see...
Type `19` and `20` are only available in API v8 and above. In v6, they are represented as type `0`. Additionally, type `21` is only available in API v9 and above.
At this point, these callbacks **won't get called** since the client setup is not yet complete. However, very soon we will be using them to view debug information and see what our connection status is!
**Development Team Access**
Launching a non-distributed Activity is limited to you or members of the developer team, so if you're collaborating with others during development, create a [developer team](https://discord.com/developers/teams) and set it to the owner when you create the app.
**The Game SDK has been archived.**
We recommend using the [Discord Social SDK](/docs/discord-social-sdk/overview) for new projects.
Existing projects using the Game SDK will continue to work, but we encourage you to migrate to the [Discord Social SDK](/docs/discord-social-sdk/overview) for new features and updates.
Yes, via use of both the username and avatar_url fields when sending Webhook messages (Documentation link here), you can make each Webhook Message have a different display name & avatar icon (profile picture) if you wish.
The idea was impressive and I really thought this would help until I got to
know that shapes.inc doesn't support webhooks ;-;. They only support fully
made bots. It was a good idea, might implement for some other case but for
this issue, webhooks won't be able to help...
On Mon, 21 Apr 2025, 14:21 Zebby, @.***> wrote:
Yes, via use of both the username and avatar_url fields when sending
Webhook messages (Documentation link here
<https://discord.com/developers/docs/resour...
This is probably something to raise with them rather than Discord considering it is such a bespoke request.
You can achieve multiple "personas" with webhooks. You can set an author there freely and only need the bot to get the messages
Description
Support always answer with this generic message even tough my bot has features that CANNOT be developed by using slash commands. What are the requirements my bot needs to have to be considered as "unique, compelling, user-facing functionality"?
Unfortunately, I am denying your Message Content Privileged Intent request. This is because we are only providing access to our privileged gateway intents to power unique, compelling, user-facing functionality, and we do not belie...
So we're not going to be able to debate this over a github issue (we need to leave that to support) but I am curious - what do you want to do that you can't do with slash commands?
9275cb7 use directives for help messages (#7482) - JustinBeckwith
Gonna come hit cleanup in a followup PR, this one was toooooo big
So we're not going to be able to debate this over a github issue (we need to leave that to support) but I am curious - what do you want to do that you can't do with slash commands?
@JustinBeckwith Just as a context, support just doesn't help me, I've tried opening 8 different tickets, it all leads to automatic messages, never managed to actually talk with a human that can understand my use case. My bot is currently blocked from joining more servers due to not having the intent. There is no...
In order to resolve my review comments from #7482, I solved them myself within this pull request. As I mentioned over there the contributing guidelines are now outdated, so this is still pending and resolved by this pull request as I'm not sure about the wording in English for :::
This explanation is also worth updating to avoid confusion
_Originally posted by @GeniusTimo in https://github.com/discord/discord-api-docs/pull/7482#discussion_r2052055800_
Also just as a note, I split...
57900b3 Updated alert boxes (#7484) - GeniusTimo
Please pause working on this one! A lot of the link updates you have are removing things we actually want :) On the issues with the route urls, there is an incoming fix that addresses that problem. I appreciate the callout!
Updated changelog for the latest patch release for the Social SDK.
f458da8 Discord Social SDK Release 1.1.8318 (#7486) - markmandel
As the components system has recently been overhauled, I think this is worth bringing up again - I think this has so much potential.
<Route type="POST">/interactions/[\{interaction.id}](/docs/interactions/receiving-and-responding#interaction-object)/[\{interaction.token\}](/docs/interactions/receiving-and-responding#interaction-object)/callback</Route>
012ec1b Update docs/interactions/receiving-and-respondi... - JustinBeckwith
90d9059 Use mdx for all route subheadings (#7485) - JustinBeckwith
0565f1e Added Components v2 - anthonydiscord
These should be in the admonition syntax now:
:::info
Hello
:::
I will stop calling these out, but want to check for all of them
The wording here does not sound right. This can be possible misunderstood for users as "there's a component for embeds", which isn't really the case since there's no components to mirror the functionality of embed fields, embed author and embed footer.
:::info
[Legacy message component behavior](/docs/components/reference#legacy-message-component-behavior) will **not** be deprecated and will continue to be available to your apps on a message-by-message basis. However, we recommend using the new components for new projects and features.
:::
:::info
`members` and `users` may both be present in the `resolved` object when a user is selected (in either a [user select](/docs/components/reference#user-select) or [mentionable select](/docs/components/reference#mentionable-select)).
:::
:::info
[Legacy component behavior](/docs/components/reference#legacy-message-component-behavior) will continue to work but provide less flexibility and control over the message layout.
:::
To use the new components, you'll need to send the message flag `1 << 15` (`IS_COMPONENTS_V2`) which activates the components system on a per-message basis.
I think that should be put in ` as well
Maybe specify the limit?
:::info
Currently, only [Text Input](/docs/components/reference#text-input) fields are supported in a modal, and each one must be placed in an [Action Row](/docs/components/reference#action-row).
:::
Agreed, same problem near the top of docs/components/reference.mdx
this overview seems to be too specific to messages, it should also mention that components are used in modals
I feel like these are a given if you are already looking at the docs. Could be cut in my opinion.
"array of select components" could be confused with the "Select" component types
The description does not fit the same tone/delivery as the other descriptions.
Same note about these being a given. Additionally, bots do not need the send message permission to display a modal.
| IS_COMPONENTS_V2 | `1 << 15` | this message is using [component](/docs/components/reference#component-object) driven messages, effectively removing `content` and `embeds` |
or something like that
| components | array of components | Up to 10 components of the type [action row](/docs/components/reference#action-row), [text display](/docs/components/reference#text-display), [section](/docs/components/reference#section), [media gallery](/docs/components/reference#media-gallery), [separator](/docs/components/reference#separator), or [file](/docs/components/reference#file) |
(This will break the table)
<Card title="Using Modal Components" link="/docs/components/using-modal-components" icon="CompassIcon">
###### General Button Guidelines
Or something like that, not sure how the "copy" got in there and if that's intentional
When receiving the component, this will have extra fields like proxy_url, height, width, content_type and loading_state. Will they be documented too?

Description
See the example below. On nearly all routes where a route parameter is referenced via a link the link is broken.
Probably due to wrong formatting.
Steps to Reproduce
- Go to a docs page (Exmaple: https://discord.com/developers/docs/resources/guild#get-guild )
- Go to a route with route params
Expected Behavior
the route with a parameter should have a reference like:
`{...
[discord-api-docs] Branch components-v2 was force-pushed to `07ceead`
[discord-api-docs] Branch components-v2 was force-pushed to `51517d4`
36099ec Updated admonitions - anthonydiscord
Will update this one, thanks!
The term "copy" in this context refers to the text used in advertising, marketing, or published materials. I don't think it's as common as I thought it was though so I'll swap this (and make sure it's capitalized!)
fece8cd Updated modal link - anthonydiscord
0d68d20 Documented component limits - anthonydiscord
1711d62 Updated code block - anthonydiscord
If possible Anthony, please document the resolved media object.
We had this discussion a few times with dv8.
See https://canary.discord.com/channels/1317206872763404478/1347953940263731263 as reference.
No worries, adjusting the links using the placeholder is zero time effort (creating them was ๐). Looking through the changes in pull request #7485, I noticed a few broken ones. I have just added the new format to compare the results. I'll undo the link changes now, and then it should be limited to what this pull request was originally intended for.
056e138 Added info about components and webhooks - anthonydiscord
The following changes are introduced by this pull request now:
- Fixed broken things from pull request #7475 and #7485
- Endpoint paths that were still broken
- Wrong link normalization (
guild_scheduled_event.idgot formatted toguild-scheduled-event.iddespite it was not an actual link) - Duplicate/trailing hash in URLs (e. g.
/docs/interactions/application-commands##get-global-application-commands) - Duplicate parentheses (just those I noticed while working my way trough)...
As outlined in https://github.com/discord/discord-api-docs/pull/7482#discussion_r2052055800 and the description of #7484, the contributing guidelines have not been fully adjusted. My suggestion here is meant as an approach, I don't mind if it is changed. I just don't want it to be missed.
05314a6 Updated unfurled media response types - anthonydiscord
Documented, thanks for bringing it up!
- [**Media Gallery**](/docs/components/reference#media-gallery) - Present collections of images and videos in an organized grid
- Content, attachments, embeds, and components had to follow fixed vertical positioning rules
- Visual styling options were limited
- It was difficult to make visually cohesive experiences that combined the various functionalities of messages given they were expressed in a non-unified system.
Dunno if actually desirable change. Take or leave it
Attachments need to be exposed through components to be visible
Lets explicitly call out the MediaGallery, Thumbnail and File components to do this
@anthonydiscord Sorry for bothering, but wanted to clarify something.
This payload was found in the wild a while ago which has most fields as null, is that something we would expect or behaviour that will no longer be seen:
{
"media": {
"url": "<readacted>",
"proxy_url": "<readacted>",
"width": null,
"height": null,
"placeholder": null,
"placeholder_version": null,
"content_type": null,
"loading_state": 3,
"flags": 0
},
"descr...
"flags": "32768",
"components": [
{
"type": 10,
"content": "This is a message with v2 components"
},
{
"type": 1,
"components": [
{
"type": 2,
"style": 1,
"label": "Click Me",
"custom_id": "click_me_1"
},
{
"type": 2,
"style": 2,
"label": "Click Me Too",
"custom_id": "click_me_2"
}
]
}
]
Is there a reason we wouldn't link to the create message part of responding to an interaction here?
"flags": "32768",
"components": [
{
"type": 10,
"content": "This is a Text Display component."
},
{
"type": 10,
"content": "This is another Text Display component!"
},
]
{
"flags": "32768",
"components": [
{
"type": 10,
"content": "This is a message using the Text Display component"
},
]
}
This shouldn't reference the file component. Perhaps
You can upload a file when sending a message and reference it within an Unfurled Media Item using the `attachment://<filename>` syntax in the `url` field.
Before the introduction of the `IS_COMPONENTS_V2` flag ([see changelog](/docs/change-log/2025-04-22-components-v2)), message components were sent in conjunction with message content. This means that you could send a message using a subset of the available components without setting the `IS_COMPONENTS_V2` flag, and the components would be included in the message content along with `content` and `embeds`.
Oh yeah this was initially in the file section and I missed that when I moved it, good call thank you
"items": [
{
"media": {"url": "livevideofeedconvertedtoimage/webcam1.png"},
"description": "An aerial view looking down on older industrial complex buildings. The main building is white with many windows and pipes running up the walls."
},
{
"media": {"url": "livevideofeedconvertedtoimage/webcam2.png"},
"description": "An aerial view of old broken buildings. Nature has begun to take root in the rooftops. A por...
"url": "https://websitewithopensourceimages/gamepreview.png"
12ab57c escape curlies in oauth docs - JustinBeckwith
f77a1ae escape curlies in oauth docs (#7490) - JustinBeckwith
f5c4486 Updated many things - anthonydiscord
I stumbled accross #7490 too during this pull request as it looked inconsistent. Wrapped those in inline code rather than escaping like it's done for other endpoint paths. Left out the method because it would be GET for all of them.
Description
The OAuth2 documentation at https://discord.com/developers/docs/topics/oauth2 is broken and shows a React error.
Steps to Reproduce
- Open the OAuth2 documentation
- Observe the error
Expected Behavior
Being able to see and read the OAuth2 documentation
Current Behavior
The page shows a React error, saying that guild is not defined.
Screenshots/Videos
 - anthonydiscord