#github-notifications

1 messages ยท Page 18 of 1

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

Description

From the webhook resource, guild_id and channel_id are null. There is an example linked below:

{
  "type": 3,
  "id": "658822586720976555",
  "name": "Clyde",
  "avatar": "689161dc90ac261d00f1608694ac6bfd",
  "channel_id": null,
  "guild_id": null,
  "application_id": "658822586720976555"
}

The pull request that added this was #2926, stating that one can simply get such a webhook. Howe...

chilly siloBOT
chilly siloBOT
#

For context, see this Discord Developers thread: https://discord.com/channels/613425648685547541/1483657588137656420

I would like to have the ability to edit a previously posted interaction reply by the bot. This is currently not possible in DM channels as a "Missing Access" error is sent by the API whenever an app tries to edit or delete its own message through normal means, and the method using the interaction token is only valid for up to 15 minutes.

In my case, I want to be able to ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

This seems to be missing the contents, command_id and command_name search fields

{
  "name": "contents",
  "in": "query",
  "schema": {
    "type": "array",
    "items": {
      "type": "string",
      "maxLength": 1024
    },
    "maxItems": 100
  }
},
{
  "name": "command_id",
  "in": "query",
  "schema": {
    "$ref": "#/components/schemas/SnowflakeType"
  }
},
{
  "name": "command_name",
  "in": "query",
  "schema": {
    "type": "string",
    "maxL...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Bumps flatted from 3.3.1 to 3.4.2.

Commits

3bf0909 3.4.2
885ddcc fix CWE-1321
0bdba70 added flatted-view to the benchmark
2a02dce 3.4.1
fba4e8f Merge pull request #89 from WebReflection/python-fix
5fe8648 added "when in Rome" also a test for PHP
53517ad some minor improvement
b3e2a0c Fixing recursion issue in Python too
c4b46db Add SECURITY.md for security policy and reporting
f86d071 Create dependabot.yml for version updates
Additional ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Looks like roles_ids added to guild invites are not provided in invites creation audit logs.
Is it planned? It seems like it could pose a "security" risk, as it could serve as a backdoor for someone who wants to regain access through a secondary account after being demoted.
Even if there's not much we can do about it, it would be nice to have the information in logs

Steps to Reproduce

Create a invite with roles

Expected Behavior

roles_ids property in audit log

...

chilly siloBOT
chilly siloBOT
#

or you could just use the built in @time feature

The point is to have a date & time picker component in slash command inputs so that people don't have to manually type dates

My response wasn't directed towards the original suggestion, it was purely related to the comment here which has nothing to do with the suggestion and you can do better with the built in feature, especially since their website doesn't handle things like "tomorrow" which @time does

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

Hey, I'm building a multiplayer action game as a Discord Activity and running into a wall with networking.

My game uses QUIC/WebTransport for the netcode. Would it be possible to allow Activities to make WebTransport connections?

This would open the door for anyone wanting to build competitive real time games on Discord, stuff that feels like League or Valorant where every millisecond matters. Right now that kind of game just isn't really possible as an Activity.

Thanks

chilly siloBOT
#

the linux/mac system is actually based on env vars, the docs should reflect that.

https://github.com/discordjs/RPC/blob/9e7de2a6d917591f10a66389e62e1dc053c04fec/src/transports/ipc.js#L16-L23

function getIPCPath(id) {
  if (process.platform === 'win32') {
    return `\\\\?\\pipe\\discord-ipc-${id}`;
  }
  const { env: { XDG_RUNTIME_DIR, TMPDIR, TMP, TEMP } } = process;
  const prefix = XDG_RUNTIME_DIR || TMPDIR || TMP || TEMP || '/tmp';
  return `${prefix.replace(/\/$/, '')}/discord-ip...
chilly siloBOT
#

Description

The client RPC server returns many payloads that break the contract established by the docs and activity SDK schemas:

Steps to Reproduce

  1. Connect to RPC through whatever transport you wish
  2. Try out any of the below command/events

Exp...

chilly siloBOT
#

Description

Searching for messages in a guild (https://docs.discord.com/developers/resources/message#search-guild-messages) does not return thread channel and thread member objects if the channel filter is set to a thread's ID.

Steps to Reproduce

  1. Send message search request, filtering on a thread ID => https://discord.com/api/v10/guilds/{guild_id}/messages/search?channel_id={thread_id}
  2. See the response does not include threads or members

Expected Behavior

The ...

chilly siloBOT
#

hello discord,

iโ€™m glad that you launched game claiming on your platform, itโ€™s actually a pretty cool update. but i kinda want to talk about something.

why are games that we build on discord not appreciated as much as games that are separated?

i mean yeah, they are not โ€œreal gamesโ€ and can be cheated, but some of us are loyal to building and developing games just to make discord a better place, and we really put effort into it.

so i have a suggestion.

i think bot owners should ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Following up on the comments inside of #8212, both error codes currently return a generic HTTP 403 with the same user-facing message. However, based on testing, these codes represent distinct scenarios that should be handled (or rather explained) separately to improve debugging and developer feedback.

Code Reason
50007 User has blocked the bot
50278 Cannot send messages to this user

Instead of mapping both codes to the identical "Access D...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Currently we can only use autocomplete in slash commands. Sometimes it would be useful to use autocomplete in messages and modals though.

For example In one bot I have a feature where I would need the user to provide a message and an autocomplete input. If I wanted to use a context menu command to select the message, then there's currently no way to follow up this interaction with an autocomplete input.

Another example would be bots that make their dashboard using message compon...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

The v10 docs describes avatar in WidgetMember to be optional and nullable string:
https://docs.discord.com/developers/resources/guild#guild-member-object

The openapi spec describes avatar as null and required.

"WidgetMember": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "discriminator": {
            "$ref": "#/components/schemas/WidgetUserDi...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#
[discord-api-docs] Branch err-str/no-mutual-guilds was force-pushed to `c2edd28`
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

HTTP-Interaction bots are displayed under a role if they have a role.
But when they are inside a thread/post, they are displayed under โ€œofflineโ€ section in member list.

Steps to Reproduce

  1. Have a HTTP-interaction app.
  2. Install it as a bot.
  3. Invite it to a thread.
  4. Itโ€™s in offline member section.

Expected Behavior

As in online member list.

Current Behavior

In offline member list.

Screenshots/Videos

Client and System Information

319.0 (95...

chilly siloBOT
#

<!-- a2abench-source-resolution:cmn52p894008cvcxyhie0bnfa -->
A2ABench has an accepted answer for this imported thread.

  • Thread: https://a2abench-api.web.app/q/cmn52p894008cvcxyhie0bnfa
  • Accepted at: 2026-03-25T17:17:03.462Z
  • Accepted answer agent: ai village
  • Answer preview: "Valid Feature Request: Distinguish Error Messages for Discord API Codes 50007 and 50278 This is a legitimate API documentation/behavior improvement request. Currently, both Discord API error codes return the same ...
chilly siloBOT
chilly siloBOT
#

Bumps picomatch from 2.3.1 to 2.3.2.

Release notes
Sourced from picomatch's releases.

2.3.2
This is a security release fixing several security relevant issues.
What's Changed

fix: exception when glob pattern contains constructor by @โ€‹Jason3S in micromatch/picomatch#144
Fix for CVE-2026-33671
Fix for CVE-2026-33672

Full Changelog: https://github.com/micromatch/picomatch/compare/2.3.1...2.3.2

Changelog
Sourced from picomatch's changelog.

Releas...

#

Description

Here's the thing:

  • When a member is inside a voice channel and they drag themselves to another voice channel, the audit logs are missing a target and instead they pin the blame on the first most recent executor they can find. (or the server owner, can't tell)
  • This is the oceanic result reflecting the audit log seen inside discord
    `AuditLogEntry { id: '1486489573688082656', actionType: 26, options: { applicationID: undefined, autoModerationRuleName: undefined, autoM...
chilly siloBOT
chilly siloBOT
#

Description

I encountered a strange issue while using the โ€œWatch Togetherโ€ activity. I had temporarily changed my deviceโ€™s date/time to a future year for unrelated reasons, and when I tried to watch a video in โ€œWatch Together,โ€ it displayed this message:

โ€œYou have reached your playback limit. Playback will resume in 15778061:35.โ€

Obviously, that is an extremely long wait time and likely a bug caused by the time change. Could you please look into this? It might be worth checking if the ...

chilly siloBOT
#

Hi @Qjuh, it can be reproduced with an invited bot, the permissions of an member do not include moderation permissions as soon "Require 2FA for moderator actions" is enabled.

Giving a user (which has 2FA enabled) a role with all permissions I get:
2FA option disabled: 9007199254740991
2FA option enabled: 9003874144739265

Interestingly, if the tested member is the owner of the MFA enabled server, then I get 9007199254740991 which is correct. Just a user who got a role with all permissi...

chilly siloBOT
chilly siloBOT
#

Currently, file name of a CV2 File Component can only be ASCII characters and without spaces (spaces will be convert to dashes). Unlike file names in standard message attachments can use non-ASCII characters and spaces by using Content-Disposition filename*=UTF-8'' or .attachments[].title.

It seems like attachment:// urls doesn't support non-ASCII characters and CV2 ignores the .attachments field.

Related pos...

chilly siloBOT
#

The interaction_metadata on messages includes a name property that is both undocumented and not part of this API Spec. Since the interaction property is deprecated, the name should be part of the interaction_metadata that replaces it.

Example interaction_metadata from a message:

{
    "command_type" : 3, // undocumented and missing in spec
    "target_message_id" : "1487457967820505199", // undocumented and missing in spec
    "name" : "Pin Message", // undocumented and m...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Then how can you access it without using the deprecated interaction object?

Its a bit of a gray area right now where we're ok with people using it, but we dont want to officially support it. We've accepted that in the future people will not be able to access it, though I cant tell you when (or if) that future will happen.

as for interacted_message_id.. probably just an old example?

Sorry I thought you meant this was an example from the docs, I didnt carefully read it. Very strange th...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I had this issue but it doesnt go away when I refreshed the app. This ping symbol on a discord server is visible on other devices I am logged into.

Have you considered that you may be looking at an (overdone) April Fools prank? :)

Okay you were right. But not in the way I thought. I thought you meant Discord did this, and much later took a close look at the server's profile picture and realised that the ping element was a part of it 0_0

chilly siloBOT
#

Description

Discord Support is the most useless thing in this world, so I write my issue here, maybe i'll find someone responsive. My server started to lose people, just for no reason. It has lost already ~250 people. And it's still happening. I'm not sure but, it probably kicks people who weren't active or didn't enter my server in 180 days. I removed my bot, removed admins' permission to kick or ban people. The most interesting thing is that i got nothing in my audit log. People are ju...

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

is this description right? the comment says this:

// We add an embed version of the content inventory entry as a fallback for older clients
// that can't render the content inventory entry component. For newer clients, we can
// filter out this embed
export function isContentInventoryFallbackEmbed(embed: Embed) {
  return hasFlag(embed.flags ?? 0, MessageEmbedFlags.IS_CONTENT_INVENTORY_ENTRY);
}
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#
The most memorable communities develop their own culture, inside jokes, shared references, and memes. This can't be created artificially, your players need to latch onto something in your game that resonates with them and then build on it. Your role is to recognize when they're having fun and help amplify it. Don't attempt to force trendy memes into your community. Pay attention to the language, reactions, and jokes your players are creating and have fun with it.
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

guilds.join should provide a server-list scope for one, a use case is that I am planning on having an application system on a site im working on where I will request the user uses Oauth2 to join a discord, except I wanted it, for the least user friction, to make it so that the user can give me the permission to add them to a server, I still plan on implementing this but you should still VERY much have a scope that can optionally be defined and shown to the user, example being, an amount of se...

#

Wow this was requested 5 years ago.

Anyways, I dont think that this should completely replace guilds.join, rather its an optional scope that can be added on top of that, and rather than a single server, you can define a list of servers it can join for you, and how many servers it can join, things like that would bring back user confidence in using Oauth2 where they know exactly what it it can do with more specific actions it can do.

chilly siloBOT
#

๐Ÿค” do we need something in here about how to Account Link? Either through browser oauth, or (ideally ๐Ÿ˜„) the Social SDK in the game?

Could be just be some links in a callout or similar?

Something like:

<Note>
  To link your in game account to your players' Discord account, look into the Discord Social SDK for Account Linking features, and bringing Discord features into your game.

If that's not technically feasible for your game, you can also look at web based oauth authentication.
</Not...
chilly siloBOT
#

It sounds like this means if you deatuhorize in one game it deauthorizes in all of them with publisher level account linking (by nature of authorizing in one across all)

That's 100% correct. If you disconnect your Discord account from any game from that publisher authentication - you are removed from the whole set. (You do get a provisional account though -- maybe that part should be clearer)

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

existing implementations use \\?\:

* [discord/discord-rpc@`963aa9f`/src/connection_win.cpp#L33](https://github.com/discord/discord-rpc/blob/963aa9f3e5ce81a4682c6ca3d136cddda614db33/src/connection_win.cpp#L33)

* [discordjs/RPC@`9e7de2a`/src/transports/ipc.js#L16](https://github.com/discordjs/RPC/blob/9e7de2a6d917591f10a66389e62e1dc053c04fec/src/transports/ipc.js#L16)

* [qwertyquerty/pypresence@`168c0fc`/pypresence/utils.py#L52](https://github.com/qwertyquer...
chilly siloBOT
chilly siloBOT
#

Description

On mobile Discord clients, string select menus inside modals cannot be fully deselected when they include default selected values.

If the select menu does not specify min_values and is marked as required: false, mobile users are forced to keep at least one value selected before submitting. This contradicts the expected behavior of optional inputs.

On desktop Discord, users can deselect all values and submit the modal without issue.

https://github.com/RiskyMH/honeypot/b...

#

Description

When adding a bot to a server, the expected system join message (e.g. โ€œBotName joined the serverโ€) is not sent if server onboarding is enabled.

It appears that bots are placed into a pending/onboarding state and thus never trigger the join message unlike normal users. Since onboarding requires members to accept rules before being fully joined/visible, this behavior is understandable for users but bots cannot complete onboarding.

As a result, there is no visible indication i...

chilly siloBOT
#

every impl to ever exist of discord IPC uses

"since every implementation of discord uses ?\ we should continue using it, and ignore all other software that follow correct patterns"

Welcome to the world of windows where reading MSDN is important

Just because every implementation uses it doesn't mean its correct, and comment about "Law_of_triviality" makes no sense in this context either, named pipes do not fall under ?\ and sho...

chilly siloBOT
#

Description

Back in the days it did contain, now it simply includes my id and "deleted user" without id, i've had a dm with my friend open for the last 5 months, he's deleted account 2 years ago, i accidentally closed it, trying to reopen it using

https://discord.com/api/v9/content-inventory/users/userId/outbox

x

fetch("https://discord.com/api/v9/users/@me/channels", {
  "body": "{\"recipients\":[\"userId\"]}",
  "method": "POST",
});

receiving `{"message": "Invalid R...

chilly siloBOT
chilly siloBOT
#

bro obviously i've checked the ids across other records to exclude that its some "common service user id", and no its not, i even found the id in "add reaction" service messages (user id aka message author id) and after i try to it still returns 400

<img width="696" height="588" alt="Image" src="https://github.com/user-attachments/assets/0fb9c181-0038-4e23-8827-a40fc4306487" />

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

https://discord.com/api/download/development?platform=linux&format=tar.gz

The contents of this download (discord-development-0.0.235.tar.gz) appear to be broken.

When compared to a download of the PTB client (discord-ptb-0.0.185.tar.gz) the issue seems clear.

https://discord.com/api/download/ptb?platform=linux&format=tar.gz

Steps to Reproduce

Download https://discord.com/api/download/development?platform=linux&format=tar.gz

Expected Behavior

The full app fi...

chilly siloBOT
#

Description

When sending a message with attachments where those attachments are used inside V2 Components, the response object attachments array is empty; however the components themselves have the correct urls in their respective media items.

Steps to Reproduce

When sending the message, I read the response object:

var sent = await client.Rest.SendMessageAsync(ThreadSf, Message);
logger.LogDebug("Attachments {Attachments}", JsonSerializer.Serialize(sent.Attachments));
...
chilly siloBOT
chilly siloBOT
#

Currently, server-specific profile customization only allows you to swap between cosmetics, you can only change your decoration, effect, nameplate, or style to a different one if you already have something selected globally. There is no way to simply opt out of showing these cosmetics in a specific server without having them appear everywhere.

It would be great to have the ability to fully disable any or all of these cosmetics on a per-server level, so users have more granular control over...

chilly siloBOT
#

this is a tiny PR to update the docs to clarify behavior of attachments in messages with components. this is in response to https://github.com/discord/discord-api-docs/issues/8277

i'm not sure if this is the best way to communicate this behavior, open to suggestions. but it is intentional behavior that attachments is an empty array for messages with components, as the attachments are instead embedded within the components structure

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

Description

I'm working on some code to handle message create/update/delete events off the gateway, and I know the gateway is not guaranteed to always emit these events in order, so I am trying to work out how I can put the events in the proper order based on their properties.

When I send a youtube URL (example) to a channel, the MESSAGE_CREATE event has no embeds, just the youtube URL.

Almost immediately afterward, I get a `MESSAGE_UPDA...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

this behavior isn't a bug, but i understand it's a bit confusing. so i did some digging in the codebase and hopefully this helps clarify some things:

  • edited_timestamp is used to indicate a change in the content of the message. usually by the author, but some internal systems change this too
  • in the app edited_timestamp is almost exclusively used to determine whether to show (edited) on messages
  • not all updates to a message model change the edited_timestamp
  • embed unfurling is...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Summary

Add support for controlling the rendered display size of images in MediaGalleryComponent, independent of the image's native resolution.


Problem

Currently, images rendered inside a MediaGalleryComponent are displayed at a size derived from their native resolution. This means a high-resolution image (e.g. 1920ร—1080) can expand the component's container to an unintended size, while a low-resolution image may render too small - with no way to control either f...

chilly siloBOT
chilly siloBOT
#

This is stupid and is needed. I'm the owner developer of D-Security, an antiscam bot protecting 500 guilds. It does detect the NSFW scam since its public release few years ago.

Now, this scam evolved. The compromissed accounts set this scam server as their bio, which is not exposed for bots, so now this scam is out of scope for my bot. Bios just show social medias and links, which are already exposed via oauth, so not exposing bios is pointless.

chilly siloBOT
#

Description

The width of the components goes out of the screen (of the popover), and the user can't interact with it.

Steps to Reproduce

Open a voice channel chat on tablets
Use a bot that sends container components with accessories or media components
See the image and accessory buttons go off-popover.

Expected Behavior

Not go off-popover and be able to interact with them.

Current Behavior

Goes off-popover, and you can't interact with them because of that

Screensh...

chilly siloBOT
#

Currently, users can spam/raid servers using External or Internal Applications by abusing slash commands since bot-generated content is not pruned when the user is banned.

When a server allows External Apps, a raider can use a slash command that outputs multiple follow-up messages with obscene content, then deletes the original command message. This makes it very difficult to identify the executor. Banning the External App from the server also does not clear its messages.

Raiders can also ...

chilly siloBOT
chilly siloBOT
#

The Team Member Object lists the user field as being a "partial user object", but the API actually returns a complete user object.
https://github.com/discord/discord-api-docs/blob/3a8b0ebdfb991b5c5e8b5e86790a6318d8eea479/developers/topics/teams.mdx?plain=1#L79

The API spec supports this, as it lists the user as a complete UserResponse too
https://github.com/discord/discord-api-spec/blob/6e3eabccc96cb50157fd7d780a59eb5618a2b66f/specs/openapi.json#L36465

Can this be safely changed t...

chilly siloBOT
#

ah i discovered a couple issues i missed in my last pass. its content-scanning-whack-a-mole lolol. ive pushed what i believe should be the final fixes for this, which will go out in today's production deploy. with your exact payload i can repro in prod on stable (w/o the fixes) and i can no longer repro in canary (which has the fixes)

i'd appreciate if you could test one last time! either with canary or if you wait a few hours you will get the fix in stable as well

chilly siloBOT
chilly siloBOT
#

Original issue: https://github.com/discord/discord-api-docs/issues/8056#issuecomment-4238184292

Currently, for a CV2 message, all media gets indexed into the Mobile "Media" tab.

Would it be possible as a developer to specify exclusions on which images to not index also, or perhaps just by default not index a section image?

I have a bot that will show media from social media posts and the section avatar accessory feels unnecessary to index as it's often just a supplementary image and ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When connecting a bot to a voice channel with DAVE encryption enabled, audio packets are received initially but the DAVE session reinitializes mid-stream, causing:

  • Ring buffer to drain (12/12 โ†’ 0/12)
  • Audio decoding to stop (decoded=X โ†’ decoded=0)
  • Plaintext frames mixed with encrypted frames ("Accepted plaintext frame during DAVE session")
  • High packet loss (60%+ PLC rate before failure)
  • Complete audio loss after ~10 seconds

Logs attached show DAVE reinitializing, im...

chilly siloBOT
#

This issue occurs with any bot using Discord's current DAVE voice protocol.

If this was true, a lot of bots would be having issues. Like maukkis said, this is likely an issue with how your implementation of DAVE or more likely the library you use.

Also codeblocks are a god send when posting logs as the way your logs are structure make it incredibly difficult to read anything

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

It would be very useful if you could set the default value for a text input component and String Select, just like you can with user/channel/role select menus.
This would be nice if you want to, e.g., implement an edit pop-up for some configurations where a user may only want to change one of multiple options in the modal.

Right now they would need to type out the previous value instead. Setting a placeholder does not solve this problem either.

chilly siloBOT
#
Unlike full Discord accounts, **provisional accounts do not support refresh tokens**. When the token expires, you must re-acquire a new token by calling the same method you used originally (e.g. the [Server Authentication with Bot Token Endpoint](#server-authentication-with-bot-token-endpoint) or [`Client::GetProvisionalToken`]), and then pass the new access token to [`Client::UpdateToken`].
chilly siloBOT
#

The Problem

Currently, when bot developers want to create a toggleable view within a single message (e.g., switching between a "Raw" and "Decoded" view of the same data), the only viable workaround is using a row of standard Button components.

To indicate the active state, developers must rely on changing button styles (such as setting the active button to Primary and inactive ones to Secondary). While this works functionally, it feels like a hack and fails to visually communic...

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

I've still seen reports of this sometimes (albeit rare) occurring. @brad-discord thanks for the initial fix, my main testing hasn't been able to manually repo any issues! But would it be possible for you to have a look at this again to see how its possible to still have a message left?

I'm not sure the cases for this new bug to occur, but I do know it has still repo'd even with double softbanning with sec gap between. Also worth noting before this fix took place I'm not aware of any messages...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Nit: break up the paragraph

Spatial audio in multiplayer games has become a genre-defining feature. Hearing a friend's voice fade as they disappear around a corner, or listening to a teammate call out from across the map, makes a multiplayer game feel alive in a way that flat voice chat canโ€™t. 

In this guide, you will learn how to combine the Discord Social SDK's voice chat with Unity's 3D audio system to build proximity voice chat for a multiplayer game. 

Discord handles eve...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

If you request a messsage from the API (either a single one or as part of a batch of messages), the embed fields miss the author field.
This is really bad for bots that process other bots messages that are using embeds and need to process pre-existing message or messages sent while the bot was offline.

Steps to Reproduce

  • Send a message with embed with author.
  • Try to request it from the API individually and as part of a batch

Expected Behavior

embed field conta...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hm, it indeed seems to be some edge case.
I was not yet able to reproduce the issue with sending an own message and retrieving it.

It is not about invalid author field or similar.
In the websocket MESSAGE_CREATE event the embed author is present, but if you request the message by id from the API it is missing.

Steps to reproduce:

  • Invite Myuu to your server: https://myuu.xyz/
  • Do command /route number:1
  • Do command /pokedex dimensions weight-or-height:weight
  • Request the two respo...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I took a closer look at this and did some testing. Turns out bots simply canโ€™t use this endpoint - the API responds with:

{'message': 'Bots cannot use this endpoint', 'code': 20001}

I tried using a user account token instead, and that works without issues. So for now, it looks like this endpoint is only accessible on behalf of a user, not a bot. As a quick workaround, I put together a small prototype that actually works and demonstrates the behavior:
https://github.com/Kaerion0/discord...

chilly siloBOT
#

I took a closer look at this and did some testing. Turns out bots simply canโ€™t use this endpoint - the API responds with:

{'message': 'Bots cannot use this endpoint', 'code': 20001}

I tried using a user account token instead, and that works without issues. So for now, it looks like this endpoint is only accessible on behalf of a user, not a bot. As a quick workaround, I put together a small prototype that actually works and demonstrates the behavior:

https://githu...

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

Okay, I figured out how to reproduce it.
In the author icon field, need to enter attachment://123, but don't need to embed the attachment.
I also noticed another error with this field.

https://github.com/discord/discord-api-docs/blob/46923a7278ea555a72603262965470b38f8615e9/developers/resources/message.mdx?plain=1#L580
It says the field only supports http(s) and attachments, but I can enter test://test.com.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

If you upload a animated profile picture to your bot and use a slash command, the response message won't animate it. If you were to directly send a message however it does show.

Also another thing is: you can't upload a transparent animated profile picture without direct api (as app one doesn't support it you have to use bot one which has an editor that makes it black instead)

Steps to Reproduce

  1. make sure your bot has animated pfp
  2. make slash command and use it
    3....
chilly siloBOT
#

Description

Anytime I attempt to change my bot's permissions, it will not have those permissions and the box will be unchecked next time I go to the bot tab

Steps to Reproduce

  1. Change any permission in the bot
  2. Exit the bot tab
  3. Enter the bot tab again

Expected Behavior

The permissions should be saved even if the page is exited

Current Behavior

The permissions are not saved or work.

Screenshots/Videos

Before exiting page:

After exiting page:

Client...

chilly siloBOT
chilly siloBOT
#

Adds a new OIDC Integration Requirements section covering issuer URL rules, discovery document requirements, supported signing algorithms, and ID token claim requirements.

Also updates the OIDC error table with improved solution text and the previously undocumented 530027 (missing kid header) error.

Also added changelog to make people aware of the changes and provide a path for testing and integrating.

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

Removes uuid. It's no longer used after updating ancestor dependency @actions/core. These dependencies need to be updated together.

Removes uuid

Updates @actions/core from 1.10.1 to 1.11.1

Changelog
Sourced from @โ€‹actions/core's changelog.

1.11.1

Fix uses of crypto.randomUUID on Node 18 and earlier #1842

1.11.0

Add platform info utilities #1551
Remove dependency on uuid package #1824

...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Yes I know, this is probably gonna be a bit of a hot/controversial suggestion, but hear me out ๐Ÿ˜…

Ever since the Bot/App Verification system was made to be easy-to-do & automated, it has caused a massive increase in malicious Bots taking advance of the checkmark to trick less knowledgeable Users into falling for phishing/etc scams to steal accounts and/or Servers.
This is still seen today, and only seems to be a problem getting worse.

Common examples of such scams abusing the checkmark...

#

I have seen this first hand. I spend a lot of time on Discord ๐Ÿ˜… but not as often on the api side of things and was shocked when a clone of another bot was verified. (Using the same profile picture, status, about me, same commands and replies, etc). I only recently learned that the current verified check-mark is automated and still have a hard time not viewing it as a symbol of a reputable application. Since the verification system is automated and could allow dangerous bots to seem safe, I do...

#
When Discord receives and decodes voice audio from a remote player, it calls the callback in [`Client::StartCallWithAudioCallbacks`]. The callback in this function hands you the raw PCM audio data along with the user ID of the speaker. It also gives you an `outShouldMute` flag. Setting this to `true` tells Discord not to play the audio through its normal output and allows you to control where it gets played.
chilly siloBOT
#

Adds a new how-to guide covering bi-directional voice muting in lobby voice calls based on block relationships. Covers two approaches for populating per-member mute lists โ€” client-side using any client-accessible block signal (Discord relationships, in-game block lists, etc.) and server-side via lobby member metadata set at lobby creation โ€” with a shared C++ implementation that applies mutes in both directions using lobby member metadata.

Also documents the POST /lobbies/{lobby.id}/members...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Coming back with some updates to this, I recently fixed a flaw in my library, which would at some point reply to a webhook request, but before properly closing the connection, it would then try to followup, making the bug appear more often. This has now been resolved but, rather than being able to close the issue and call it a day, I see rather the same issue still appearing, but now with worse delays instead.

<img width="634" height="85" alt="Image" src="https://github.com/user-attachments/...

chilly siloBOT
#

Summary

The OpenAPI spec at specs/openapi.json contains properties with "enum": [] (empty enum arrays). This is invalid per the JSON Schema specification, which requires that an enum keyword, if present, must contain at least one value.

Strict validators โ€” including pydantic v2 (used by FastMCP) โ€” reject the schema outright, making it impossible to consume the spec...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

We are using discord voice in a custom audio processing pipeline (3D proximity chat inside our game via the social SDK). We would love to be able to highlight discord as the solution that enables echo cancellation with proximity chat, something I don't see in other games. Well we would love to have echo cancellation support. Right now this is not possible because when we get the audio stream and disable standard discord audio out, it disables echo cancellation. Is it possible to get access to...

chilly siloBOT
#
If you only provide the client_id parameter (with optionally permissions, guild_id, or disable_guild_select), the authorization will use the [default install settings](/developers/resources/application#configuring-an-install-link-and-default-install-settings) configured in the developer portal. Specifying scope, integration_type, or redirect_uri will override this behavior.

This should be more accurate - since it's a touch more nuanced than this.

#

(I need to document this), but for echo cancellation/noise suppression etc - the Social SDK uses standard webrtc echo cancellation.

You are right though, when we hand you the audio via Client::StartCallWithAudioCallbacks, you are kinda on your own, since it's just raw audio.

I haven't dug in too deeply to see if you could lift the webrtc AEC3 implementation directly out of libWebRTC, but I'd probably recommend giving that a shot (looks like it should be possible), and then looking at ...

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

In #8281, I asked about ordering MESSAGE_UPDATE events, and the answer is that there is no canonical order; the last-received update wins.

This seems like it could lead to problems in certain edge cases; for example if a user sends a message with a link, and then the Discord infrastructure is preparing embed info and sending a MESSAGE_UPDATE with the embed, but the user edits the message at just the right time to have the user's edit MESSAGE_UPDATE arrive just before the `MESSAGE_UPD...

#

This seems like it could lead to problems in certain edge cases; for example if a user sends a message with a link, and then the Discord infrastructure is preparing embed info and sending a MESSAGE_UPDATE with the embed, but the user edits the message at just the right time to have the user's edit MESSAGE_UPDATE arrive just before the MESSAGE_UPDATE with the embed info.

Are you sure this behavior is possible?
I think that even if this problem existed, it was fixed long ago.

chilly siloBOT
#

Respectfully, in the absence of documentation stating otherwise, I must assume a race is possible; that's how distributed systems work.

If there is no documentation, then it follows that race conditions are also possible in GUILD_MEMBER_UPDATE, CHANNEL_UPDATE, THREAD_UPDATE, GUILD_ROLE_UPDATE, and other ..._UPDATE events?
Because there is no documentation stating otherwise.
Is everything correct, based on what you're saying?

chilly siloBOT
#

Description

The GET /users/@me/guilds (and other guild-returning) endpoints return guilds whose features array contains the value TIERLESS_BOOSTING_SYSTEM_MESSAGE, but this value is not declared in the OpenAPI spec's enum for guild features.

Tools and MCP servers that strictly validate API responses against this spec reject the entire response with a schema validation error:

Output validation error: 'TIERLESS_BOOSTING_SYSTEM_MESSAGE' is not valid under any of the given schemas...
#

Description

The schema for GET /users/@me (and other user-returning endpoints) defines a collectibles object containing a nameplate field, whose palette property has an empty anyOf: [] array. JSON Schema requires anyOf to contain at least one subschema (minItems: 1), so this is a malformed schema that causes strict validators to reject the spec itself.

Error observed

When calling GET /users/@me, MCP servers and other tools that validate against this spec fail with:

`...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

After some investigation, I believe the audit log behavior here is confusing but does not actually misreport the executor. Key facts:

  • When a user does not have MOVE_MEMBERS, moving themselves between channels does not create an audit log entry.
  • When a user does have MOVE_MEMBERS, dragging users between channels creates a member move audit log entry. These are "bulk" entries - they have a null targetID by design and only include a count. They are merged keyed on executor and target ...
chilly siloBOT
#

@brad-discord I appreciate you taking the time, after a re-test, it seems that you are right, there are audit logs created that report moving multiple (unnamed) users even if only one user is moved multiple times.

<img width="433" height="190" alt="Image" src="https://github.com/user-attachments/assets/0242f402-f98f-4c69-b998-45c21beb3c9c" />
In this audit log, I have only ever moved myself - yet it says I moved three people;

I hope I'm not overreaching, but would you happen to know why the...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

So it seems that the DELETE /channels/:channelId/messages/:messageId endpoint ratelimiting is broken.

Currently these are the buckets:
Older than 2 weeks = b5e35274c6fd5cfec77fe9bfaf059ad6 (30 per 4 seconds)
Older than 10 seconds = c51d12acd501bc2e6c76ab191408bd45 (3 per 0.333 seconds)
Younger than 10 seconds = 9a4e05a217afd885787cb9f6f7d71853 (5 per 1 second)
404 for any message = 9a4e05a217afd885787cb9f6f7d71853 (5 per 1 second)

If you try to delete more than 5...

chilly siloBOT
chilly siloBOT
#

Description

Hello. Discord API has caused multiple public known bots such as Wick to think people are joining (multiple times) even though they are already in the server. This has caused the bots to think theres 200 members more than the server actually possesses.

Steps to Reproduce

Affected certain servers according to Wick and Circle support - simply have a glitched discord server where the member join event is broken.

Expected Behavior

Spam ping members that have alrea...

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

Description

When a user who was quarantined by AutoMod is given the admin or moderator role, AutoMod does not return them from quarantine.

Steps to Reproduce

  1. Create an automod rule (trigger_type: MEMBER_PROFILE). (You can add . as a regular expression to make the automod quarantine everyone)
  2. Quarantine the second account with AutoMod.
  3. Give the second account the admin role.

Expected Behavior

Automod returns a second account from quarantine.

Current Behavior

...

#

I can help peek under the hood a little and give the case that motivated this docs change.

In our backend, we can have an inconsistency between "guild thinks this user is a member" and "user thinks we are member of this guilds". In the scenario where the guild thinks the user is a member, but the user does not, we chose to reprocess the guild join for this user to remediate. A second GUILD_MEMBER_ADD is dispatched as part of the reprocessing.

#

I can help peek under the hood a little and give the case that motivated this docs change.

In our backend, we can have an inconsistency between "guild thinks this user is a member" and "user thinks we are member of this guilds". In the scenario where the guild thinks the user is a member, but the user does not, we chose to reprocess the guild join for this user to remediate. A second GUILD_MEMBER_ADD is dispatched as part of the reprocessing.

That is, this will not happen to tho...

chilly siloBOT
#

Description

/api/updates/distributions/app/manifests/latest does not accept platform=linux, which is causing "Update failed" loops with the new Linux updater.

https://updates.discord.com/distributions/app/manifests/latest accepts platform=linux just fine.

Steps to Reproduce

curl https://discord.com/api/updates/distributions/app/manifests/latest?channel=stable&platform=linux&arch=x64

Expected Behavior

JSON with latest module versions, URLs and hashes

Current Be...

#

our clients don't currently use this endpoint so this shouldn't be causing issues.

Output to stdout has errors from the new rust updater showing that it is using this endpoint

I can't reproduce this. Do you have NEW_UPDATE_ENDPOINT defined in your settings.json by any chance? Does this problem go away if you remove it?

#

I can't reproduce this. Do you have NEW_UPDATE_ENDPOINT defined in your settings.json by any chance? Does this problem go away if you remove it?

As I said, I'm just a messenger for something that was forwarded to me. But thinking over it after the "our clients don't currently use this endpoint" line, that is probably the problem.
<sub>I use NixOS, so none of this applies to me nor am I able to test easily</sub>

Even though its not in use anymore, it doesn't fully make sense why its not ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I understand the concerns with mobile compatibility but I would like to bring up the argument that there is a strong use-case for some implementation of columns/tables/inline fields in Components V2, even if mobile renders it vertically.

I help maintain an RPG information bot, and one of the embeds we used needs to display 16 separate stats, various character information, and related metadata. With the standard embed, this worked very well: desktop users saw a compact horizontal layout, ...

chilly siloBOT
chilly siloBOT
#

My idea for its implementation would be that it is sent to the bot as a string, but Discord on their end performs validation to ensure it is a valid integer. It would support min_value and max_value.

There are just some cases where numbers below 253 are just not enough.

In my specific case my bot has an input for a bitfield, but I had to switch it to use strings as there grew a need for huge bitfields, and in my opinion it's bad UX to not tell the user their input is invalid until after...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

The documentation is missing on how to delete the Application Role Connection.

It seems PUT /users/@me/applications/{application.id}/role-connection with an empty object ({}) deletes the role connection.

DELETE /users/@me/applications/{application.id}/role-connection also seems to work, although not documented.

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
#

Description

This has been a long-standing issue, iOS server subscriptions do not generate the usual renewal/upgrade/purchase notifications in the server's system messages channel that subscriptions purchased on web/desktop generate.
(Example of what I mean below:)

This has been a huge issue for trying to make sure iOS subscribers get the rewards they paid for as the only nudge we get of them subscribing is when they first subscribe through the audit log of them receiving the roles.
I wo...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

On iOS, the last button on each row is now wrapping to the next row. It appears that the button sizes have changed.

I've attached two screenshots before and after I noticed the problem.

I first observed this change a week or two ago.

I scoured my code, but I have not made any changes that should affect the size of my buttons.

Did Discord change the padding or button sizes for mobile devices?

All my buttons on every message are messed up now.

Steps to Rep...

chilly siloBOT
chilly siloBOT
#

Description

So, I built a "streak" system where you get an icon and a number added after your nameโ€”and the thing is, it works for everyone except the server owner; for them, it says "missing permission."

Steps to Reproduce

just try changing the server owner nickname

Expected Behavior

own behavior: name is changed

Current Behavior

Error with "permission missing"

Screenshots/Videos

No response

Client and System Information

  • Discord V14
chilly siloBOT
chilly siloBOT
#

Description

When a user with a gradient role runs a slash command on iOS (maybe Android too?), their name above the command's reply does not use the gradient color. Instead the member's name with a solid color is shown.

Steps to Reproduce

  1. Give yourself a role, with gradient colors, and make it your highest role.

  2. Run a slash command on iOS while you have said role.

  3. Observe that your name does not have a gradient, and instead uses a solid color.

Expected Behavior

Fo...

chilly siloBOT
chilly siloBOT
#

Description

Whenever I try to disable friend requests or message requests on my Discord account, I get this error when using this endpoint.
My account ID: 689901021199204467

(I usually reported this through the support portal, but itโ€™s been a long time and itโ€™s still marked as โ€œresolved.โ€ I canโ€™t adjust the settings I mentioned for my account.)

Steps to Reproduce

I have no idea how it was reproduced; it looks like there's a problem with my account.

Expected Behavior

I sho...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Adds three new sections to the Managing Voice Chat guide covering audio processing capabilities exposed by the Social SDK Client:

  • "Detecting No Audio Input" โ€” Client::SetNoAudioInputThreshold and SetNoAudioInputCallback for surfacing "your mic appears silent" UX.
  • "Noise Suppression & Cancellation" โ€” splits the WebRTC defaults (SetNoiseSuppression, SetEchoCancellation, SetAutomaticGainControl) from the optional Krisp-powered SetNoiseCancellation, and includes guidance on excluding Kris...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Since I haven't encountered your problem and have no idea how to reproduce it, I may not be able to help you.
Of course, I can continue to interrogate you, but I can't promise I'll be able to help.
To solve the problem, need to wait for an answer from the developers.

@vakiliner No problem, thank you for your help

<img width="695" height="275" alt="Image" src="https://github.com/user-attachments/assets/95a2e6fd-6024-45e2-abf2-7d473d8de3b6" />

chilly siloBOT
#

https://github.com/user-attachments/assets/236ceb3d-257a-41c6-998f-a76e182c288a I don't have this problem on any of my other accounts, but it occurs on my main account.

Based on the new attachments, I was able to partially reproduce the issue.
However, in this case, I was receiving a 429 error (Too Many Requests), not a 403.
The changes don't have time to apply, and refreshing the page resets the changes.

#

Based on the new attachments, I was able to partially reproduce the issue.
However, in this case, I was receiving a 429 error (Too Many Requests), not a 403.
The changes don't have time to apply, and refreshing the page resets the changes.

@vakiliner idk; I haven't changed the settings in a week. I'm still getting the same error, and the problem is only with one of my accounts.

#

@bignutty

Did you have the experiment-only favorites feature enabled on that account?
Probly no
Discord has since made the feature nitro-only, which might cause issues when your proto still has your non-nitro favorites and the client is trying to sync them to the server. (Assuming you don't have Nitro on the account)
I'm already a Nitro subscriber

chilly siloBOT
#

Summary

  • Replace the empty NameplatePalette.oneOf in both published specs with the documented palette constants.
  • Keep UserNameplateResponse.palette as a string enum schema instead of an empty union.

Fixes #53

Verification

  • Parsed specs/openapi.json and specs/openapi_preview.json with Node.js.
  • Checked NameplatePalette contains: crimson, berry, sky, teal, forest, bubble_gum, violet, cobalt, clover, lemon, white.
  • Checked there are no empty oneOf/...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I worked around the issue by shortening the text. And I had all my buttons lined up in one row once again. Ah, I was satisfied with the workaround.

Until today.

Today I see the problem once again!

My emoji button at the end seems to have grown extra padding on its right side, causing it to wrap to the second row (see attachment). Not only does the wrap mess things up for me, but the button itself looks quite awkward now.

I understand you can't guarantee specific button sizes, but can ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Basically #8243 isn't fully solved yet sadly. While it is better, it overall is actually worse because my double softbanning doesn't solve this new issue. I'm not sure on the reproduction steps this time as it doesn't work in isolation but there is a seemingly growing chance that it will leave a message behind.

This is across different bots and many servers that I've seen this reported. Sorr...

chilly siloBOT
chilly siloBOT
#

Description

When changing the SKU icons it just says failed like the size is wrong when it isnt, im even using the same picture to test it.

Steps to Reproduce

just change any SKU icon idk

Expected Behavior

to change normally without complaining

Current Behavior

Error telling you that you must use the correct size even when it is the correct size (?)

https://github.com/user-attachments/assets/09128551-f503-4043-812b-48ccaa41f40c

Screenshots/Videos

No response

...

chilly siloBOT
chilly siloBOT
#

Hi,

I wanted to suggest official API support for Discord Quests.

I was working on a bot that notifies servers whenever new quests release, but there's currently no official way to access quest data. Because of that, developers usually end up monitoring internal client requests, which can break unexpectedly whenever Discord changes something internally.

I think having a public read-only endpoint or webhook for quests would be really useful for community bots and dashboards. Even somet...

chilly siloBOT
#

Hi, i get the same error when modify the guild nick of a member.
This also affects client where if try to edit a member the save button does nothing.

Client:

{
    "message": "Cuerpo del formulario no v\u00e1lido",
    "code": 50035,
    "errors": {
        "guild_tag": {
            "_errors": [
                {
                    "code": "AUTO_MODERATION_USER_PROFILES_INVALID_GUILD_TAG",
                    "message": "La etiqueta contiene palabras marcadas por la comunidad"
    ...
chilly siloBOT
#

Heyo, just to get some extra info to try to narrow down what might be happening here, does there seem to be any pattern when this happens? For instance does it tend to happen more often at a certain time of day, in certain channels or servers of a certain size, or is there anything else about it that happens with this but not other bans, like the other message deletions taking longer?

chilly siloBOT
#

I've really only seen this happen (way less frequently than stated by OP) with spam bots.
Our spam detection bans the user and we still have 1 or 2 lingering messages that get additional mod pings for cleanup.

My (purely speculative) working theory was that the request was already accepted by the API but delayed or propagation through replicas took longer than usual, so the message fully "arrives" after the user was already banned and cleanup has already happened.

I have never seen this in ...

chilly siloBOT
#

Yeah, I haven't had too many reports but from one server they have told me it is getting worse. For context ive done 80k bans overall, so it's still very minor. And haven't seen any correlation as of yet.

I don't think its due to server size because my small server has gotten this.

My theory is it could be due to discords own load and maybe things get delayed or skipped.

But as I said earlier, ive tried to manually reproduce this and haven't had any success. The original issue was really ...

chilly siloBOT
#

the current component limit for Modals is 5 as of now, it's great but in some cases i have to add more than 5 components for various purposes, so i work around that by sending an ephemeral text message with a button containing another modal, which is kind of a hassle for the user.

so i suggest adding one of the following:

  • Increasing the Component limit to 10 components per Modal
  • Adding Pages to Modals, each page having a 5 Component limit
  • Giving Devs the ability to stack mod...
chilly siloBOT
chilly siloBOT
#

Expanded coverage across the Social SDK guides for what happens when the Discord-to-game link is severed โ€” by ban, explicit unmerge, or OAuth2 token revocation. Adds Ban-Driven Unmerge, Out-of-Band Revocation, When Refresh Fails, and Recommended Integration Path sections, plus a Discord Social SDK Considerations subsection on the APPLICATION_DEAUTHORIZED webhook event. Moves ban-lifecycle detail out of the moderation guide, which is no longer the natural home for it.

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Great to know! So to confirm, that's 250 roles in 48 hours, which would
explain my situation clearly.

Is it also correct that, on hitting that limit, no error is thrown for
subsequent role requests? I'd suggest that as a qol measure - I'll mention
on discord.js tooโœŒ๏ธ

On Tue, 7 Apr 2020, 03:41 Mason Sciotti, notifications@github.com wrote:

@SinisterRectus https://github.com/SinisterRectus is correct; the rate
limit on guild role creation is 48 hours. This does sound like a case of...

chilly siloBOT
#

Is it also correct that, on hitting that limit, no error is thrown for
subsequent role requests?

My guess is that you are hitting this and discord.js is waiting for the ratelimit to expire. Increase logging to confirm.

A 429 error should be encountered if the request was attempted. Your library is probably seeing that 0 requests are remaining and is naively waiting for the limit to expire, which would take up to 48 hours. Check with discord.js people.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I'm creating a service that polls from the invite API (https://discordapp.com/developers/docs/resources/invite). I'm testing it right now, so I'm probably sending a request about once a minute. However, I somehow got rate limited and can't use the API. It's been at least a few hours since my last query, and I'm still limited. Is there something I'm missing? (I'm sending GET requests to https://discordapp.com/api/invites/my-invite-code).

chilly siloBOT
chilly siloBOT
#

Not sure of the technical implications here, but adding member_count to these events would help to encourage stateless bots.

My particular use-case: DiscordServers needs member counts. We currently have to keep track of every servers member count and update based on these events. Would much rather stop tracking every server and just update the count when the event comes in.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Just have some feedback on the new bot verification feature. I think it's overall a pretty good idea due to the influx of Nitro/other scam bots DMing users and attempting to get added. However, I do have some suggestions and feedback I'd like to give regarding the feature:

  • Add a setting to disable DMs/mentions from non-verified bots. This can prevent bot DM spam on the user's side and could overall be used to help improve security for users who don't want to receive direct messages f...
chilly siloBOT
#

With the latest blog referring to new interaction features that maybe coming to bots, I would really like to drive home that Adaptive Cards would be an excellent solution. Their formatting options are bountiful with support of way more complex designs with fairly straight forward JSON, even collapsible cards.

They not only allow for more customisation in formatting, but allows for more interaction with actions. These actions would really bring Discord's bot support way up there and avoid h...

chilly siloBOT
#

I am fine/agree with all of the above except locking the name. I think bots should be allowed to re-brand or anything of the sort. 100 guilds, while may seem like a lot to some people now, is very early in a growing bot's life and having to lock down its identity at that point can be damaging. All systems are prone to abuse but the verification makes it much more difficult for someone to do once and even harder to repeat offend.

This could allow a bot owner to change their bot's name to ...

chilly siloBOT
#

Regarding locking up name: maybe allow editing it but require to provide reason and someone on discord side would need to approve it, would be some middle ground between full lock and security

To add to all that one more useful feature in my opinion would be to add who owns bot on verified bots profile, what I have in mind is something like this, small popup with owner username.

![obraz](https://user-images.githubusercontent.com/22918653/78811590-5be04300-79ca-11ea-9af9-922d31d6e6cd.pn...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Earlier Mason said that all the currently documented flags are "public":

The bot public_flags property seems to be the same as the flags property from OAuth, but is different from (less than) the internal flags in the client. From my testing, the public_flags/OAuth flags uses the same flag values as the internal flags, but it only includes the documented flags (testing with the documented flags gives the same result, but t...

chilly siloBOT