#github-notifications

1 messages · Page 14 of 1

chilly siloBOT
chilly siloBOT
#

The GET /users/{user.id} endpoint returns the accent_color field, which contains the banner color of the requested user. However, for users with Nitro and a custom profile theme, this has the wrong value. The API returns the value that was set prior to receiving Nitro, not one of the profile colors. In this case, it is not possible to get the banner color through the Bot API, which degrades the user experience. I suggest replacing the value in the accent_color field for users with Nitro...

#

Description

The GET /users/{user.id} endpoint returns the accent_color field, which contains the banner color of the requested user. However, for users with Nitro and a custom profile theme, this has the wrong value. The API returns the value that was set prior to receiving Nitro, not one of the profile colors. In this case, it is not possible to get the banner color through the Bot API, which degrades the user experience. I suggest replacing the value in the accent_color field for...

chilly siloBOT
chilly siloBOT
#

Description

It seems to be possible to send a message with both components V2 and polls. However, attempting to modify the components for the given message result in a MESSAGE_CANNOT_USE_LEGACY_FIELDS_WITH_COMPONENTS_2
( "The 'poll' field cannot be used when using MessageFlags.IS_COMPONENTS_V2" )

Steps to Reproduce

chilly siloBOT
#

I suspect the issue is that Onboarding, once enabled, requires you to set three to-dos for each member upon joining. Additionally, you can set specific resource pages (i.e. rules, help, support).

As far as I can tell for my server, the channels causing problems are within the list of resource channels and to-do tasks. This is even after disabling Onboarding. I cannot remove any of the 3 tasks, because Onboarding requires that 3 be set. And for some reason, I can't edit the resource pages. I...

chilly siloBOT
chilly siloBOT
#

Description

I was directed here by a moderator in Discord Developers. Sorry if this is the wrong place to report the issue - but I hope you can see the importance of fixing this accessibility issue.

If you adjust the Chat Font Scaling (inside User Settings > Apperance), Text Display components inside containers does not scale proportionally as you would expect.

Steps to Reproduce

Send a message with the following payload

[
    {
        "type": 17,
        "components": [...
chilly siloBOT
chilly siloBOT
#

Updated all remaining absolute documentation links to relative links. Those links were missed by the link check script and therefore could still contain outdated links (e. g. /docs/activities/development-guides#creating-and-managing-custom-incentivized-links is now /docs/activities/development-guides/growth-and-referrals) or outdated anchors (e. g. https://discord.com/developers/docs/change-log#feb-14-2022 is now #api-v10)

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

So my discord bot forwards posts from the social media platform bluesky to discord and uses the bluesky name inside a container, but some people use emojis in their name

Steps to Reproduce

send this inside a container 👑 Text Here

Expected Behavior

for it to work like it did in embeds

Current Behavior

it just doesn't work

Screenshots/Videos

Client and System Information

does the same on all

chilly siloBOT
chilly siloBOT
#

Description

My app uses the rpc and rpc.voice.write features to control a user's mute status depending on the state of their microphone in the game VRChat. The intention is to prevent crosstalk when chatting in both applications at the same time by only allowing one app's microphone to be "active".

Recently, whenever anyone (including myself) attempts to authorize these scopes via the Discord GUI, it returns a code 5000 `OAuth2 Error: invalid_scope: The requested scope is invalid, u...

#

Please Ignore!

As I moved this app to a team as part of verifying the app in the hopes of removing the RPC user limit of the app testers list (as I have more than 50 people that need to use this app).

I did not realize that despite being the owner of said team, I now have to invite myself to the app's tester list. I am closing this ticket that I just made as it now works for me when I am on that list (and I guess that tells me there is still more to do when trying to get that user count lim...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#
chilly siloBOT
#

This is kind of weird because

  • In rendering, it is based on attachments, but the attachments field is actually populated primarily by the files uploaded in the formdata. when sending a message, the attachments field is just used to optionally provide metadata like alt text.
  • When uploading files for components, you still upload files the same way and use attachments for metadata
  • This component also renders files differently from attachments in normal messages, since usually ima...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Intuitively you would think to use components v2 in a deferred interaction you would need to pass in the flags for the initial defer

I.e. first you would do

POST https://discord.com/api/v10/interactions/{id}/{token}/callback?with_response=true
{"data":{"flags":32768},"type":5} // flags = IS_COMPONENTS_v2, type = DEFERED_CHANNEL_MESSAGE_WITH_SOURCE

then you would think you'd be able to use components freely

PATCH https://discord.com/api/v10/interactions/{id}/{toke...
chilly siloBOT
#
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Anchor links scroll to the wrong position if there are images above the section that the anchor linked to.

This seems to happen only on Firefox, I tried Brave Browser and everything works fine.

Steps to Reproduce

  1. Open https://discord.com/developers/docs/components/reference#action-row-example
  2. Observe that the page has scrolled to the correct position.
  3. Open https://discord.com/developers/docs/components/reference#button
  4. Observe that the page almost scroll...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

The docs say that that the List Guild Emojis endpoint "includes user fields if the bot has the CREATE_GUILD_EXPRESSIONS or MANAGE_GUILD_EXPRESSIONS permission" (emphasis mine). However, it seems that, for bots, only the MANAGE_GUILD_EXPRESSIONS matters, and CREATE_GUILD_EXPRESSIONS by itself is not enough.

Steps to Reproduce

  1. Give the bot the CREATE_GUILD_EXPRESSIONS permission but ...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Hi !
Sry if Im in wrong place, but I asked discord support they kept closing my tickets without giving any answers. So I come there its the only solution I found.

I have this issue since 17/04.

As u can see on those screens my code/server hosting is working well.
cf screen1

Even If I remove the app from the account and re add it its still offline :
cf screen 2

APP ID :
1260004556327096380
Im sure its an issue from ur side, cause bot is working well on the server but /slas...

chilly siloBOT
chilly siloBOT
#

You are probably talking about this, right? https://discord.com/developers/docs/change-log#clarification-on-permission-splits-for-expressions-and-events

I didn't know about that. I suppose the docs are still somewhat misleading because the emoji page doesn't refer that. But that explains it!

(Maintainers, feel free to close this issue if you think no change is needed.)

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I am getting this error. I tried verifying using my PAN card like 3-4 times
but it's showing me this error and it's now literally annoying me. I am
trying to verify my bot for almost a month now and I'm getting stopped
again and again. Please resolve this ASAP or can you guys do manual
verification please, I can send my ID here

On Mon, Apr 21, 2025 at 7:29 PM Joe Banks @.***> wrote:

This is probably something to raise with them rather than Discord
considering it is such...

chilly siloBOT
chilly siloBOT
#

Description

I recently started seeing errors in my bot, related to Guild Integrations.
The field role_id is marked as possible and not nullable, but I receive events with it present and null, breaking the deserialization of the payload.

Steps to Reproduce

Just start a bot and wait for an integration update.

Expected Behavior

Either the doc should specify that the field may be null, or the api shoul...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

The Clyde Bot sticker pack contains a Test Sticker with invalid json body, specifically the
"format_type":isnull, when its [documented ](https://discord.com/developers/docs/resources/sticker#sticker-object-sticker-structure) as a non-nullable int`

testing in prod heh

Steps to Reproduce

  • GET /api/v10/sticker-packs
  • look for the Clyde Bot sticker pack
 {
            "id": "754103543786504244",
            "sku_id": "754103543786504242",
    ...
chilly siloBOT
chilly siloBOT
#

As per Discord's Bug Reporting Support Article - reporting bugs via this repository is not an official way to gain the Bug Hunter Badge.

The official way is via the Discord Testers Server, which currently has its applications closed (and no known timeframe on when they'll next reopen).

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#
jb3

Confirming I'm also experiencing this issue with Components V2.

When attempting to send 62 or more media components, the API returns a 500 Internal Server Error, exactly as described.

My specific use case involves trying to send exactly 62 images (of cows, importantly!) to a group chat ("the boys chat"), and I'm consistently hitting this error when the count exceeds 61.

Hoping for a fix soon!

chilly siloBOT
#

I can confirm this limitation also affects my attempt to send 128 penguin pictures (🐧 x128) via Components V2. The behavior is identical to both the fish and cow cases mentioned above:

  • 64 penguins: Works perfectly
  • 128 penguins: Returns 500: Internal Server Error

This appears to be a hard limit affecting all media types, whether fish, cows, or penguins. The undocumented 64-item restriction makes it impossible to properly fill empty channels with adequate amounts of aquatic birds (or other...

chilly siloBOT
#

+1 on this limitation. As a particularly hungry individual, I can easily consume a large amount of food- in fact, up to 128 hamburgers in one sitting (for those unfamiliar, they look like this: 🍔). Increasing the limit to 128 media items would significantly help accommodate my unusual appetite.

Currently, the restriction to 64 items means I can only receive half of what I need at a time, which is inconvenient and frustrating. If I had known beforehand, I could have accommodated my needs more...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

As it stands right now, attempting to defer or otherwise edit a media gallery into a message throws a 400 and claims the unfurled media attachment is not found

This also happens when attempting to use the legacy followup as an edit method, but does not occur when using a direct response or a separate followup

Steps to Reproduce

As some psudocode of what does and does not work:

// Assume that 'builder' contains the following:
// 1 file (`image.png`)
// 1 Media gal...
chilly siloBOT
chilly siloBOT
#

Description

Using discord webhook on a forum channel, creating a new thread with attached images for the first message should appear as the thread's thumbnail just like when sending embed as the initial message.

However sending ComponentV2 like Media Gallery and Section Thumbnail does not appear as the thread's thumbnail.

Only tested with thread created by discord webhook.

Steps to Reproduce

1.) Send some attachment and embed it in components v2 that supports it

Attachments...

chilly siloBOT
#

@Rodentman87
I understand how to access the list of voice regions, and I believe there are several missing regions that are actively used, not just for testing.
I provided examples of such regions.
Furthermore, based on my experience, my friend in Poland is always connected to the Warsaw server first, and this has been the case for years.
This suggests that such servers don't fit any of criteria you provided and should be added to region list, which is currently out of date.

chilly siloBOT
#

Just to clear a possible confusion:

GRU (São Paulo, Brazil)
CDG (Paris, France)
FRA (Frankfurt, Germany)
WAW (Warsaw, Poland)

These look like Cloudflare locations. They are not related to Discord's voice servers locations.

For example, I'm physically located in France, and I'm almost certain there are no voice servers in France (I never encountered a voice server located there in the 9 years I've used Discord).

In the early days, I was being connected to london (later renamed to `eu-w...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

you're 100 percent correct. Literally I was about to break my keyboard because of the issues I was getting while resuming the session. I couldn't find anything which was causing the issue until ChatGpt said this:

Community confirmation
The GitHub discussion “Gateway Resume should be more clear” calls this out:

“When you do not provide those you will get an invalid session payload (OpCode 9)… It should say somewhere that you need to provide those once again.”
[GitHub](https://github.c...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I have just tested this again, and it remains an issue three months later, with no acknowledgement from Discord. This is an inconsistent behavior for a feature that involves real purchases.

JDA 5.3.0
System.out.println("Interaction Event: " + event.getEntitlements().size());
[System.out.println("API Request: " + (int) event.getJDA().retrieveEntitlements().user(event.getUser()).stream().count());]...

chilly siloBOT
#

Legacy messages continue to allow up to 10 top-level components

"lecagy" - messages without the IS_COMPONENTS_V2 flag? Pretty sure the limit is 5 top level components in that case

We're removing the top level component limit and raising the limit on components in messages to 40 when using the [`IS_COMPONENTS_V2` message flag](/docs/resources/message#message-object-message-flags)! Legacy messages continue to allow up to 5 top-level components and 30 total components.
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I'd assume it was done that way to show that it belongs in payload's component field, but that isn't the main bit being demonstrated in the example. These updated ones are now showing examples of the full payload_json but are missing the component v2 flag, so if anything I think these are more wrong based on that. If it were to change, I think it'd make most sense to remove the components field entirely and just give the component itself (given that's what the example is supposed to be show...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When using an entity select, and edit the message in response to the interaction with the same content (Callback type UPDATE_MESSAGE), the selected option(s) will not be cleared on Desktop until another component is used, while they are on mobile. While inconsistent, this also means that to my knowledge, there's no way to clear the selected options at all (except maybe changing the custom_id). I think the correct behaviour would be to always clear the select after a messa...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

My slash commands takes in attachment as an input. Originally this attachment input will display below my reply to indicate there is an image/video uploaded as part of the commands like below

Image

Recently this display disappeared. I have gone through the documentation but didn't find a way to config this behavior. Can someone point me to how to bring this behavior back? Or I should adj...

chilly siloBOT
#

The actual correct behavior is that polls are mutually exclusive with CV2. You should not have been able to used them together in any ways.

This mutual exclusivity should now be properly enforced.

I recognize that individuals likely want to use these two systems together. The correct way would be for us to create a Poll component so that it can be properly expressed within the component system. It is unclear at this time when we will do that. 🙇

chilly siloBOT
#

Description

When you ban a user with delete messages set, all of the users messages should be deleted within the given time set. However, messages in a forum post do not get deleted.
An exception is when you "fully click into the forum post" and ban the user, for some reason, through this way the messages inside the forum post get deleted. Look at the video attached for a clearer understanding.

Steps to Reproduce

  1. Get a user to send messages in a forum post
  2. Ban the user throug...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Sorry, I'm still not understanding.

When an attachment is provided to you as part of the Interaction that comes from a user submitting a slash command if you want that attachment to show up on the message, you need to include it in your message.

You can do this in a few ways

  1. If you download the attachment you can reupload the attachment to the message
  2. You can put the link to the attachment into your message and it will embed itself into your message if you have the EMBED_LINKS permission
chilly siloBOT
#

Totally off the top of my head:

// Leaving a lobby from the client
uint64_t lobbyId = 01234567890;
client->LeaveLobby(lobbyId, [&](discordpp::ClientResult result) {
  if(result.Successful()) {
    std::cout << "🎮 Left lobby successfully! Lobby Id: " << lobbyId << std::endl;
  } else {
    std::cerr << "❌ Leaving lobby failed\n";
  }
}

But I think that will work, and you can see it get passed through? WDYT?

chilly siloBOT
chilly siloBOT
#

I like it.

In this case, I could also change the example from Sending Messages to a Lobby to match it:

uint64_t lobbyId = 01234567890;

client->SendLobbyMessage(lobbyId, "Hello", [](discordpp::ClientResult result, uint64_t messageId) {
  if(result.Successful()) {
    std::cout << "📨 Message sent successfully!\n";
  } else {
    std::cerr << "❌ Message sending failed\n";
  }
});

Note: can I also add a space between creating variable and the function calling?

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

When attempting to send 1x1 pixels https://upload.wikimedia.org/wikipedia/commons/c/ca/1x1.png, I can reach 66 pixels without issue, but 67 pixels returns:

In this case it has nothing to do with the size of the image. It entirely has to do with the size of the content in the JSON.
We'll put a limit in here that produces a reasonable 400.

Also, why y'all gotta make more work for me 😿

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I'd assume it was done that way to show that it belongs in payload's component field, but that isn't the main bit being demonstrated in the example.
Yeah I was just trying to show as much as I thought was necessary without taking up too much space. I do think yall are right though that this should either contain the flag or just be the components array. I feel like adding the flag is the way to go since we want all our samples to use that going forward. What do you think?

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When I make a request to PATCH /webhooks///messages/@original with an invalid body (in this case, an invalid link for a link button), the response given does not match any of the 3 documented error formats listed here: https://discord.com/developers/docs/reference#error-messages

Steps to Reproduce

  1. Obtain a token to respond to a deferred interaction respon...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

I have a Discord activity that creates a web worker to run wasm libraries on a separate thread. I noticed that my app suddenly stopped working in the last few days with a strange error.

Is it normal that worker-src security policy is set to none? (I think this used to allow .proxy URLs before) And if this is the intended behavior, how should I fix this on my side?

Steps to Reproduce

Create a new web worker instance in your activity

Expected Behavior

The worker...

chilly siloBOT
chilly siloBOT
#

Description

When opening a modal with the same id on desktop and mobile they have a different behavior, on mobile it will show the data for the first time that modal id was seen and on desktop it will show the data that was actually sent.

Steps to Reproduce

  • Create a few buttons that opens a modal set the modal components to a paragraph with random consistent text for that specific button.
  • Open them on desktop and every time you open it it will be whatever you set that specific...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

I’m unable to select the "$0.99 USD" price tier for a consumable item. Although the option appears in the UI, when I try to save, a validation error is thrown saying the value is not allowed

Steps to Reproduce

  1. Go to the item configuration for a consumable product
  2. Choose "$0.99 USD" as the price tier
  3. Click "Save"
  4. Observe the validation error that prevents saving

Expected Behavior

I expect to be able to select and save the "$0.99 USD" tier if it's availa...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hi everyone,

I've noticed that when multiple bots are part of the same developer team, and Bot 1 has added emojis, Bot 2 is not able to use them.
I would really appreciate a feature that allows bots within the same developer team to share and use each other's emojis.

This would be especially helpful in setups where you have both a production bot and a development bot.

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Is this different than how it works with v2?

The id field is optional and is used to identify components in the response from an interaction that aren't interactive components. The id must be unique within the message and is generated sequentially if left empty. Generation of ids won't use another id that exists in the message if you have one defined for another component.

I was playing around with it and it seems to work the same

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

...specifically when said User App is responding to a Button/Select using the UPDATE_MESSAGE Interaction Response, for a publicly viewable Message sent by another User who does have USE_EXTERNAL_APPS Permission using that User App's Slash Command.

It would be more helpful to have the red error shown under the button/select say something along the lines of "Missing Use External Apps Permission to use this Button" in this situation :)

For those wanting to re-create this:

  1. Have tw...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

If ids work the same for both legacy and v2 I think the best option is to edit the line about ids at the top of the reference. and change it to something like:

The id field is optional and is used to identify components in the response from an interaction. The id must be unique within the message and is generated sequentially if left empty. Generation of ids won't use another id t...

chilly siloBOT
#

Summary

Discord already flags users for suspicious DM behavior (e.g. mass unsolicited messages) and displays this in the Members list with labels like "⚠️ Unusual DM Activity". However, this flag is not exposed via the official bot API, making it impossible for moderation bots to act on this data automatically or even log it for review.

We are requesting that Discord expose this flag through the documented API in a read-only and non-abusable manner, ideally with strict permi...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

If you upload a WebP file as an animated emoji, attempting to download from CDN with the .gif extension raises 415 Unsupported Media Type, despite apparently being supported as per docs https://discord.com/developers/docs/reference#image-data - this does not occur the other way round, nor with other extensions.

Steps to Reproduce

  1. Upload a WebP to a guild as an emoji - this is the example file I'm using.
  2. Attempt to access...
chilly siloBOT
#

Thanks for reporting this issue! I've created PR #7568 to document WebP and AVIF emoji handling.

WebP and AVIF formats don't convert well to GIF, which is why these emoji uploads must be requested as WebP. We've updated the docs to recommend using WebP for all emoji requests for better performance and compatibility.

Appreciate your feedback on how we can make our documentation clearer in the future.

chilly siloBOT
chilly siloBOT
#

It would be useful if interactions contained information about the platform the user is currently using (nothing more than "mobile"/"desktop"). This would allow devs to adapt the layout of responses to depending on screen size (for example, relying on inline embed fields only for desktop users, and showing smaller blocks of texts to avoid filling mobile screens completely)

I know this information is already exposed in some presence data but this is not something worthy of enabling the pres...

chilly siloBOT
#

Description

I use the position attribute to determine whether a message is in a thread without knowledge of its parent channel type; if a value exists, it's a thread message. However, I discovered today that after editing a message, Discord will incorrectly populate the value with 0.

This issue occurs when editing bot messages as well as webhook messages, but I encountered it using webhooks (and it is more salie...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Maybe a silly question, since I don't know this area as well as others -- how are you requesting the emoji? Is there an API for requesting an emoji from somewhere? (that's what it reads like to me).

If not, I'd lean more towards something like:

Emojis can be uploaded as JPEG, PNG, GIF, WebP, and AVIF formats. All emojis (regardless of original format) can be served as WebP. We highly recommend that developers choose WebP emoji for maximum performance and compatibility. Th...
chilly siloBOT
#

You're right that the wording is ambiguous. 'Request' here refers to when developers fetch emoji (GET requests), not when they upload them. I'll update the text to: 'We highly recommend that developers use the .webp extension when fetching emojis so they're rendered as WebP for maximum performance and compatibility.' This makes it clear we're talking about the file extension used when retrieving existing emojis.

chilly siloBOT
#

Today I was informed that generative AI bots were implemented in every server, however they do not appear in the member list and I had to look up for their ID's to view the profile.

I never gave permission for these bots to enter my servers and feed from the data inside, so me and many other people resulted in banning the bots, only to find later on the bots were in fact NOT banned and, they were still able to work and interact in the server?

I do not ask to permanently remove the bots ...

chilly siloBOT
chilly siloBOT
#

this is misinformation going around, no bots were added to your server. they're just apps with ai features around image manipulation that discord recommends to users when they click the button on images. they aren't added to your server, they don't get any access other than the image the user has selected. Discord themselves prohibits developers from using data obtained through the API for training purposes, so if they're recommending a handful of apps to users, they most likely made sure the...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

With the Discord client, it is possible to forward a message and include optional content

However, attempting to do so via API results in an error

Steps to Reproduce

Attempt to forward a message while setting its content field

Expected Behavior

It should successfully forward the message and include the stipulated content

Current Behavior

A rest error is thrown

Screenshots/Videos

No response

Client and System Information

Using [NetCord](https...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When a bot is connected to a voice channel by itself (no other users in channel), using the "Disconnect" context menu option (voice kick) results in the wrong close code being sent.

We expect the code to be 4014, which is also what we receive when another user is connected to the channel with the bot.

Steps to Reproduce

  1. Connect to voice channel with the bot (no other members in channel)
  2. Use "Disconnect" in the Discord Client
  3. Observe close code 4022 (undocument...
chilly siloBOT
#

https://support.discord.com/hc/en-us/articles/23187611406999-Guilds-FAQ

Guilds was an experimental feature available to a limited number of users. At this time, we’ve closed out the Guilds experiment and this feature is no longer available. Certain features that were part of the Guilds experience may still be available as standalone experiments.

That aged like fine milk

chilly siloBOT
#

There is another issue where users without Nitro cannot use emojis in the channel topic, even if they are from the current server, which should not happen, since you will have access to an emoji that is in the current server.

so thats why its not working right now, i was able to set it with nitro before

Image

chilly siloBOT
#

https://support.discord.com/hc/en-us/articles/23187611406999-Guilds-FAQ

Guilds was an experimental feature available to a limited number of users. At this time, we’ve closed out the Guilds experiment and this feature is no longer available. Certain features that were part of the Guilds experience may still be available as standalone experiments.

That aged like fine milk

It's not wrong though.

  • Membership Applications (part of Guilds experiment) was released separately a...
chilly siloBOT
#

Description

The developer portal states WebP files may be uploaded as an emoji, but it is still greyed out.

In the Discord client, I am able to upload WebP files. I just cannot do it in the developer portal's emojis tab for applications.

Steps to Reproduce

  1. Get a WebP file
  2. Attempt to upload it to an application's emojis

Expected Behavior

The file may be selected.

Current Behavior

The file cannot be selected.

Screenshots/Videos

Client and System Informa...

chilly siloBOT
#
|-------------------|-----------|----------------------------------------------------------|
| identity_guild_id | snowflake | the id of the user's primary guild                             |
| identity_enabled  | boolean   | whether the user is displaying their guild tag          |
| tag               | string    | the text of the user's primary guild tag. Limited to 4 characters |
| badge             | string    | the [clan badge hash](#DOCS_REFERENCE/image-formatting)  |...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

We'll serialize the banner image hash on the user object so that bots can start passively getting that field.

As for bios, we absolutely hear the moderation use cases, but we're not comfortable making those accessible right now.

The behavior that we (and you) see, outside of potential moderation issues, is people putting really sensitive, personal information in their bios. We aren't comfortable with that data being scraped.

Privileged intents are great, but the authorization...

chilly siloBOT
#

Description

If I try to preview the expanded description in the Discovery tab I get an Unexpected Application Error!:

Minified React error #525; visit https://react.dev/errors/525 for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

See below image for the full list of errors

Image

Steps to Reproduce

Log into any verified bot's dev port...

chilly siloBOT
#

Description

When i login at https://discord.com/developers/applications the page refresh instantly and disconnect my account.
But i'm already connected on discord web version and it's works well.

Steps to Reproduce

Open https://discord.com/developers/applications -> Login with QRCode or login with your crendentials and enter the Auth code -> You will get disconnect

Expected Behavior

Must access to the developer portal

Current Behavior

The website just refresh and te...

chilly siloBOT
#

Description

When sending a bot message with multiple images and all images having the same resolution and aspect ratio sometimes the images are not displayed at the same size. Issue happens on embeds and on components v2 gallery

Image

On the picture above, all 12 pictures have the same aspect ratio and resolution and the display with differently width.

Steps to Reproduce

send 2 messages using comp...

chilly siloBOT
#

I might be wrong here, but it seems like the holographic style needs the following config: primary (11127295), secondary (16759788), tertiary (16761760) And tertiary can't be set for normal gradients.

I haven't tested around enough, but that was my impression

I also haven't tested enough with the holographic style, but afaik the restriction was only enforced on client side - similar to how channel cooldowns used to be in it

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

The way we observe this close code implies 3 different scenarios (might be more idk what else is hidden behind "etc." here).

  1. Bot is kicked and channel is now empty -> no reconnect
  2. Channel is deleted -> no reconnect
  3. Voice server changed -> connect to new voice server (essentially reconnect with extra steps)

This means the client has to decide based on context information how to handle this closure. Which makes implementation unnecessarily difficult. I would expect all these s...

chilly siloBOT
#

import discord
import os
import re
import requests

GITHUB_TOKEN = os.getenv('GITHUB_TOKEN')
HEADERS = {'Authorization': f'token {GITHUB_TOKEN}'}

client = discord.Client()

@client.event
async def on_ready():
print(f'Logged in as {client.user}')

@client.event
async def on_message(message):
if message.author == client.user:
return

if message.content.startswith('!cancel_merge'):
    # Extract the PR URL from the message
    # We look for a URL in the message that ...
#

import discord
import os
import re
import requests

GITHUB_TOKEN = os.getenv('GITHUB_TOKEN')
HEADERS = {'Authorization': f'token {GITHUB_TOKEN}'}

client = discord.Client()

@client.event
async def on_ready():
print(f'Logged in as {client.user}')

@client.event
async def on_message(message):
if message.author == client.user:
return

if message.content.startswith('!cancel_merge'):
    # Extract the PR URL from the message
    # We look for a URL in the message that ...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

The application response object for my bot contains the following data:

...
            "redirect_uris": [
                "https://localhost:3000/api/auth",
                "https://example.com/dashboard",
                "https://example.com/api/auth/callback/discord",
                null
            ],
...

but [the docs don't state that the uri can return a null](https://discord.com/developers/docs/resources/application#application-object-application-structu...

chilly siloBOT
#

Description

Thumbnail components with external images that take a while to load get scroll bars while they're loading.
In my case here, the API being hit up takes a while as it generates thumbnails for videos.

Image

Steps to Reproduce

POST request to https://discord.com/api/v10/channels/:channel_id/messages with

{
    "content": "",
    "flags": 32768,
    "components": [
        {
    ...
chilly siloBOT
#

Description

WebP images support transparency. When sent in a container in a Components V2 message, the transparent parts have a dark/light background, dependent on the current theme. It should instead be displayed transparent. I wasn't able to reproduce this on iOS or Web, but it exists on Android.

Steps to Reproduce

Send a Components V2 message with a Container that contains an image with transparent parts.

Expected Behavior

Transparency should be supported and displayed cor...

chilly siloBOT
#

Previously when using Embeds we had an easy solution to display an author with his Avatar Url included.
Now in CV2 (afaik) there is only the Thumbnail or MediaGallery Component to display a Users profile Picture.

In a lot of cases those 2 Components are to large, and it is way nicer to just show a small icon in the footer, as it was possible with the Embeds.

It would be a blessing to have a solution such as the following idea by dv8 to change the mention syntax:

  • default: ``,
    -...
chilly siloBOT
#

can someone help me i am putting Bot and I'm getting 403 forbidden bots cannot use this endpoint
You must only change the Authorization depends on the request.

For users:

Authorization: Bearer <UserToken>

For Bots:

Authorization: Bot <BotToken>

Sample:

// If its a bot request
if(isset($data['access_token'])) {
    $headers['Authorization'] = sprintf('Bot %s', DISCORD_TOKEN);

// if its a user request
} else {
    $headers['Authorization'] = sprintf('Bearer %s', Sess...
chilly siloBOT
chilly siloBOT
#

This is more of a client side feature request, I'm unaware if the api supports it or not, but I think it might be very helpful. The feature request is as simple as adding More capabilities to the search feature currently supported, which is to allow for filters Like filter by Media, Links, etc.

I've considered using support.discord.com to apply for this feature request, but I was disappointed that it doesn't have an easier way to sign up like using a discord account.

Either way I think ...

chilly siloBOT
chilly siloBOT
#

Description

The image does not get scanned by the content filter, so it stays blurred forever if you have it set to blur filtered messages.

Steps to Reproduce

  • Forward a components v2 message with an image, here is an example forwarded msg in ddevs #1364347506200416307 message
  • Look at the message from another account (not the one that forwarded the message) and make sure the "Messages in server channels" content f...
#

Description

https://discord.com/developers/docs/tutorials/configuring-app-metadata-for-linked-roles

This tutorial uses Glitch, but unfortunately Glitch is shutting down next month

https://blog.glitch.com/post/changes-are-coming-to-glitch/

The tutorial will probably need to be updated to use a different service.

Steps to Reproduce

N/A

Expected Behavior

N/A

Current Behavior

N/A

Screenshots/Videos

No response

Client and System Information

N/A

chilly siloBOT
#

This would be hugely useful for bots my company builds and maintains.

Workarounds caching invite usage counts (as mentioned above) might be acceptable for small private servers, but they fail on public or larger servers for a variety of reasons. For example:

  • Vanity URLs do not expose usage counts
  • Users joining via Discovery will disrupt/invalidate counts
  • During periods of frequent joins (when e.g. 10 users per second are joining), accurate tracking becomes impossible as API late...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hey, I’d like to add a bit:
If there's no user in the voice channel except ourselves, and we move ourselves to another channel, the status code that appears will always be 4022.
But if the voice channel has at least 1 other user in it when we move ourselves, then it will first trigger a 4014, and when we return to the previous channel, the code that appears will be 4022.

Example: self move to other channels

🟢 (VC has at least 1 person)
Channel A → Channel B (4014)
Channel B → Channe...

chilly siloBOT
#

Description

If there is a link in a text component (type 10, using the components V2 update), the search filter supposed to find messages that contains links ("Links" on mobile, "has: link" elsewhere) won't display it. I tested in the Discord mobile app and browser version of Discord (still on mobile but with desktop mode enabled), so I guessed that it is an issue with the API.

Steps to Reproduce

  • Make a bot send a message using the components V2 update, that contains a text compo...
chilly siloBOT
#

Description

When I normally connect to a voice channel and kick the bot from it (when im in the voice channel) all works - the bot doesnt reconnect...

If nobody (only the bot) is in the voice channel and I then kick him the bot automatically reconnects...

Is that wanted behavior?

Steps to Reproduce

/

Expected Behavior

That if I kick a bot from a vc it doesnt reconnect...

Current Behavior

It reconnects only if im not in the voice channel

Screenshots/Videos

/

###...

chilly siloBOT
chilly siloBOT
#

Description

Im a nitro user, this bot was tested with UserInstall and GuildInstall, using code to create a file with a specific file size and try and detect the limit, from an interaction you can obtain attachment_size_limit in my case it gave 500MiB, from this i tried sending a 500MiB file, it didnt work, what i ended up finding its that, the limit on both UserInstall and GuildInstall in my case was 200MiB (non-inclusive).

On the discord developers guild, ive also created a [new post...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When uploading images to https://discord.com/developers/applications/{id}/emojis, some images are completely mangled.

See :

chilly siloBOT
chilly siloBOT
#

This is a way to stop raids from alt accounts that get banned from servers right now we have a simple way of doing by checking discord user info we can get straight from the discord API using discord.py or something but if we could see what servers or friends the user has could help really to find alt accounts and see if its a alt and if we should investigate the user to see if we need to ban from the server don't make this a public endpoint as this could be exploited but make it so people ca...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

The Mod View shows a lot of useful information about a user, some of which is currently inaccessible to bots. It would be great if bots could access these information:

  • Join method, including the user who created it if it's an invite
  • Total message count, including specific details of how many links or attachments were sent
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Context

This post will focus on Components V2

I believe libraries should be able to automatically retain attachments when editing messages, this will go toward an effort to:

  1. Improve the developer experience (no manual attachment management)
  2. Improve the user experience (faster response times)
  3. Reduce the bandwidth costs for Discord

The issue

To implement this, one would currently have to parse the unfurled media URLs, to obtain the attachment ID which is the 2nd snow...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Trying to send a webhook using the new WebhookClient API results in error 50006 'Cannot send an empty message'.

Steps to Reproduce

The following code snippet (with redactions) creates the error in my enviroment.

`const { WebhookClient, MessageFlags, TextDisplayBuilder } = require('discord.js');
const templatesWebhook = new WebhookClient ({ url: 'https://discord.com/api/v10/webhooks/_redacted_/_redacted_?with_components=true' });
const textComponent = new TextDisplayB...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

hi there! thank you for reporting this. could you please provide the exact Components V2 JSON payload you're using? I was unable to reproduce with the following payloads:

// wine glasses
{
  "flags": 32768,
  "components": [
    {
      "type": 10,
      "content": "Wine Glasses"
    },
    {
      "type": 12,
      "items": [
        { "media": { "url": "https://m.media-amazon.com/images/I/31mmrfSju%2BL._SL500_.jpg" } },
        { "media": { "url": "https://m.media-amazon.com/images/...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

the guild_count returned in the discovery endpoint is a value that is updated as part of a task that runs every 24 hours. the approximate_guild_count value returned as part of the /applications... endpoints is computed on request but then cached for 24 hours. as far as i can tell any discrepency between the two is simply due to drift between the two cached values. so if one is higher than the other im pretty confident that its due to an actual change in the number of guilds

@thomasgtay...

chilly siloBOT
#

@foxfirecodes the issue described by @thomasgtaylor reads as different from mine. You're likely correct about his discrepancy due to the 24 hour delay, but I am concerned with the server counts returned from the API vs. the server count displayed in the app directory. The latter is unknown to me, as in I don't understand how it's calculated. It isn't returned in the API response. FYI I got the below reply in the original discord thread, and it is similar to what @advaith1 offers here I think....

#

I can add more detail on my discrepancy. At the time, I didn't have the bot scope added: ie. users could only install the application to servers and users directly. I used the HTTP interaction gateway and the only server count gauge for me was the static / cache endpoint. The other remained at 0 and did not start increasing until I added the bot scope.

I do not think there was a 24 hour delay in this case as it was like this for a few weeks. Even to this day (after adding the bot scope...

#

ah yknow what you're all absolutely right. the approximate_guild_count is computed based on the number of guilds that the bot user is apart of. the table we're using for approximate_user_install_count and approximate_user_authorization_count has a guild_count col that uses the total number of guild authorizations, just like the app directory. so i will discuss with the team about migrating approximate_guild_count to use this other col instead of counting guilds the bot user is apart...

#

Hello,
I still have an issue uploading the same images, as well as pretty much any png/webp image that I have on hand.
see https://cdn.discordapp.com/emojis/1382858913677967454.webp?size=64&quality=lossless
and https://cdn.discordapp.com/emojis/1382858854198673409.webp?size=64&quality=lossless
for the failed uploads as of 2025-06-13 as captured on video here : https://www.youtube.com/watch?v=pc5cElIvFFA

Animated emojis (or rather, .gif uploads) work fine for me on the other hand (ex : https:...

chilly siloBOT
chilly siloBOT
#

Apologies for the delay.

Since this isn't in our Open API Spec, it's not to be documented or relied on as stable.

It was my understanding that the Open API Spec is currently unstable and non-complete. I fail to see how something being undocumented within an incomplete specification is grounds to further leave it undocumented within what is supposed to be a complete specification.

re: README.md on the OpenAPI Spec Repo:

⚠️ The pu...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

This PUT returns:

  {
    "id": "<id>",
    "application_id": "<appid>",
    "version": "<version>",
    "default_member_permissions": null,
    "type": 1,
    "name": "join",
    "name_localizations": null,
    "description": "Basic command",
    "description_localizations": null,
    "dm_permission": true,
    "contexts": [
      0,
      1,
      2
    ],
    "integration_types": [
      0,
      1
    ],
    "options": [
      {
        "type": 3,
        "name": "name",
        "name...
chilly siloBOT
#

Description

const JOIN_COMMAND = {
  name: 'join',
  description: 'User requests to join the community and need to provide his/her profile information',
  //type: 1,
  options: [
    {
      type: 3, // STRING
      name: 'name',
      description: 'Please provide your name',
      required: true,
    },
    {
      type: 4, // INTEGER
      name: 'age',
      description: 'Please provide your age',
      required: true,
      min_value: 18,
      max_value: 90
    },
    {
      typ...
chilly siloBOT
chilly siloBOT
#

Description

Possible to let user select multiple choices on a single /command?

Steps to Reproduce

Possible to let user select multiple choices on a single /command?

Expected Behavior

Possible to let user select multiple choices on a single /command?

Current Behavior

Only a single selection out of a list of choices presented to the user.

Screenshots/Videos

No response

Client and System Information

Ubuntu 25.04
node v23.11.0

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Totally understand the confusion -- broadly speaking, if it's not in the OpenAPI spec, it's a pretty strong indicator it's not something that we want to be publicly referencable (i.e. it might go away in the future, or change).

That being said - quadruple checking with the team who implemented the API to make extra sure, and like I said, if you strongly feel like the API field is useful, please do file an issue!

chilly siloBOT
#

what's there to say? the scopes are private, that's the expected behavior and there isn't anything that needs to be changed. maybe the scopes will be open at some point, maybe not.

The music apps that want to integrate rich presence into discord have to use the deprecated rpc module, which in turn says "Playing a game" instead of the wanted "Listening to musicAppName"

Last year I added support for listening and watching statuses to RPC, so you don't need these scopes for that if that is y...

#

что тут можно сказать? области действия являются закрытыми, это ожидаемое поведение, и нет ничего, что нужно менять. возможно, области действия будут открыты в какой-то момент, а может и нет.

Музыкальные приложения, которые хотят интегрировать Rich Presence в Discord, должны использовать устаревший модуль rpc, который, в свою очередь, говорит «Играю в игру» вместо желаемого «Слушаю musicAppName».

В прошлом году я добавил поддержку статусов прослушивания и наблюдения в RPC, так ч...

chilly siloBOT
#

Это поведение, которое в настоящее время намеренно является приватным. Вы не можете его использовать, и это не ошибка, это текущая предполагаемая ситуация.

I think this is extremely unfair. Since this application can use this area: https://discord.com/oauth2/authorize?client_id=503557087041683458&response_type=code&scope=identify+activities.write

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

This updates two things:

  1. To the latest link mappings file for the Social SDK
  2. Implements a change in the link map generator such that the first matching signature is selected as the link rather than the last. This means that when methods are overloaded, the user is directed to the top of list (the first), rather than the bottom (the last).

Example:

With this update, documentation references https://discord.com/developers/docs/social-sdk/classdiscordpp_1_1Client.html#a91716140c699...

chilly siloBOT
chilly siloBOT
#

Components are sent as part of a message or interaction response payload, it's not part of the command interaction, but a separate approach altogether; that naming is consistent across the API and docs [^1]. For commands themselves you cannot have multi selections, neither in choices nor in auto complete options. If you want to suggest an API feature, there is also the GitHub discussions section: https://github.com/discord/discord-api-docs/discussions

[^1]: <https://discord.com/develope...

chilly siloBOT
#

Description

I have a webhook and use it to send a container to a channel. If I fetch the webhook message at a later time and then want to edit it with a new container, nothing happens. I have also tried it once with a normal content and everything works.

Steps to Reproduce

  1. send a webhook container message
  2. try to edit the result message with another container

Expected Behavior

The old message should be edited to include the new container.

Current Behavior

That noth...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

It's been over 8 years since this limitation was introduced due to Cassandra fragmentation, and there's still no official purge endpoint. Are there any updates on the promised "proper purge channel" solution? Deleting messages one-by-one is painfully slow and easily hits rate limits, and cloning channels isn't always viable or appropriate. Just hoping for clarity on whether this is still being considered or officially abandoned.

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

@foxfirecodes yeah, I am on:
stable 410706 (4719017) Host 1.0.9196 x64 (65020) Build Override: N/A Windows 11 64-bit (10.0.26100)

Is this latest?

I think it fixed for that specific picture, but not all the cases:

Image

m.media-amazon.com/images/I/314zzgcLwaL.SL500.jpg?format=webp
m.media-amazon.com/images/I/41LXxnpl0bL.SL500.jpg?format=webp
m.media-amazon.com/images/I/51Li3nY7RyL.SL500.jpg?format=we...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

The package contains methods to integrate fully secured endpoints to ASP.NET for handling discord webhooks. Users are able to add handling of those webhooks by adding one or two lines of code to their code.

app.AddDiscordHttpInteractions();
and
app.AddDiscordWebhookEvents();

The libray is a small addition to DSharpPlus to make using webhooks securely easy for users. Methods for validating webhook signatures are included in the main DSharpPlus package which is also already in the ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

When I request Discord directly, I do this via Partch: /webhooks/{webhook.id}/{webhook.token}/messages/{message.id}. There I have sent this body.

{
  "type": 0,
  "content": "",
  "mentions": [],
  "mention_roles": [],
  "attachments": [],
  "embeds": [],
  "timestamp": "2025-06-18T06:48:03.316000+00:00",
  "edited_timestamp": null,
  "flags": 32768,
  "components": [
    {
      "type": 17,
      "id": 1,
      "accent_color": null,
      "components": [
        {
          "type": 10...
chilly siloBOT
chilly siloBOT
#

When I request Discord directly, I do this via Partch: /webhooks/{webhook.id}/{webhook.token}/messages/{message.id}. There I have sent this body.

{
  "type": 0,
  "content": "",
  "mentions": [],
  "mention_roles": [],
  "attachments": [],
  "embeds": [],
  "timestamp": "2025-06-18T06:48:03.316000+00:00",
  "edited_timestamp": null,
  "flags": 32768,
  "components": [
    {
      "type": 17,
      "id": 1,
      "accent_color": null,
      "compone...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Hi, I encountered an error that I wanted to report so you can fix.

When I purchase Server Boost packages for some reason, it only shows me that I've received one Boost.

This error has been happening for a month, so it's not the Boost Recovery issue. Thanks for reading, and I hope you fix this.

Steps to Reproduce

1

Expected Behavior

2

Current Behavior

3

Screenshots/Videos

4

Client and System Information

5

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

🛠️ Proposed change

Added documentation to cover the case of an undocumented embedded field in the Client Status object.

🧪 Justification

Observed in payloads for some customers, although not mentioned in official documentation. This field may appear alongside desktop / mobile / web.

📎 Links

chilly siloBOT
chilly siloBOT
#

When I request Discord directly, I do this via Partch: /webhooks/{webhook.id}/{webhook.token}/messages/{message.id}. There I have sent this body.

{
  "type": 0,
  "content": "",
  "mentions": [],
  "mention_roles": [],
  "attachments": [],
  "embeds": [],
  "timestamp": "2025-06-18T06:48:03.316000+00:00",
  "edited_timestamp": null,
  "flags": 32768,
  "components": [
    {
      "type": 17,
      "id": 1,
      "accent...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When editing an embed description to 4096 Japanese characters it gives a DiscordServerError: 500 Internal Server Error.
It works correctly when given 4096 English characters.
This is clearly a bug because the documentation says the limit is 4096 characters, and when the character limit is exceeded (e.g. with 4097 Japanese characters) it correctly gives a HTTPException 400 Bad Request.

Steps to Reproduce

...

chilly siloBOT
chilly siloBOT
#

Some bump on this as the is an ongoing issue of the same topic. The solution had been fine in past years, but has since become more restricted over years:

  • In 2022 (#5279), it was stated that the external emoji permission was changed to follow the everyone permission, bots were able to bypass the everyone permission to use emojis by using edit original response endpoint.
  • During 2023 and 2024 (#5357), bots may use defer reply or edit follow-up that utilizes webhook to grant the external e...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Thanks for this! I was also wondering about this, so I went and asked the eng team, because it's complicated apparently!

This is what I heard back (and I merged together into something a bit more actionable).


This change is correct but could be more explicit. I'd suggest reframing the documentation to better clarify the default behavior and scope.

Missing Context on Default Behavior:

We could make the documentation clearly explain that default allowed_mentions behavio...

#

thank you for reporting this! i've shipped a fix to identify CV2 messages with links in text components as having links, so has:link should work as expected for new messages going forward (its too expensive to reindex old messages and not worth it for something this trivial).

i've also merged a fix for the display of the suppressed notifications icon. you can expect to see that in the next mobile app release, you can expect that within the next week.

chilly siloBOT
chilly siloBOT
#

our standard format would be making the type column ?[user primary guild](link) object and not linking to the object in the description - see the avatar_decoration_data and collectibles objects in https://discord.com/developers/docs/resources/user#user-object-user-structure

looks like those fields don't show in this PR since its old (needs to be updated to fix conflicts)

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

It's been a long while and I have finally updated the discussion post again!

Here is a list of notable changes:

  • Rewrote the example codes so they can be compatible with components v2
  • Added a note for the components that are only deployed as a message component yet (such as Text Displays)
  • Updated information and example code for Text Display Component since it is already out as a message component
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

not seeing a metadata field in events, the label seems to just be sent in the existing details field?

{
  "status": "online",
  "processed_at_timestamp": 1750801425901,
  "guild_id": "1134425783864143942",
  "client_status": {
    "desktop": "online"
  },
  "activities": [
    {
      "type": 4,
      "state": "testing",
      "session_id": "b201d02f8e879cd23b056c71a2f3e512",
      "name": "Custom Status",
      "id": "custom",
      "details": "question",
      "cr...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I propose adding a new Boolean option to the CHAT_INPUT Application Command Options.

  • This option would be called, for example, "multipleAnswers?"
  • This option would be available for USER, CHANNEL, ROLE, MENTIONABLE, and ATTACHMENT options.

This option would allow multiple answers to be added in a single option. Some examples could be:

  • A /lock command that allows multiple channels to be selected at once.
  • A /roleadd command that allows multiple roles to be assigned to ...
chilly siloBOT
chilly siloBOT
#

Description

In a private messages conversation, when communicating with someone that hasn't sent any message in the channel, Discord can show a captcha to prevent spammers from annoying people by sending messages or using commands. That's understandable, except for auto-complete (and modal) interactions that doesn't send anything to the other user.
On mobile, it makes auto-complete interactions unusable. I'm scared that Discord will flag me as a spammer.
(In this case, I wanted to make m...

chilly siloBOT
chilly siloBOT
#

Bumps esbuild to 0.25.5 and updates ancestor dependency tsx. These dependencies need to be updated together.

Updates esbuild from 0.20.2 to 0.25.5

Release notes
Sourced from esbuild's releases.

v0.25.5

Fix a regression with browser in package.json (#4187)
The fix to #4144 in version 0.25.3 introduced a regression that caused browser overrides specified in package.json to fail to override relative path names tha...

chilly siloBOT
#

Description

I know for sure it was working before.
Problem may have occured after I updated Discord client (but I'm not 100% sure)

All the buttons get cropped, almost like the entire embed has set max-width to specific size and the Content block has min-width fixed, forcing the button to go outside the container.

Steps to Reproduce

Send component with long text and accessory button.

Expected Behavior

buttons should have margin-right the same as on the left side of the cont...

chilly siloBOT
#

Description

When a bot deletes a webhook the audit log entry (action_type 52), the user_id field returns null. This does not happen when a user deletes a webhook.

Steps to Reproduce

  1. Create the webhook (manually or via curl)
curl --request POST \
  --url https://discord.com/api/v10/channels/{channel_id}/webhooks \
  --header 'authorization: Bot {token}' \
  --header 'content-type: application/json' \
  --data '{"name":"Captain Hook"}'
  1. Delete t...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Hello !
Discord status since to have an issue, I just restart my discord app and see that a lof of discord bot have missing status displayed in member list. I think there is a issue on ur side

Steps to Reproduce

  • Openn app
  • Go to member list
  • Search a bot

Expected Behavior

Activities show undername (watching/playing etc)

Current Behavior

Activities not showing for some bot under there names

Screenshots/Videos

![Image](https://github.com/user-attachm...

chilly siloBOT
#

Description

When you forward a message, you are able to send components v2 and api doesn't return any errors.
It doesn't render on mobile, but it does on desktop clients

Steps to Reproduce

  1. Make a POST request with message_reference along with components and providing IS_COMPONENTS_V2 flag
curl -X POST "https://discord.com/api/v10/channels/{channel_id}/messages" \
  -H "Authorization: Bot {token}" \
  -H "Content-Type: application/json" \
  -d '{
    "message_reference...
chilly siloBOT
#

Description

"May contain sensitive content" is being displayed on secondary images inside discord mobile app for all embeds.

Steps to Reproduce

1 - Create an embed with two images inside the embed
2 - On discord mobile app, click on one image
3- Swipe to the second image
4- It will display "May contain sensitive content" even when it shouldn't

Expected Behavior

I expect "May contain sensitive content" to only display on sensitive content images.

Current Behavior

"M...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

For anyone who may stumble upon this as it seems like this thread ranks highly in search engines: As of the time of writing this, you cannot receive user signals via the API.

Fwiw, three out of four all of these signals have been in the public API for some time.

  • "Timed Out" is the communication_disabled_until flag in the Guild Member object (API Docs link)
  • "Unusual Account Activity", I believe, is t...
#

For anyone who may stumble upon this as it seems like this thread ranks highly in search engines: As of the time of writing this, you cannot receive user signals via the API.

Fwiw, ~three out of four~ all of these signals have been in the public API for some time.

  • "Timed Out" is the communication_disabled_until flag in the Guild Member object (API Docs link)
  • "Unusual Account Activity", _I beli...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Currently, there is no OAuth2 scope that allows apps to access/list applications accessible by the authorizing user.
It would be really helpful to add support for that instead of having to rely on undocumented endpoints and asking users to enter an app ID, mostly to verify ownership of an app.

I know https://github.com/discord/discord-api-docs/discussions/6646 exists, but its specific to verifying ownership rather than listing.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Answering myself, the Members tab seems to use the undocumented https://discord.com/api/v9/guilds/:guild/members-search API.

More info here: https://github.com/discord/discord-api-docs/issues/6781 (a common complaint seems to be that it's slow to show new members, a bit of a shame to enforce a stronger verification for people coming from Server Discovery, which is a spammer magnet), https://github.com/discord/discord-api-spec/issues/34.

Each returned object has the following fields:
...

chilly siloBOT
chilly siloBOT
#

Devs keep running into the issue that they aren't aware that to use communication features, they need to enable communication OAuth scopes (mainly because we're not explicit about it anywhere).

This aims to fix this! This PR includes:

  • Reorganize core concepts page to prioritize OAuth scopes
  • Add implementation details to OAuth guide
  • Add warnings to guides using Communications features about scope requirements
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Strings with specific case in the text input label field have their case ignored and changed to Title Case

Steps to Reproduce

  • Reply to an interaction with a modal that has text inputs named with normal case (eg "Describe your issue")

Expected Behavior

The label should keep the provided case

Current Behavior

The case is overwritten to Title Case (in the previous example: Describe Your Issue)

Screenshots/Videos

This is how the modal looks like when...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

This reverts commit 1520a812cdfebc74098e1e73aa79344be16af9b0.

Apolgies folks - I looked up the wrong attribute on the PR. Rolling back while we work out if this should be enabled as public or not (looks unlikely tbh). Totally my fault for not looking properly.

The version of the docs platform will make these issues far less of a problem (or 🤞🏻 get rid of them entirely).

chilly siloBOT
#

Description

If you try to update someone elses message (which 9/10 its accidental), while also providing CV2, you get the wrong error message

Steps to Reproduce

  • curl -X PATCH -H "Authorization: Bot you-wish" -H "Content-Type: application/json" -d '{"components": [{"type": 17,"accent_color": 5793266,"components": [{"type": 10,"content": "::33"}]}],"flags": 32768}' https://canary.discord.com/api/v10/channels/868830230503100426/messages/1389750749797552168

Expected Behavior

...

chilly siloBOT
#

The plan has always been to allow bots to use the search API, with a pretty high rate limit, and no message context, however this has always been considered a really low priority task, relative to other things the team and myself are working on. However, if you’re interested, replying to this issue with your specific use case and thumbs upping this comment will help me make a case for prioritizing this internally.

Hello, @jhgg! It’s been close to 7 years, and there have been over a hundr...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#
We've documented gradient role colors and guild tags in the API. Guild tags let users rep their favourite server with a 1-4 character badge next to their display name. They can be accessed using the `primary_guild` field in the user object. Servers can now give gradient colors to their roles instead of a single, solid color. Gradient colors now use the new `colors` field inside the guild object. As part of this change, the `color` field on roles is now deprecated, but it will s...
chilly siloBOT
#

Description

After changing the server tag, the server ID of the tag will still appear at /users/:id of the person who previously used the tag

Steps to Reproduce

  1. Enable the server tag.
  2. Get the server tag from an account.
  3. Change the server tag in settings.
  4. Check the primary_guild value of a person by sending a GET /users/:id request

Expected Behavior

If the tag is removed from everyone's profile when it is changed, the server ID should also be updated in the AP...

chilly siloBOT
#
We've documented gradient role colors and guild tags in the API. Guild tags let users rep their favorite server with a 1-4 character badge next to their display name. They can be accessed using the `primary_guild` field on the user object. Servers can now give gradient colors to their roles instead of a single, solid color. Gradient colors use the new `colors` field on the guild object. As part of this change, the `color` field on roles is now deprecated, but it will still work...
#
We've documented gradient role colors and guild tags in the API. Guild tags let users rep their favorite server with a 1-4 character badge next to their display name. They can be accessed using the `primary_guild` field on the user object. Servers can now give gradient colors to their roles instead of a single, solid color. Gradient colors use the new `colors` field on the role object. As part of this change, the `color` field on roles is now deprecated, but it will still work ...