#github-notifications

1 messages ยท Page 35 of 1

chilly siloBOT
chilly siloBOT
#

Description

Emojis in (autocomplete) choices break the input field if the corresponding option requires type NUMBER. Works fine if the required type is STRING. It's also doesn't seem to be caused by colons, no matter the amount.

Steps to Reproduce

Create a command with an option requiring a number and return an autocomplete option with an emoji in the name. Selecting the choice with the emoji works, but the command cannot be executed and the input field remains soft-locked.

...

chilly siloBOT
chilly siloBOT
#

Description

When a component is disabled, VoiceOver does not state it is disabled. This gives the impression that the component can still be interacted with.

Steps to Reproduce

  1. Find a disabled component
  2. Traverse to it

Expected Behavior

The component would state it is disabled.

Current Behavior

The component reads as if it were enabled.

Screenshots/Videos

No response

Client and System Information

Discord iOS 99.0 (28755)

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

The recent outage highlighted to a couple of users that it is possible to receive a GUILD_CREATE with an unavailable guild object as its payload. It is unclear to me what scenario this would indicate but from a brief conversation in ddevs it seems that it can occur if you were added to a guild during / shortly before an outage, and similar cases where the guild was not in the ready payload initially.

[This section of the docs](https://discord.com/developers/docs/topics/gateway#guild-create...

chilly siloBOT
#

It shows up specially in small servers like 10 members, where the owner didn't make any roles. I think it should be available for every server, regardless there's any roles or not.
Why?
It clears the doubt for new joiners that who's the real owner, and can share sensitive information/discussion with them, rather than any admin/mod who's online.
Also show the badge on the owners client as well, ie. show them that they're the owner of the server, so it may clear more people's doubts on this.

chilly siloBOT
chilly siloBOT
#

For the first year and a half, they were called "slash commands" and in fact, the end user facing education still refers to them as Slash Commands. So, really, you should be arguing this should stay for all the hobbyists that don't know what the API naming convention is.

This is gonna get closed, but just putting in my 2 cents as to why this isn't achieving what you intend for it to be.

If you wanted to r...

chilly siloBOT
#

Despite this PR being marked as closed, I think the author brings up a valid point. Slash and application commands as titles of the same feature implementation go hand-in-hand together already. My assumption was that the existence of Slash_Commands.md after migrating the details over to the application commands equivalent was so that current documentation in various projects wouldn't simply break, plus, it would serve as a redirect for people to look at. I disagree with the use of the term ...

chilly siloBOT
#

Despite this PR being marked as closed, I think the author brings up a valid point. Slash and application commands as titles of the same feature implementation go hand-in-hand together already. My assumption was that the existence of Slash_Commands.md after migrating the details over to the application commands equivalent was so that current documentation in various projects wouldn't simply break, plus, it would serve as a redirect for people to look at. I disagree with the use of the ter...

chilly siloBOT
#

Expanding on this, "move message" would be great.
Too often a topic starts and dominates a low-traffic channel that should have been started as a thread. There will even be a reply of "Well it's too late now", and then continue to dominate even more in that channel.
The decision to not thread when it does feel "too late" stems from not knowing how long the conversation will continue from there on, and not wanting to waste a thread on a topic that will only have 1 or 2 more messages.
At lea...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Ok, so discord already has a helpful feature which allows us to mark viewed all pending unviewed messages and dms, but what about pending friend requests?
I like to meet new people, and people like to talk with me, but in the mid of new people, they're are trollers with lots of self bots. They will send a lot of dms with lot of accounts, and send a lot of friend requests. We can deal with marking all dms as read, but idk what about the pending friend requests. So I would love to hear what di...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

You guys are removing the message content intent, which is gonna be a huge problem for beginner developers and also us devs.

we will need to get our bot verified, and we will have to use slash commands. we already had a massive setback when danny stepped down from the discord.py api developement, and now when you guys disable the intent, we bot devs are screwed cuz text based commands will be gone and the only way to view those is by watching videos and it will be history to see text...

#

If you aren't able to implement slash commands, you can have your users @-mention the bot in command messages to continue using message content based commands (e.g. @Bot ping).

In addition to that, there will be new tutorials and new documentation that will show application commands and they'll hopefully overtake the older, now broken, tutorials in time - some libraries are already using Application Commands in their Getting Started documentation, and as the Message Content Privileged In...

chilly siloBOT
chilly siloBOT
#

checked on this and sounds like we're not currently planning on returning an error here. Like you mentioned, setting a timestamp in the past shouldn't functionally timeout the user, and we currently we do have communication_disabled_until values set to values in the past since they never get cleared once the timeout expires. so it's currently not invalid for the property to hold past timestamp values. But an argument can be made to still validate against past timestamps when setting the v...

chilly siloBOT
#

Description

Try to create dm will response whit a empty array

Steps to Reproduce

Respone whit chat id or add it on the user api

Expected Behavior

Response of the channel id whit user name

Current Behavior

a empty array

Screenshots/Videos

image

Client and System Information

Postman api system
and php api

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Reattempt of #3094

Document that allow and deny can be omitted/be null as they default to 0 in

  • create channel
  • modify channel
  • edit channel permissions

The overwrites in the partial channels in the create guild endpoint can also be partial, but I don't know if I need to document that as the channel is already specified as partial.

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

HTTPS interactions actually can't load all guilds from gateway and sync this with cache, also When you add only application commands to the server bot can't load /guilds/:ID to check this (event when it would be able to do that, spamming api with 80 - 200 requests per user is stupid)

Suggestion how to fix this:

  • Create custom endpoint to get only mutal guild
  • Add to /users/@me/guilds mutal field
chilly siloBOT
#

Right now, we have the user type for options, which lets you select an user, however, this user can be any user, even if they're not in the server. This leads to custom checks on the dev side to know if the user selected is really in the guild, otherwise causing issues on commands where you need a member such as timeout. The member option type would require you to select a member of the server, so there's no need to have custom error messages when the user you selected is not in the guild. Is...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When changing the guild's preferred language (aka guild locale), App tab disappears and thus user and message commands too. Slash commands still work fine.

This issue appears in all the members of a guild, making an entire guild not possible to use context menus.

The only way (I have found) to fix this, is reloading the client.

Steps to Reproduce

  1. Register any context menu command.
  2. Change the guild's locale.
  3. Try to use the context menu command.

Expe...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

I have started creating a feature that use ephemeral follow up and I am editing the message successfully.
But when it comes to deleting it, I am receiving a Unknow Message error.

The API documentation says that ephemeral follow ups are not manageable Does not support ephemeral followups..

It would be nice to support deletion for ephemeral messages since editing works, and updating documentation about it.

Steps to Reproduce

  • Create a follow up message to an int...
chilly siloBOT
chilly siloBOT
#

Server owners always have Administrator (ADMINISTRATOR) permission.
I don't see the difference between "ADMINISTRATOR permission" and your so-called "administrator permissions", except the latter is not consistent with rest of documentation which describes permissions LIKE_THIS, and even if there is another difference, it's very hard to see it since it's not intuitive, and [no other part of documentation has used the latter](https://github.com/discord/discord-api-docs/search?q=ad...

chilly siloBOT
chilly siloBOT
#

I've searched the documentation and didn't find any clear answer to whether requests to interaction endpoints should use the Global Rate Limit bucket shared with other endpoints or not. This is especially important for large bots considering that Discord can theoretically send you dozens of interactions per second.

According to the information I've gathered, the Global Rate Limit doesn't apply to these e...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

ThreadMetadata#create_timestamp is documented as optional, non-nullable in the docs. With REST, it apparantly follows this documentation. However for gateway, it is sent as null in GUILD_CREATE's threads attribute.

(Am I surprised that this happens? No. But I'm not making a PR because I am unsure if this is intentional.)

Steps to Reproduce

  1. Have a guild with an active thread that was made before 1/9/2022.
  2. Connect to the gateway.
  3. Look at the `GUILD_C...
chilly siloBOT
#

If you aren't able to implement slash commands, you can have your users @-mention the bot in command messages to continue using message content based commands (e.g. @Bot ping).

In addition to that, there will be new tutorials and new documentation that will show application commands and they'll hopefully overtake the older, now broken, tutorials in time - some libraries are already using Application Commands in their Getting Started documentation, and as the Message Content Privileged In...

#

You guys are removing the message content intent, which is gonna be a huge problem for beginner developers and also us devs.

we will need to get our bot verified, and we will have to use slash commands. we already had a massive setback when danny stepped down from the discord.py api developement, and now when you guys disable the intent, we bot devs are screwed cuz text based commands will be gone and the only way to view those is by watching videos and it will be history to see text...

chilly siloBOT
#

we will need to get our bot verified, and we will have to use slash commands.

I believe there's a misunderstanding between your interpretation of how the message content intent will impact bots starting April 2022 and onward. This link here should and will go over most of the commonly asked questions surrounding the existence of this privileged intent, which I highly recommend reading.

[...] and now when you guys disable the intent, we bot devs are screwed cu...

#

The edit guild member endpoint was recently changed to send a 403 error when you timeout a user that has administrator permissions (it previously allowed you as long as you have the permission and higher role) This change went live randomly last week without any notice to developers. 403s cause API bans and having previously done our permission checks, this came out of the blues as a surprise. A ping or api changelog documenting the change would be nice. (as of today 01/30/2022, the docs sti...

chilly siloBOT
chilly siloBOT
#

Hello all,

I would like to take your advise on discord bot. I want to make a campaign on discord that users interact of my tweets by rt, fav and comment ( could be changed depends on campaign). And I want to take a report for user basis at the end of the campaign (how many rt,like and comment did by users).

For that, do you have a solution or for which step which solution could be implemented?

Thanks in advance,

chilly siloBOT
chilly siloBOT
#

Currently, when replying to an interaction, discord checks for everyone permissions and not bot permissions. Ik it's because non-bot application can also reply to an interaction. But it's causing a simple problem in my bot. I send external emoji in my reply which need use external emoji permission. My bot have the permission but still it's showing :name:. All the servers won't give use external emoji permissions to everyone role, but they'll give to bots. So at least for these permiss...

#

Description

Same payload as #4213 :

{
    'type': 8,
    'data': {
        'choices': [
            {'name': 'number', 'value': 22335}
        ]
    }
}

Autocomplete options never show up on mobile for integer and similar options

Steps to Reproduce

  • post a type 8 with a choices field on the interaction autocomplete request on an integer option
  • go to your mobile device
  • notice no matter what you type, no options show up or fail

Expected Behavior

...

chilly siloBOT
chilly siloBOT
#

It was closed because this documentation is for the API. We don't document client behavior.
Where then, should this be documented? There is precious little information about this, and no logical place where it should exist.

If you don't document client behavior, why do you document the format for sending emojis? In fact, plenty of documentation exists on the api documentation for things such as this, and the line is pretty grey. Where else should this be documented?
The fact is that...

chilly siloBOT
chilly siloBOT
#

When responding to an interaction with /callback, currently the API returns No Content (204).

This means if you want to later reference the sent message, such as to to handle components, add reactions, store the message ID etc. it will require an extra API call to /@original to get the message data.

In a Discord API wrapper, it would help to have the send method able to return a...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

It would be great to be able to create context menu commands for attachments.

Developers have the ability to create context menu Message commands to somehow process attachments, however, this approach has a few problems.

Firstly, if the message has more than one attachment, then the bot will not be able to determine which attachment a user meant.

Secondly, the bot can have message context menu commands both for processing attachments and for processing the text content of the message. T...

chilly siloBOT
#

Yes, I still recieve null in my threads parameter. Here's the trimmed (raw) json I got, thrown into a prettifier:

{
  "threads": [
    {
      "type": 11,
      "thread_metadata": {
        "locked": false,
        "invitable": true,
        "create_timestamp": null,
        "auto_archive_duration": 10080,
        "archived": false,
        "archive_timestamp": "2021-12-21T04:03:10.474000+00:00"
      },
      "rate_limit_per_user": 0,
      "parent_id": "xxxxxxx",
...
chilly siloBOT
#

Changelog is desperately needed, just a small aside here:

If you are worried about API bans, you should track the number of invalid requests that you make and do something when you are seeing unusually high numbers of invalid requests.

djs/rest actually has a dedicated event that can be configured for just this purpose, I hope some other libraries have it to, and if not I'd love to see that in more libraries to combat this.

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Continuing on NovaFox's message, I use the error codes quite often to discriminate specific errors (e.g. if an API error is an UnknownMessage, UnknownChannel, or simply MissingPermissions) and do one thing or another, I can't be the only one doing this.

With the removal of the table, we won't be able to have a reliable source for those codes, and they'll eventually fall outdated, meaning that in the future we won't be able to tell if an operation failed due to one specific thing or another.

#

For me it's more that: it's fixed for newly created threads and consistent for them, and all the old threads will eventually auto-archive anyway, so by the time that data is evicted from the "cache" they'll probably be archived anyway and it would be a moot point. And if I do fix this issue, it's just one line, it means that things would become more inconsistent because you cannot know if a given old thread will have null or have the field omitted.

So that's why I was leaning towards "do...

chilly siloBOT
#

But this issue is simply prompted by the incorrect documentation. In my library that's statically typed this causes a deserialization error. If you intend to keep the behavior that doesn't match the docs that's fine, but don't close the issue until the documentation is amended. The issue was never about whether this behavior should change or not.

Description

ThreadMetadata#create_timestamp is documented as optional, non-nullable in the docs. With REST, it apparantly follows this...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

For some reason the bytearray does not end with b"\x00\x00\xff\xff" so it waits to receive the next data, the problem is that it takes too long to send so much that it ends up sending code 1000 because it was not sent a hearbeat because the "READY" event is expected. Now it happens that if it is decompressed without finishing the suffix, the object appears successfully.

Steps to Reproduce

  1. Connect to discord gateway
  2. Send identify
  3. Wait message

Expected B...

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

It seems that discord doesn't approves bots which are in multiple guilds by the same user. So this can become an advantage for a end user, who wants to ruin the bot developer's life. Reaching 75 servers, that too without dm advertising or any bad way of advertising, can be considered like a very big achievement. But just because someone hated a bot, they added the bot to multiple testing servers, which made discord team unapprove their bot verification. If discord team wants to stop these bad...

#

Motivation

Many popular libraries, such as discord.py, have support for group commands, in which the route of a group can be invoked by the user. Let's take a look at a simple example of this in dpy.

# !foo
@bot.group(invoke_without_command=True)
async def foo(ctx):
    if ctx.invoked_subcommand:
        return
    
    return await ctx.send("foo!")

# !foo cas
@foo.command()
async def cas(ctx):
    return await ctx.send('foo...
chilly siloBOT
#

Someone did this to me, but it flagged up the inorganic growth on the page before I was even able to fill out the form.

in this case do not apply - instead you should list out the guild id and owner of of each guild your bot is on and then look for patterns. in my case some one person had made 50 test guilds.

you can then make a one off command that forces the bot to leave all these guilds and then wait before trying again to verify.

moral of the story if the form you fill in flags u...

chilly siloBOT
chilly siloBOT
#

If you get denied for inorganic growth, it's not due to shared ownership because that is checked before you actually apply. Manual denials are based on much more factors we don't know about because it is an anti-abuse measure to fight bots with bad intention to grow past 100 servers

Not only someone adding your bot to tens of servers won't get you denied, but it is also easily fixable with a quick eval (hi ian) that leaves servers owned by the same set of users

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

The current API documentation of the manage server permission is somewhat vague, and doesn't actually describe the specific actions someone could take when granted that role. In addition, manage messages fails to mention pinning messages in it's current form, which could be confusing to beginning bot developers

This change fixes both issues, making things a little bit more clear on both permissions

#

And yes, this feature request has been a response to a real abuse scenario I have experienced while moderating a real Discord guild. I had to manually go and delete 2k+ messages of the offending user. It took more than seven hours to manually identify and delete all them one by one, as no existing bots had that functionality and making and testing a new bot with that functionality would have taken something like a week.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Of course, I understand that the case below is very unlikely to happen in real conditions. However, it seemed to me that this behavior was not intended

Steps to Reproduce

  1. Timeout a user
  2. Give the user administrator permission.
  3. Observe

Expected Behavior

The timeout will be removed from the user

Current Behavior

The timeout was not removed from the user. At the same time, it is now impossible to remove it since the corresponding button is not display...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Bulk Overwriting guild commands while an android device is locked causes the command picker model to fail when opened.

Steps to Reproduce

  • Close and reopen the android client. (not required, increases consistency)
  • Go to a guild with a single bot and multiple commands.
  • Type / and scroll threw the command list.
  • Lock your device.
  • Bulk Overwrite guild commands without making changes (in the aforementioned guild).
  • Unlock your device and click in the text bo...
#

I pointed this out a couple times in the chat for the last stage event. I tried to edit a few messages there and pretty immediately decided it was never going to happen because it really is terrible UX.

I guess the justification is this: if you are editing a message in a fast moving chat, its probably best to send a new one because no one will even see the edit, for an interaction, that is supposed to be way more common and having that difficulty is a lot less justifiable

#

if you just scroll up it turns off auto scrolling, they could make it automatically stop auto scrolling if you open edit or click in a component but tbh it's easy to already just scroll if you need the chat to stop moving; I don't see this as a good justification for not adding a text input message component which would be super useful

chilly siloBOT
#

it's also ignoring the fact that not every interaction will be in a fast-moving chat or one that gets messages often in general, and it should really be on the bot devs to consider the best use cases for their implementation of components. for example, i have a form bot that DMs you each question one after another in order to fill out a form. this isn't necessarily bad, but it'd be nice to be able to turn 10 or so messages into a single one that gets updated when a user submits the text box...

chilly siloBOT
#

I don't know if this has already been requested, but ...
Can a switching setting called something like "Enable auto-mention on reply" and when you deactivate it and reply to a message, the mention will be automatically set to "off"

Why is this necessary?
It will be a great relief, at the moment we have to constantly press the button to exclude the mention

chilly siloBOT
chilly siloBOT
#

Normal users and bots can send stickers that are in the current guild by sending the sticker_ids field. However, webhooks cannot send stickers, as the Execute Webhook endpoint does not have a sticker_ids field. This seems like an oversight since sticker_ids and message_reference are the only fields present in the Create Message endpoint but not the Execute Webhook endpoint, and there doesn't seem to be a reason to explicitly block webhooks from sending stickers. Webhooks are often use...

chilly siloBOT
#

Description

I have been working on a bot that can suppress embeds for messages with specific URL's. An intermittent issue that I have been running into has been a message with a suppressed embed showing that embed anyway. This seems to be happening when the call to suppress embeds resolves before the server can discover what it would embed.

Steps to Reproduce

Create a bot that will immediately suppress the embeds of a message. With discord.js, it'd be something like

im...
chilly siloBOT
#

@Suspense4615 What if it were changed to Allows managing invites, settings, welcome screen, template, integrations (bots, webhooks, and app integrations), and the widget of a guild? Then its about the same length as the description in the moderate members permission. It seems like getting up to three lines isn't a huge deal, and the added clarity would be a big improvement, without having to create a new section.

#

Alternatively, if we used @PlavorSeol 's suggestion from above, (quoted below) and had each of his categories link to the relevant endpoint information, then that would shorten things and ensure detailed descriptions

He suggested we change it to Allows deleting invites, editing guild settings and welcome screen and managing guild template, integrations and widget

Editing guild settings and [welcome screen](https://d...

chilly siloBOT
#

Nested/collapsible autocomplete - (top level > subcommand groups > subcommands). This will clean up the commands menu significantly

What is the vision for this? A sort of ui improvement that allows slash command groups to be collapsed in the commands menu? What does "Nested/collapsible autocomplete" mean..?

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

The argument list for voice channels you can pass as a parameter for a slash option of type 7 which is CHANNELS with the channel_types flag set to 2 (Voice channels) should be tied to VIEW_CHANNEL permission.
Like for channel_types flag 0(GUILD_TEXT).

However for voice channels if you miss CONNECT permission but still have VIEW_CHANNEL the channel does not appear in the argument list.

Steps to Reproduce

Register a slash command with an option of type 7 and c...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Possession of a thread

This will allow us to create a thread and give ownership to someone who is inside it

Why is this needed?

There are so many thread bots now, such as when you send a message, they create a thread for you, but you can't archive or delete it because the bot created it. So, if you do this, the bot can give the ownership of the thread to someone who has joined the thread, and this member will have permission to archive / delete it.

chilly siloBOT
#

From my own experience, this'd help a lot.

I'm part of a Discord server where we help people with programming issues. To improve the UX of helpers and askers we want to switch to threads. The user will receive a form (modal, when released), and based of the information the user gives we'll create a thread.

This allows us to add tags to the title, and a more. But unfortunately this results in the bot being the owner of the thread, so we've to add a command for the asker to archive/delet...

chilly siloBOT
#

Description

The Use external stickers permission is being checked only when you open the sticker menu, but the API isn't limiting you on that.

Steps to Reproduce

Pick a frequently used sticker from another server or type a sticker's name in chat and picking it successfully sends it even without the permission.

Expected Behavior

Receive a Missing Permissions REST error or not be able to pick stickers from different servers

Current Behavior

The Message successfully sends
...

chilly siloBOT
#

While that does work (and is the current work-around)

client
  .on('messageUpdate', (oldMessage, newMessage) => {
    if (
      newMessage.embeds.length > 0 &&
      newMessage.flags.has(MessageFlags.FLAGS.SUPPRESS_EMBEDS)
    ) {
      newMessage.suppressEmbeds().catch(() => {});
    }
  })

it is not behavior I believe I should depend upon. It does not seem unreasonable to me that a message with the SUPPRESS_EMBEDS flag should be without embeds.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Just now as long as you have 1 mutual with a user you can send then private messages, this discussion purposes that a restricted property be added to guilds, true by default but the ability to set it to false. This would exclude the guild from being used when the API is calculating if a message can be sent. This would be handy for bots that detect raids, as everyone knows spam/phishing has been majorly on the rise recently, allowing bots to temporarily restrict dms while they work throu...

#

As for concerns on how this might affect other bots on the server attempting to message users legitimately, a new error code could be added, indiciting in this specific circumstance why the message could not be delivered, this would allow for bots to wait for a guild update event and once the restricted property has been set back to false, they can continue on as normal.

#

This would be handy for bots that detect raids

It indeed would.

As for concerns on how this might affect other bots on the server attempting to message users legitimately

I think this should be bypassable by bot accounts, if a bot made it into your server and it started mass dming people, you have a bigger problem (related to the person that added it in the first place and the dangerous perms they have to do bigger damage)

The new error code would also double as a way for cl...

chilly siloBOT
#

This PR clarifies the autocomplete documentation to mention already-filled options being sent in autocomplete interactions, and that required options might not be present in this type of interaction since the user will not always have filled them yet

It also implies the usefulness of the focused field, which might otherwise seem useless if the focused option is always the only one being sent

This behavior was originally mentioned in [devsnek's notion](https://devsnek.notion.site/dev...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I still don't see the point. User-side privacy settings will go nowhere, you should still be able to disable DM in classic way.
With the introduction of new permission, it will effectively require both you having SEND_DIRECT_MESSAGES permission and the recipient opening the DM, in order to be recognized as "mutual".
But both having restricted in guild object and SEND_DIRECT_MESSAGES permission bit doesn't seem to make sense, since the permission itself is meant to restrict DMs...

chilly siloBOT
#

I also think this would be a great idea. Sure, you could add a single if statement to validate the option's value after the user sends it, but like @RedDaedalus said, it's objectively better UX to have client-side validation. The end user will have to run the command again with the appropriate value, which will be more frustrating and is objectively a lesser user experience than having it do a client-side validation.

#

I also think this would be a great idea. Sure, you could add a single if statement to validate the option's value after the user sends it, but like @RedDaedalus said, it's objectively better UX to have client-side validation. The end user will have to run the command again with the appropriate value, which will be more frustrating and is objectively a lesser user experience than having it do a client-side validation.

#

I also think this would be a great idea. Sure, you could add a single if statement to validate the option's value after the user sends it, but like @RedDaedalus said, it's objectively better UX to have client-side validation. The end user will have to run the command again with the appropriate value, which will be more frustrating and is objectively a lesser user experience than having it do a client-side validation.

chilly siloBOT
#

I'm fairly certain the idea behind the default parameter (that currently does nothing) was to support a similar flow. E.g. user did not select a subcommand, so use the default.

Since actually implementing this requires a redesign of the UI first (which requires whatever database rework that keeps being mentioned) maybe there is even a chance to add a display boolean or similar to the default subcommand to hide that subcommands name in command window.

Regarding the above, I initially d...

chilly siloBOT
chilly siloBOT
#

Note that users will get the "may open an application on your computer" warning after clicking the link button when using the discord:// protocol. I understand this is for security reasons (there's no way to guarantee discord:// will link to the discord app), but it's a bit unfortunate that the user can see the URL filled with scary numbers unlike in Chrome for example which only opens a prompt.

Also, for others in the future who stumbled upon this question, the URI for linking to a channe...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

The voice_states property in the guild object contains channel IDs that could not be found in the channels property, which has caused some libraries to behave unexpectedly.

One guild in particular that this was happening for back on December 30th was 835244823857332245. Upon restarting the bot to receive an updated guild object, this guild in particular consistently failed due to the mismatching information.

Steps to Reproduce

  • Connect to the gateway
  • Reques...
chilly siloBOT
#

Hi everyone,

Weโ€™re making some changes to the Community Resources section of the documentation. The goal is to better serve its intended audience: people who are new to the Discord API and are looking for a way to get started.

Hereโ€™s whatโ€™s changing:

  • Weโ€™re tightening the standard for inclusion in the libraries list. A library is included if:
    • It's used by at least 1,000 active bots.
    • It supports bot features that have been generally available for over a year.
  • The list wi...
#

This seems like a bad move. This is biased against:

  • libraries in exotic languages (does either Nim library have even close to that many users? But I would argue at least one should remain for the occasional Nim user)
  • rest-only libraries, like RestCord
  • new libraries. Unfortunately, discovery for these new libraries is terrible and it's silly to delude ourselves that getting a library on the community resources page doesn't get some attention.

Additionally, even the metric is ill-defi...

chilly siloBOT
#

What's your use case here?

@lsdimagine I believe I've already listed a few use cases in the original post but I can go into even further detail.

  1. A scenario where you want to edit interaction messages at a later time when the message is referenced later (for example, detecting someone replied to an interaction response or mentioned it's message ID, and then updating the message)
    • In order to do this we need to store the message ID of the interaction when it is sent along wit...
chilly siloBOT
#

I believe if the goal is to drive visibility to the "best" libraries only including popular ones just gives the opposite result. Now, instead of a beautiful diverse ecosystem of libraries and bots made with them Discord bots would become reliant on the "big" libraries and maintainers may feel like they no longer get the ability to just give up on the library.

What if something like Discord.py happens again? It would take up to a quarter to get replaced and many bots on the platform would ...

#

Here are my thoughts:

  • This list isn't the only source of truth for finding a library. It's meant to be a nice clean place for newbies to start out, not an exhaustive list of languages. Someone looking for a library in an exotic language should Google for it.
  • We already record user-agent, but yes we'll document a way to identify interactions libraries.
  • Overall, the outbound traffic from community resources is very low. Whether a library appears on the list or not has no bearing on ...
#

I have just seen typpos response regarding outbound traffic from the resources page, but my concern about an unhealthy dependency on the developers of "large" libraries still stays. At this time nothing keeps a developer from deciding they've had enough and departing, with more users being diverted towards their library they now have to up their support resources as well as may develop a "I can't stop because people will still need me for so long" mentality.

It's my opinion that these ment...

#

This makes a bit more sense as I thought you were only considering gateway identification for "active" bots. RE: outbound traffic, I was mainly focusing on the effects of having an open PR (occasionally with controversy), but the statistic is interesting. However, I feel like your thoughts on the community resources list are different than what they are currently portrayed to be.

Currently, they state:

The Discord team curates the following list of officially vetted libraries that confo...

chilly siloBOT
#

There would should never be such as finite number to get added to the list. malicious developers would find such a way to manipulate the numbers. this should have a similarity structure to the Partnered Server Owners application. partner program has issues on it own but each application has a secret magic to it in order to get approved. such requirements are not shared publicly beyond the Community Team hence why the partnered servers are very high quality. the same should be done her...

#

I'm still thinking about this after a conversation had with some friends in a private space. Aside from the concerns about potentially unhealthy dependency on library developers, I believe that if the goal is to highlight libraries that Discord knows "works" or has the most recent features, the community should still have a say in highlighting the most interesting and diverse options.

It's not the right mindset to see the list as a "these are the only options", but to give prospective or a...

#

Is the 1000 active bots metric a requirement, or more of a "strong suggestion"?

By that I mean would a library with several hundred (but not 1000+) active bots, doesn't break the code of conduct, and has good code quality, be able to appear on the community resources page?

It would be nice to give a "spotlight" (for lack of better words) to well maintained libraries that haven't reached this 1000 bot target, as a pure metrics driven approach could unintentionally encourage unwanted beha...

chilly siloBOT
chilly siloBOT
#

Description

Recently, the Create Interaction Response endpoint started blocking valid requests for responses with files and no other message fields.

Steps to Reproduce

Respond to an interaction with attached files, the type field, and either no data field or an empty data object.

Expected Behavior

If files are included in the response, then it successfully sends the message as it did earlier, without needing to include the data field.

Current Behavior

If the res...

#

Based on current usage, the Community Resources section has no bearing on how diverse/not diverse the Discord ecosystem is or whether a library is successful. It is used by a small number of new arrivals and most libraries currently on the list do not receive meaningful traffic.

No longer to library artists get to develop libraries for fun or educational purposes and some may feel obligated to purely because of the need developed upon them, which isn't good for an open source maintain...

#

Unfortunately that approach will cause people to claim bias, debate inclusions, etc. Short of removing the entire section, the most objective approach is to come up with is clear, public criteria.

Re: large libraries vs small libraries, we have found that the Community Resources list has almost no influence on whether a library grows or not. Most people find their libraries elsewhere (I'm guessing through tutorials and package managers). For this reason it's best to keep the criteria si...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Honestly, I didn't agree with "It's used by at least 1,000 active bots". It makes a new library more far pointless as adopting a library for new people without knowing it's existence. Some of newbies also take look at community driven libraries and without notified them about the creation, how it suppose to grow about "1000+ bots"? Yes, except the creator and some sort of user until advertise to other to use that library, but it's not reliable and will take a long time to grow in that point.
...

chilly siloBOT
#

@advaith1 we (or I) think new first time bot devs don't know about this fact, and it's too late when this happens, for some people's bots, once they kick their bot out from fake servers, they can continue, but for some, their bot gets blacklisted because it was added to fake servers a lot. Overall, this idea should get implemented so devs don't need to worry once they reach verification. Honestly it does feels bad when you tried to so hard to get to 75 servers, but then you will find out 10 o...

chilly siloBOT
#

Vร o BE 2565 thg 2 8, Th 3 lรบc 02:23 Ian Mitchell @.***>
ฤ‘รฃ viแบฟt:

I'd try again and mention that it's the official Discord-owned developer
server

โ€”
Reply to this email directly, view it on GitHub
https://github.com/discord/discord-api-docs/issues/4451#issuecomment-1031831371,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXPQ7355DDFSILHXGHCKJ7LU2AL3VANCNFSM5NV5TTTA
.
You are receiving this because you are subscribed to this thread.Message
ID:...

#

Vร o BE 2565 thg 2 8, Th 3 lรบc 02:26 Angelo II @.***> ฤ‘รฃ
viแบฟt:

I'd try again and mention that it's the official Discord-owned developer
server

Okay, I'll send a request to T&S discord again, thanks

โ€”
Reply to this email directly, view it on GitHub
https://github.com/discord/discord-api-docs/issues/4451#issuecomment-1031833689,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXPQ73ZJ7TR7TU3Y7ALCE2TU2AMEZANCNFSM5NV5TTTA
.
You are receiving this...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

so it's not going to be transparent then?

you cant expect every thing to be transparent, atleast not the security part. To be fair, most of the open source projects ask people to inform the maintainers about the security via email or any similar private service (eg: DMs on discord). Also being transparent may sometimes provide outdated info, like if there was a page about being transparent and it doesnt gets updated, some good/new lib may not be used by a new dev just because the outdate...

#

We make it clear that user account is no longer supported with Eris and there have been no updates on user account features since the relevant ToS change. Also I don't know what statistics you're referencing from but there's only been around 10 discussions about removing user account features since 2018 of which only like 2-3 of them have been actual requests to remove them.
You're welcome to join our support server if you want to discuss this further

#

This idea seems to be looking more of a app discovery/ server discovery requirement:
Those two discoveries seems to be promoting popular servers, but not small and new servers.
Same goes with the library: popular gets more popular, new gets no attention.
I would like to suggest changes:
Instead of having a requirement of 1000 active bots, we can have requirements like:

  • having atleast 100 stars (most open source helping projects take this as an requirement, like crowdin, open collective...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hi, thank you for the PR. For the time being we would like to keep these definitions vague. What permissions can do is ever changing with the addition of new APIs and product features, and documenting the actions explicitly on this list would make it quite easy for something to be left out in the future or missed, and thus become out of date. We recognize that this is an issue in this table and may explore if there is a better way to document this without having this problem in the future.

#

Thanks for the report! I think in this case there may have been some confusion about the bug, since it is a weird interplay between client and API. But in this case, yeah, we would consider this a client bug and ask you to file a ticket with support (or bump the existing ticket you mentioned before). I've reached out to our support team to clarify and let them know we directed you back to them as well

#

This is an edge case among a few other re. admin permissions and timeouts that we didn't address for the initial launch. It is in our backlog to clean up some of these confusing admin permissions + timeout interactions so we might address this during that cleanup. Closing this for now since we don't have a timeline for this cleanup but will make this specific interaction is added to the list. Thanks for reporting!

#

Your implementation may be incorrect. READY payloads may never arrive or may be delayed during service disruptions. An application should not wait for READY to begin heartbeating. Once you receive a Gateway HELLO opcode, your application should begin heartbeating on the requested interval.

If you are still seeing issues after fixing your heartbeat implementation, you may not be implementing zlib as described by the ex...

chilly siloBOT
#

Description

Hello,

We've observed that some of our wiki articles, when shared via Discord, generate a link preview that seemingly ignores the description contained in metatags in the article HTML, and generates it via some other mechanism. This can result in unwanted artifacts, e.g. image captions, being included in the description even though the description served via metatags doesn't include that.

The link previews of these articles behave as expected (i.e. use the description f...

#

Unfortunately, many of these criteria are highly gameable/subjective and would lead to ambiguous reasoning and outcomes similar to what we have today.

what exactly is the issue youre trying to prevent?
As a user, i dont see a problem with the page and the system as it is now, and it's 99% community maintained and policed anyhow?
What have i missed? I'm concerned the harm this will do to smaller projects in esoteric languages. There's no way for example any C++, nim, julia, etc lib coul...

#

Hi @InvalidLenni,

Your observation is correct. Unfortunately, I have not been able to find any documentation that describes the metatag(s) that Discord's link preview fetcher considers when generating the embed. However, it seems reasonable to assume it considers either the twitter:* family, or the og:* family, perhaps both in some order of precedence.

In fact, the description within twitter:description appears to be honored for most pages, such as <https://starwars.fandom.com/wik...

#

We detect mediawiki pages and query their api for "better" descriptions, as they usually don't have very good og tags (for example, check out the og description of harry potter on the harrypotter.fandom.com page). You can see the information your wiki is returning here: https://escapefromtarkov.fandom.com/api.php?action=query&prop=extracts&format=json&exintro=&explaintext=&titles=Insurance.

chilly siloBOT
#

Hey @night ,

Yeah, MediaWiki in itself doesn't generate OG metadata for its articles. Some relevant functionality is provided by extensions such as OpenGraphMeta[1] and Description[2] that generate a description semi-automatically, but it doesn't fit all of our needs, so we use a custom solution instead. Wikis may or may not have these extensions installed; notably, Wikimedia wikis do not have a description generation mechanism setup yet due to performance and consistency concerns around t...

chilly siloBOT
#

Description

Per https://discord.com/developers/docs/topics/permissions#permissions-for-timed-out-members,

Timed out members will temporarily lose all permissions except VIEW_CHANNEL and READ_MESSAGE_HISTORY. Owners and admin users with ADMINISTRATOR permissions are exempt.

However, members still continue to have at all guild wide permissions, which does not agree with the above. My bot is still able to use endpoints that require MANAGE_GUILD, VIEW_AUDIT_LOG, VIEW_GUILD_INSIGHTS, ...

chilly siloBOT
#

I'm trying to write an application that can retroactively act as a leaderboard for which messages have the most emojis. I think it is fully possible to create a bot that listens and keeps track of all cached messages, but un-cached messages are a problem.
Getting old messages through the API is limited at 500 messages every 5s, and in a server with multiple channels that have 50,000+ messages, it just doesn't seem realistic to include messages pre-bot in the rankings.
I'm hoping to request...

chilly siloBOT
chilly siloBOT
#

Description

I found bug on https://discord.com/developers/docs/resources/webhook#webhook-resource

Delete Webhook Message % DELETE /webhooks/{webhook.id#DOCS_RESOURCES_WEBHOOK/webhook-object}/{webhook.token#DOCS_RESOURCES_WEBHOOK/webhook-object}/messages/{message.id#DOCS_RESOURCES_CHANNEL/message-object}

pic-1

Steps to Reproduce

Go to https://discord.com/developers/docs/resources/webhook#webhook-resource, at the bottom

Expected Behavior

Fix like this pic-2

Current...

#

Description

value is incorrect when there's a space at the end of the name.

Steps to Reproduce

In the auto-complete payload for a choice with a name, put a space at the end. The returned result's value is the name instead of the value.

Payload:
{'type': 8, 'data': {'choices': [{'name': 'Roblox (1) ', 'value': 'roblox-id-1'}]}} (SPACE AFTER Roblox (1))

Response:
[{'value': 'Roblox (1)', 'type': 3, 'name': 'roblox_name'}]

Expected Behavior

value should be ...

chilly siloBOT
chilly siloBOT
#

Thank you for taking charge of this, it's definitely welcome.

Library dev roles are assigned separately.

Can you comment on the requirements for this.

Community Resources doesn't help libraries grow. It's a place for people to view resources that are commonly used by the community.

The case in which the result of this tends away from the intent is when none of the popular libraries meet the QC criteria, but a library that does pass the QC is held back by user count. It results...

chilly siloBOT
#

I think the somewhat sad reality is that this is what they want. The scope of the Community Resources is changing to be only the very most commonly used libraries - so that newer people who view the docs looking for a library picks up one of the big libraries with a lot of use and support.

It's not meant to be an exhaustive list, rather, it's now meant to recommend the bigger libraries that one can get started in easily.

chilly siloBOT
#

@typpo this PR is still valid and awaiting merging, as no issues have been raised outside of competing library authors disagreeing with how features were implemented (putting aside that our implementation is fully compliant with the developer docs Discord has laid out and our own personal findings that our approach is more accurate in real world testing)

If we could get this re-opened and merged I would appreciate that. If there is some issue with the library which doesn't respect Discord'...

#

@typpo this PR is still valid and awaiting merging, as no issues have been raised outside of competing library authors disagreeing with how features were implemented (putting aside that our implementation is fully compliant with the developer docs Discord has laid out and our own personal findings that our approach is more accurate in real world testing)

If we could get this re-opened and merged I would appreciate that. If there is some issue with the library which doesn't respect Di...

#

Description

When I have a min_value set on a Text input while also not requiring that field, the modal refuses to be submitted unless the box meets the set min_value requirement.

Steps to Reproduce

  1. Respond to an incoming interaction with the following payload:
{
  "type": 9,
  "data": {
    "components": [
      {
        "type": 1,
        "components": [
          {
            "type": 4,
            "custom_id": "notrequired",
            "style": 1,
...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Using the attachment option on a slash command command causes the Medua Selector to keeps popping everytime we closes any UIs.

Steps to Reproduce

  • Type any slash command with a application command option type to 11
  • Press the attachment option
  • Clear the chat input or send the interaction
  • Go to any layout (Channel pins/settings/thread), search messages UI or modal UI...
  • Back out of that UI

Expected Behavior

The UI should simply closes.

Current Beha...

chilly siloBOT
chilly siloBOT
#

Unfortunately, many of these criteria are highly gameable/subjective and would lead to ambiguous reasoning and outcomes similar to what we have today.

You're the developers who make these topics a gamified version and battle. Like there's literally no problem with anyone with the current version of how libraries are listed. Everyone can agree here that everything discord is upto now is becoming a listing battle here now, bots, servers, and now libraries. Discord was meant to be a place w...

chilly siloBOT
#

I feel like the recently released modals are going to be a new ground for scams, nothing really stops bot developers from doing something like this:
image

There isn't realistically much that could be done to help make it more clear that those are inputs for a bot, considering there's a big yellow warning at the top specifying this.

The only improvement I feel could be made is to c...

chilly siloBOT
#

Most people will disagree that 4000 limit isn't enough, however, in some cases it'd be helpful to get a greater character limit, instead of looking like a monkey using multiple boxes to get larger inputs

My use case is that people will submit feedback/bug reports which can get really extensive, while I am a third party application to this game it is an approved one by the game makers and I was thinking of using modals as a way of getting feedback and bug reports with reproduction steps.

...

chilly siloBOT
chilly siloBOT
#

It would be useful if text inputs had a code style that enables a monospaced font and makes tab indent instead of opening keyboard nav, like the UI for writing a codeblock in the chat box. A language field to set for syntax highlighting would be ideal.

At WidgetBot we're using a text input for modifying custom CSS, but the plain text input is not great for it; with our old text command we have users type a ```css codeblock which has a great editing experience on desktop.

mockup:

chilly siloBOT
#

Like there's literally no problem with anyone with the current version of how libraries are listed.

No, there is a problem. There's no other type of PRs I see that get as heated as PRs touching the Community Libraries. Look at #3725, #4355, #3146, #3795 and #3732.

Requirements like these would also make it clear what objectively makes it to the list and what doesn't - they are now vetted, verified, and curated by Discord only. This way all other community drama is left out and the li...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

@gamer0mega if the "Use External Stickers" permission is off for a user+channel combination, then external stickers:

  • appear greyed out inside the sticker picker
  • don't appear in the : sentinel autocomplete
  • don't appear via sticker suggestions (i.e., by typing a name of a sticker without the : prefix) โ€‹

in the video provided, the stickers look like they're not greyed out, and are appearing via sticker suggestions. Can you verify that in fact your user doesn't have the right pe...

#

@gamer0mega if the "Use External Stickers" permission is off for a user+channel combination, then external stickers:

  • appear greyed out inside the sticker picker
  • don't appear in the : sentinel autocomplete
  • don't appear via sticker suggestions (i.e., by typing a name of a sticker without the : prefix) โ€‹

in the video provided, the stickers look like they're not greyed out, and are appearing via sticker suggestions. Can you verify that in fact your user doesn't have the ...

chilly siloBOT
chilly siloBOT
#

I have only the current server in the server list, which means I shouldn't have external sticker permissions

What @IanMitchell said - then there's no way for you to be sending external stickers. Check the description of the permission:

image

If you're not in any other servers, its impossible for the permission to apply to you, since there's no other server for you to be post...

chilly siloBOT
#

Question:

It's used by at least 1,000 active bots.

How do you count them? Gateway, User-Agent, or Downloads on package manager?

you can't use package manager downloads - some languages don't have a unified standard package manager like python has pip and node has npm. take C and C++ for example...

And conan package manager for c++ isn't used by everyone

I don't think everyone uses conan, asking myself, nope.

chilly siloBOT
#

Description

When prompting the user with a modal that requires text if there are just spaces provided the API allows it unlike in Slash Commands text option.

Steps to Reproduce

Create an Interaction Response with the MODAL type with a Text Input component.
Only provide spaces in the argument and submit.
Receive a MODAL_SUBMIT that has a value with just spaces.

Expected Behavior

The API shouldn't allow Text Inputs to just have spaces like Slash Commands arguments.

Curre...

chilly siloBOT
chilly siloBOT
#

I know the attachments feature have just came out, but, since we got modals, would be nice to have an attachments component โ€” where you can upload your own image and send it to the bot.

The way this component could be implemented is exclusivly in modals, otherwise it will cause problems with UX.

The component might look like that:
Avatar popup from server profile

chilly siloBOT
chilly siloBOT
#

Discord.py no longer supports user bots, it's not official, no will help in their guild or github.
People seem to use older versions to get it to work.
The help channels and one guy dmed me. We all said no we don't help with self botting and it's against tos.
No library I know of supports it, people just use older editions who do support it.
Don't self bot, it's against tos and bots work better anyway

chilly siloBOT
#

Description

The descriptions of commands with subcommands and for subcommand groups are nowhere displayed.
But nevertheless they are required fields that must not be empty.
While this per-se does not make sense, you could at least work-around the requirement like in other places where a value is required like embed field titles or values by using a zero-width-space as value.

But starting today even that does not work anymore and thus breaks bots that used that.

Steps to Reprodu...

chilly siloBOT
#

Sorry about that. This behavior was unfortunately caused by a misconfiguration in our validation settings. Earlier today we noticed this field was causing guilds to crash upon receiving invalid unicode strings, which alerted us to this misconfiguration issue.

On required fields: we've gone through many iterations of slash commands UI since its inception. While we may not show these descriptions today, they are still a functionality we hope to make use of in the future to self with self des...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

I'm updating invites with my bot, to keep a working invite.

There are two situations:

  • The invite exists
  • The invite is removed. A new one will be generated.

As far as I known, there is no way to check if a user still had a valid invite.

Therefor I'm updating my invite every 5 minutes. The problem is that even if the invite already exists in the channel, a new audit log entry is generated every time.

I think this is unexpected behaviour.

Steps to Reprodu...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Unexpected exception thrown, when tryed to remove asset in rich presence tab.

Steps to Reproduce

  1. Create application in UI.
  2. Scroll & open Rich Presence tab.
  3. Add some assets.
  4. Try to remove one.

It, probably, is not reproducible with 100% chance. Maybe, all because of my unstable internet connection.

Expected Behavior

Asset should be removed successfully.

Current Behavior

Exception thrown. "Undefined property of null".

Screenshots/Videos

...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Currently, there is a permission which controls whether users can execute application commands (this includes slash commands and context menu commands) however, there is no equivalent for message components. I think it would be a worthwhile improvement if components could have an optional field which prevents them being interacted with by users/roles/permissions... that don't match.

I think being able to exclude/include people from using components would improve the current user experience...

chilly siloBOT
chilly siloBOT
#

The idea of modals in general is pretty cool, and giving developers the ability to use them is even cooler. However, as of right now, they can only be used to ask users for further input via components.

Making use of modals to display data without expecting any kind of input would open up lots of possibilites to rethink how bots display large amounts of data. Embeds are currently pretty much the only way to do that, but we all know they don't always do the job as we wish they did (think in...

#

What do you mean by "This behavior"?

I understand that you maybe want to show the description in the future, for example when first just showing the top level commands and when one selected the subcommands or similar.

But why is now suddenly the validation of "absent or empty" different than before and different than in other cases?
You can still use a zero-width space as content of a message if you want it empty, but when using it as command description you still get an error returned.

chilly siloBOT
chilly siloBOT
#

A field like this sent in interaction payloads would fix a symptom of a problem rather than the underlying issue of feature-parity lacking between clients. That same feature parity also allows for unique attack vectors per-client, which makes identifying the client used marginally dangerous.
While there are hacky workarounds (deep links, status tracking etc.), they're about as hacky as providing client information over interactions, and I think fixing the root issue would be vastly superior....

chilly siloBOT
chilly siloBOT
#

Description

The api is returning incorrect errors for exceptional inputs when setting command permissions

Steps to Reproduce

curl --request PUT \
  --url https://canary.discord.com/api/v9/applications/892420397570592768/guilds/897162092652683314/commands/892974063251750944/permissions \
  --header 'content-type: application/json' \
  --data '{"permissions":["*"]}'
{
  "code": 50035,
  "errors": {
  	"permissions": {
  		"0": {
  			"_errors": [
  				{...
#

Description

Currently in the client under the channel section, you are limited to overriding channels that you have access to however the API does not currently check if you have access to said channels

Steps to Reproduce

curl --request PUT \
  --url https://canary.discord.com/api/v9/applications/861353680686284820/guilds/897162092652683314/commands/861353680686284820/permissions \
  --header 'content-type: application/json' \
  --data '{"permissions":[{"id":"38188711339150...
chilly siloBOT
chilly siloBOT
#

Description

When my bot creates an invitation to a Stage Channel, the name of the Stage doesn't appear when sharing the invitation with others (statistics about the guild appear instead).

When I create an invitation to a Stage Channel as a regular user (using Discord's GUI), the name of the Stage shows correctly when sharing the invitation with others.

What do I need to do to get my bot to create invitations that appear in the same format as the invitations created by regular users...

chilly siloBOT
chilly siloBOT
#

If discord ever did allow third party clients this would simply have to be documented as to how clients are supposed to identify themselves on the gateway? The privacy part is also kind of eh since the users presence data already provides if they are on mobile, desktop or web. This feature proposal would just make that accessible for serverless bots.

chilly siloBOT
#

Fixing the root issue isn't reasonably feasible, most mobile app versions of services provide a degraded user experience in comparison to desktop since that usually includes getting designers to come up with entirely new ways of interacting with features. Especially when coming into territories of hack week projects or small QoL changes porting them is going to take way more effort.
The feature parity issue itself is just one half of the problem, I've often encountered the issue of mobile s...

chilly siloBOT
#

When you create a application command for a bot with the same name as application guild command that guild has the same command from that bot.

ways to fix this

option 1

check if a command already exists by a bot in every guild when in the registering command process, if the command exists, do not add the command.

option 2

add a option in the request body named something like duplicate with is a boolean which is defaulted to true.

if true create duplicated ...

chilly siloBOT
#

We don't support embedding arbitrary iframes apart from a select few we've whitelisted. I would recommend placing the raw video file url in opengraph video tags so we can render a video embed.

We are looking into how we can embed the audio player in Discord. Added following to the html head

`<link rel="alternate" type="application/json+oembed" href="https://cleverfm.castpie.com/api/oembed?podcast_id=1222114325&amp;episode_id=6339219633&amp;timestamp=100" title="Bridging The Divide:...

chilly siloBOT
#

Description

According to https://discord.com/developers/docs/topics/permissions#role-object, "Roles have unique names, colors, and can be 'pinned' to the side bar, causing their members to be listed separately." However, multiple roles with the same name can be created in a single guild.

Steps to Reproduce

  1. Create a guild.
  2. Create a role with the name "test".
  3. Create a role with the name "test".

Expected Behavior

This is a documentation issue. The documentation should...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I don't see anything in the discord documentation about "spoiler" message attachments. It seems like discord simply appends SPOILER_ before the filename to mark as spoiler.

That works for attachments but not for "auto-embedded" images, when posting a link. Wrapping the url with || correctly marks the embeds as "spoiler". We need to add a space after the url for it to work. However, the link remain displayed when using that method.

I personally reuse attachments url to avoid upload...

chilly siloBOT
chilly siloBOT
#

Also I would suggest this idea to be allowed for slash commands, and/or provide us the user agent (for more specific information about the device).
There might be some times different way of tweaking server/account settings for different devices, and Letting us know about the device a user is on, definitely helps us understand and give help in a better way.

chilly siloBOT
#

I'm droping this here as a possible idea.

An option to define what types of characters are allowed in a String input type for a slash command.

Right now is it the job of a bot to always check a String input, for if it does contain not allowed values, be it spaces, unicode or something else.

Having an option to tell Discord what values are accepted in a String input could reduce checks on the bot-end as the Client (Discord) would now validate the Input against what has been set before...

chilly siloBOT
#

Description

Every time you kick someone from a group, it displays a leave message instead.
Tested it with my friends, it works for all of them, one being on a mobile device.

Steps to Reproduce

Kick someone out of a group ig

Expected Behavior

Supposed to say __ kicked __ out of the group

Current Behavior

Says __ left the group

Screenshots/Videos

No response

Client and System Information

Mine is Windows 10, I use the discord app

chilly siloBOT
chilly siloBOT
#

Description

When I send .js file in slash command parameter, server responses with error 500: Internal Server Error.

Steps to Reproduce

  1. Create a slash command with parameter of type 11
  2. Execute the command with .js file

Expected Behavior

204: No Content

Current Behavior

500: Internal Server Error

Screenshots/Videos

No response

Client and System Information

Microsoft Windows 10 Home 10.0.19044 Build 19044
Firefox 97.0

chilly siloBOT
#

Hello ๐Ÿ‘‹

Would you ever consider allowing the addition of buttons on another user's message in other words not the bot's message? If buttons are intended to replace reaction(buttons) they should be able to be added to another user's message.

Use cases:

  • Reaction roles where the users want the message to be their own message not the bot's message. Webhooks may make it appear like the user's message but it doesn't let the users click on the profile to dm or view info about the u...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When responding to a component interaction with response type 7 (UPDATE_MESSAGE), if the same content/components as the parent message had was passed, the edited_timestamp is still set/updated.

Steps to Reproduce

  1. send a message with components on it
  2. interact with a component
  3. respond with an UPDATE_MESSAGE with the same content and components as the original message

Expected Behavior

The edited_timestamp is not set/updated as the new content is the same ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hey everyone,

We have a few updates regarding API versioning and what to expect over the coming months. As of today, you can begin specifying v10 in your API requests. We are also deprecating API v8. Read more below for what to expect.

API states

First, let's clarify the possible states of an API version. There are 4 states:

  • Available: A stable API version
  • Default: The recommended stable API version (also the default version for non-versioned requests)
  • Deprecat...
#

Description

A command within my (sharded) bot is failing to run.
The interaction details make it to the server, but when I try to reply to the interaction I get an Unknown Interaction error.
When I try to defer and edit reply, the deferring works, telling me that my bot is thinking, however attempting to edit the reply of this gives me a 500 Internal Server Error.

In my testing, this has only occured in one server and worked fine in others. (ID: 905440335663079455)

Steps to Re...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

It would be nice to have a response type to allow showing an error message inside the modal if some of the fields aren't right, rather than having the modal close and requiring the user to re-enter their text

image

basically let us show a message like that but with our own error message text

otherwise, bots have to implement holding modal state themselves so when users reopen the ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

from discord.ext import commands

from Config import ping_role_id


class ThreadSystem(commands.Cog):

    def __init__(self, bot):
        self.client = bot
        self.flag = False

    @commands.Cog.listener()
    async def on_thread_join(self, thread):
        if self.flag:
            self.flag = False
            return
        if not self.flag:
            self.flag = True
        await thread.join()
        ping_role = thread.guild.get_role(...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hello, this morning I started to recieve html instead of json, and since node fetch uses json parsing, it starts logging errors about it.
Upon testing what happened, cloudflare seemed to block with the html file:


  
     
     
  <!--

Access denied | discord.com used Cloudflare to restrict access








(function(){if(document.addEventListener&&window.XMLHttpRequest&&JSON&&JSON.stringify){var e=function(a){var c=document.getElementById("error-feedback-survey"),d=d...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

I created new lobby twice, always I get OK result on first attempt, Internal error on second attempt.

Steps to Reproduce

var ltx = lm2.GetLobbyCreateTransaction();
ltx.SetCapacity(10);
ltx.SetType(LobbyType.Public);
var lid = 0L;
lm2.CreateLobby(ltx, (Result result, ref Lobby lobby) =>
{
    lid = lobby.Id;
    Console.WriteLine("1" + result);
    lm2.ConnectVoice(lobby.Id, (result) =>
    {
        Console.WriteLine("1" + result);
        lm2.Disc...
chilly siloBOT
#

Attachment types that would be rejected to be attached to a normal message cannot be sent in an interaction either.

what filetypes are rejected from normal messages? i haven't run into any yet. since the OP mentions it, .bin files normally attach fine but are apparently rejected in slash commands, so I'm not sure how what you're saying fits in. this isn't Guilded...

chilly siloBOT
#

I want to make sure that we're on the same page about how the default API is selected and how versions are bumped in the future. Worth noting that v6 has been simultaneously a default and deprecated version for about 1.5 years (#2097), and the default is now being bumped to v10, effectively skipping v8 and v9 (and v7, our beloved). Not a huge deal if users have been explicitly selecting a version and are keeping up with the changes, but that jump just seems kind of abrupt for people who have ...

#

About

This is not directly tied to the API documentation, but the Bot tab in the developer Portal itself.
More precisely is it about the "Privileged Gateway Intents" section, which may look something like this:

image

There are a few things that I feel like could be improved, which I will go over in this discussion.

Disclaimer

I'm not a native English speaking perso...

#

Stable/Default
Seems like just a wording mix-up here. Stable == default, as in "This is the recommended API version to use, and will be the one that un-versioned requests go to". We'll get the wording clarified.

Timelines
Your n example is pretty spot on. We're going to take it upon ourselves to look at possible breaking changes each quarter, and if there is a new version necessary, make the necessary changes. That doesn't mean there will be a version bump each quarter--there...

chilly siloBOT
chilly siloBOT
#

Description

Rotating your screen cause all the field of your modal to be overwritten with the value of the last input field.

Steps to Reproduce

  • Open any modal with at least 2 text field
  • Type something in the first one
  • Type something else in the second one
  • Focus the last input
  • Rotate your screen to landscape
  • Rotate it back

Expected Behavior

All the input should be the same as typed before rotating.

Current Behavior

All the input are overwritten by whate...

chilly siloBOT
chilly siloBOT
#

Description

Slash commands time out after 3 seconds even while uploading attachments, thus always resulting in a time out when uploading large files.

Steps to Reproduce

Upload a large attachment over a slash command.

Expected Behavior

Slash attachment commands not being treated as regular commands and instead having a special time out duration.

Current Behavior

Slash attachment commands time out after 3 seconds just like regular slash commands.

Screensh...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hi @cakedan, The defer logic would not work here as the command times out before even sending the interaction.

Oh I must've misunderstood the issue then, I thought you were having trouble processing a person's request and it was timing out while you were fetching it. After testing it, I do see main issue where discord's interaction times out before you even receive it. This is definitely a bug on discord's end, they probably wait for the attachment to upload to their cdn before sending o...

chilly siloBOT
#

Description

When submitting a modal on the latest version of Android stable, you get the "Something went wrong. Try again." error.

Steps to Reproduce

Open a modal on Android and submit some text.

Expected Behavior

The modal successfully submits and sends the interaction to the application.

Current Behavior

The "Something went wrong. Try again." error is displayed and no interaction is sent.

Screenshots/Videos

![image](https://user-images.githubusercontent.com/...

chilly siloBOT
chilly siloBOT
#
for member_mention in member_mentions:
            if len(returned_string + member_mention) > 2000:
                await msg.edit(returned_string)
                returned_string = member_mention
            else:
                returned_string += member_mention + " "
        if msg == "" and len(returned_string) > 0:
            await thread.send(returned_string)
        elif msg != "" and len(returned_string) > 0:
            await msg.edit(returned_string)

It's in t...

chilly siloBOT
#

Full error message with tracebacks (this time on heroku, but it's the same as the one I get while running the code on my pc):

2022-02-16T00:50:25.481862+00:00 app[worker.1]: Ignoring exception in command addMembers:
2022-02-16T00:50:25.488251+00:00 app[worker.1]: Traceback (most recent call last):
2022-02-16T00:50:25.488278+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/discord/ext/commands/core.py", line 179, in wrapped
2022-02-16T00:50:25.488279+00:00 ...
chilly siloBOT
#

One of the features of the ROLE and MENTIONABLE command option types is that you can select the @everyone "role" as an option. While that may have some use cases, so it should stay, I would love if we had an include_everyone_meta_role boolean (default true) or similar that lets us disable it from showing up in the clients (as it would skip a check in our code that the role id provided isn't the guild id).

Why to keep the @everyone role showing up as an option in the first place...

chilly siloBOT
#

+1. Now that we have a good UI to collect input we don't need to check users' input (it's a role or not) as the validation is happening on the client side. But this everyone role is causing the same issue again. We need to check and show an error message to the user and they need to rerun the command. There are so many cases where we don't need everyone's role so such an option will be cool.

chilly siloBOT
#

The Add Guild Member endpoint (PUT /guilds/{guild.id}/members/{user.id})) currently just adds a member to a server of which the bot is a member of. However, this limits the applications of this for slash command-only bots.

I suggest that a new endpoint be added (POST /invites/{invite.code}):

  1. The Authorization header will be the OAuth2 bearer token.
  2. The endpoint increases the usage count of that particular invite, as if the user manually clicked on it.
  3. The endpoint adds the use...
#

Description

Hello, I don't know if I am the only one experiencing this issue where in I have observed that the captcha in discord has been very difficult to passed. Like the captcha is asking me to find a boat for example then when I correctly choose all the boats shown it will prompt "Please try again". Then I need to do this all over again until somehow my submission will be accepted.

May I know if this is somehow connected on the time I submit or choose a photo in a captcha?

I k...

chilly siloBOT
chilly siloBOT
#

It should navigate to the invite's channel.
If there's a call going on in a group DM or regular DM, it should add them to the call, but muted by default.
If the invite has an event, if it is active and the user is a moderator, it should add them to the speakers (but muted by default). If the event is active but the user isn't a moderator, it should add them to the audience. Otherwise, it should add them to the audience and mark them as interested in the event.
If the invite has an ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hey @spiralw , can you elaborate on the failure state youre encountering? We have some ideas of how we might resolve this, but after looking at our code even now, its hard to imagine how a session would crash just because presence updates in guilds took a while to process. The session may become unresponsive for a while, but thats all. We want to make sure we understand the failure case youre encountering before we try to fix something that isnt the actual issue

chilly siloBOT
#
for member_mention in member_mentions:
            if len(returned_string + member_mention) > 2000:
                await msg.edit(returned_string)
                returned_string = member_mention
            else:
                returned_string += member_mention + " "
        if msg == "" and len(returned_string) > 0:
            await thread.send(returned_string)
        elif msg != "" and len(returned_string) > 0:
            await msg.edit(return...
chilly siloBOT
#

Description

I think it would be bad behaviour if a window pops up, the message gets deleted and the modal fails and does not even send a MODAL_SUBMIT. The message is not relevant for the modal interaction, so it should barely not fail when the message (which isn't even needed) gets deleted.

Steps to Reproduce

  • click a button/select which opens up a modal
  • delete message where the component was from (with alt account or bot)
  • submit modal

Expected Behavior

The modal sho...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

When a image is embedded due to being linked to by URL such as

https://media.discordapp.net/attachments/561700849022140417/943800897358680064/SPOILER_Screenshot_20220217-092731.png

The spoiler filename should make the unfurled image spoiler tagged. Currently this is not the case, which makes it so commands which echo user provided attachments lose their spoiler property.
The same is the case for images used in embeds; they should similarly be spoiler tagged.

chilly siloBOT
#

I think this could even fit into a similar option restriction as channel_types actually, role_types in this case, maybe as a bitfield, or as an array of some sort, whatever seems to fit better.

role_types could be a selection of

  • Standard
  • Everyone meta-role
  • Integration

It would be extra cool to have a few extra utility types too, but there would be some logistics to figure out for them as they overlap the above mentioned types. These would be:

  • Assignable - give...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

I'm working on designing a bot. When I first put it in, 'logged in' the bot, it worked but then I got an alert saying my token had appered online. So I took the new token, and replaced my old token in my code in Visual Studio Code with it. But when I go to log the bot in, I keep getting:

const invalidToken = new Error(WSCodes[4004]);
                     ^

Error [TOKEN_INVALID]: An invalid token was provided.

.
.
.
[Symbol(code)]: 'TOKEN_INVALID'

...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Make sure the token isn't in the repository anywhere. Check your .env file (which should be .gitignored anyway). Regenerate the token but make sure it isn't in the repository, anywhere. See this page for more on that problem. After that, just try regenerating it again, I guess.

The new token(s) that I regenerated after the errors started showing, were not added to github, and they still wont work....

chilly siloBOT
#

I'm currently developing a library that tests Discord bots. To do so, I instantiate another bot that sends command messages to the channel so the testing bot does what they have to do. The problem is that as only real users can send slash commands, I'm not able to test slash commands with my library. So it would be very helpful for me and for those who are using my library.

chilly siloBOT
#

Description

The autocomplete options are returning the name of the option displayed in UI instead of it's set value by the developer causing commands to fail when Name =/= Value

Steps to Reproduce

Create a slash command with autocomplete in one of the arguments
Give it a bunch of options to choose from where options names are different from their values

Expected Behavior

The values of each option being returned and not the names

Current Behavior

The names of the option...

chilly siloBOT
#

In the .gitignore file, there should be a line that says ".env" (without the quotes, of course). Make sure it's there.

Feb 18, 2022 00:43:31 DThorn13 @.***>:

Make sure the token isn't in the repository anywhere. Check your .env file (which should be .gitignored anyway). Regenerate the token but make sure it isn't in the repository, anywhere. See this page[https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning] for more on that problem. After that, just ...

chilly siloBOT
#

If the names are used instead of the values, that makes it impossible to rerun the command. This is especially problematic if the option type is not a string. However, some clients such as the iOS app also send the name instead of the value when the command is used. Which makes the command fail in the first place, rendering the choice value useless and essentially forcing you to only send name and value identically.

I started only using values identical to choice name, because of all these...

#

Ye, it's not like slash commands are copy pasteable...so if this is a behavior change, it is most certainly an annoying one, as there's information I want to display and information that I don't need to...in this specific case I'd like to display the author of the mod without having to do extra splitting and string fixing just because you want to make it copy pasteable, not that it even works

#

application is receiving the name instead of the value

If this is indeed the case then yes it would be a bug. If anyone knows how to reproduce this please let us know, but as of now we dont have a repro.

makes it impossible to rerun the command

This is interesting to me. Part of the motivation with this change was to make it easier to rerun commands (though the primary motivation is that it be an accurate representation of what the user sent), since, at least in my experience, if...

#

application is receiving the name instead of the value

If this is indeed the case then yes it would be a bug. If anyone knows how to reproduce this please let us know, but as of now we dont have a repro.

makes it impossible to rerun the command

This is interesting to me. Part of the motivation with this change was to make it easier to rerun commands (though the primary motivation is that it be an accurate representation of what the user sent), since, at least in my ...

chilly siloBOT
chilly siloBOT
#

Description

Discord automatically adds the @ symbol when filling user options, presumably to directly display the built-in user autocomplete. However, it becomes problematic when filling the option with a copy pasted snowflake, as the @ symbol is still there. The client prevents the command from being sent as it thinks your input is not a valid user when it, in fact, is.

I am not sure if this is a bug or simply caused by the fact that your actual input is not "123" but "@123", but th...

#

Description

The GET /guilds/:id/bans endpoint is not paginated at all, and in a guild with a high amount of bans (think hundreds of thousands of bans), such requests can end up in one of these states:

  • Fetching takes a long time, but the returned data is perfectly valid JSON (depending on size, we can be talking of 10s of MBs)
  • Fetching takes a long time, but the returned data is incomplete, or cut off
  • Fetching takes a long time, only to hit a 429 shortly after
  • Fetching tak...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Just as a bit of a bump to this discussion and also an idea. On the user side it could be displayed as an arg that can be selected like an optional arg (maybe with some sort of prompt that it's repeatable), but each time you select it, it creates a "new instance" of that arg in the UI, but when it's passed to the backend it's passed as an array. This way it's a bit of the best of both worlds. Developers don't need to deal with repeating keys and users don't need to deal with comma/pipe/semico...

chilly siloBOT
#

Description

Recently, bot devs have been getting their verification requests rejected for "Sharing or enabling experimental features" this is apparently a "Strict violation of discords terms", in almost all of the cases i have seen, this is due to bots having features to access voice activities, absolutely fair enough if the games team don't want more people to be using them than they currently expect. But telling developers that they are breaking the terms of service when in fact they a...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

If you try to reply by creating a modal for user with data like this

{
    type: 9,
    custom_id: '...',
    ....
}

without data field API will response with status code 500 instead of pointing that there's no data field or something in body is incorrect

Steps to Reproduce

make_post_request(
   `/interactions/${interaction.id}/${interaction.token}/callback`,
   {
      type: 9,
      custom_id: 'test-modal',
      components: [
        ...
chilly siloBOT
#

I mean that when a button named "Nickname" is clicked, in the text box it will show a label like:- nickname: <text to be written, where we can simply write the text and the command gets executed i.e. the nickname of user changes to that text.

Even slash commands support writing text, but as they're still being improved and there are frequent issues with it like Discord API outages.

chilly siloBOT
chilly siloBOT
#

There are cases users might want to anonymously boost a guild: ideological conflicts, public service members that want to support private communities, users that want to appear poorer than they are (if you boost too much, or gift Nitro too much, users might think you are rich).

Users should be allowed to hide their premium status. Also to mention, bots should be allowed to anonymously boost guilds owned by human users, as long as choice of the guilds to be boosted is left to the bot itself...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I remember last month a server I was in got raided very heavily by a lot of accounts mass spamming messages, and a few of the accounts had their messages marked as "likely from a spammer" or something along those lines. The messages were hidden very similarly to how blocked messages are usually hidden, and I'm not sure if they were actually being stopped from sending messages (or if their messages were marked as spam after Discord stopped them from sending messages) as the hidden message coun...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I think this poses way too many architectual challenges to implement feasibly.

Things like

  • Discord has to send out interactions to every single application in the server
  • Handling of the 100% will be happening race conditions of different applications responding
  • Somehow displaying to the user what is happening
  • Loading the slash command list is a blocking operation, you cannot send a message that starts with / until the list has loaded, which is already slow for some
  • etc..
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

The first and third points apply to my smaller guild with about 6k bans. The ratelimit seems to be changed to a guild-wide one with 1/60s once the amount of bans exceed a certain threshold, causing a 429. It causes clients to break when accessing the ban list.

pretty certain they mean they hit a 429 on the first try, not the second fetch.

Nono, sometimes I hit a 429 in the middle of a request, or when the request is supposedly done and should return the data, not at the start of one

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

This updates the documented max character limit for Select Menu placeholders from 100 to 150, which is what the API actually enforces per the following response:

HTTPException: 400 Bad Request (error code: 50035): Invalid Form Body
In components.1.components.0.placeholder: Must be 150 or fewer in length.

I looked for other PRs and issues around this, but was unable to find anything.

If this isn't intended and it's the API itself using the wrong limit, please feel free to ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I figured out a solution to those possibly affected. Toggle any intent, and save it. Then toggle it back and save again. This triggers some sort of internal syncing on discord's end and will provide message content when using the HTTP API.

Leaving this open for now as its still a bug nonetheless. Additionally verified bots are not able to toggle any intents above if they are impacted.

chilly siloBOT
#

Description

When performing a webhook.incoming flow the access token you get has the wrong scope.

Steps to Reproduce

  • Set up a simple oauth2 flow with only the webhook.incoming scope
  • Look at the JSON returned at the token exchange

Expected Behavior

I expected the response as it's described in the docs. With the "scope" being "webhook.incoming"

Current Behavior

I received the response as expected with only one discrepancy. Scope field in the response was set to `a...

chilly siloBOT
#

Description

The audit log payload is supposed to include a list of users that are referenced in all entries that appear in the requested log. However in the case of a guild transfer, the recipient user is not included in the list of users.

Steps to Reproduce

Transfer a guild and then request the most recent audit log entry (exactly 1, so that we're sure we're only looking at the user map for that entry):

curl 'https://discord.com/api/v9/guilds//audit-logs?limit=1' -H 'autho...
chilly siloBOT
#

Description

For only some select Discord users, our bot is consistently getting name and not value for selected auto-complete params of all of our slash commands. This seems like a new issue we've not seen with our bot before (first noticed by us Feb 18th). Majority of our users don't seem to be affected, but those who are affected are experiencing the issue on all Discord clients they tried using (Chrome, Mac app, etc). We're suspecting some experimental Discord feature/version havi...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hey, @yonilerner thanks for a prompt reply. We deploy several commands with auto-complete. Here's an example of the payload for one of them:

{
        "type": 2,
        "name": "attest",
        "description": "Create a Verifiable Credential to attest to your Sobol contributions.",
        "options": [
          {
            "type": 1,
            "name": "membership",
            "description": "Attest Discord roles that are mapped to Sobol Team Members",
            "option...
chilly siloBOT
#

@vkuts More useful than that app version is actually the web bundle of the app. When you open settings in the desktop app for example, you can see:
<img width="196" alt="image" src="https://user-images.githubusercontent.com/278810/155240950-31c73599-6a3a-4a00-a719-eaa4a7c0c3bc.png">

For context, the "Canary 115873 (da9ef5e)" part means "web build #115873 for commit hash da9ef5e", and that web build is more related to this functionality.

Anyway, the reason this might not be reproducible...

#

Ok, sweet! If the fix went out sometime late on Fri, that would match our timeline. Can we expect that the issue is completely gone for the web version of Discord app?
We'll advise any of our users experiencing the issue to update their desktop app versions.
Thanks for the swift fix on this issue ๐Ÿ™ I'll reopen or create another ticket if we find new ways to reproduce.

chilly siloBOT
chilly siloBOT
#

Description

When responding to an interaction with an ephemeral message (in a guild channel), you will get a MESSAGE_CREATE event with a missing guild_id. This already seems strange, however it gets even weirder. If you disable the GUILD_MESSAGES intent and only enable DIRECT_MESSAGES intent, you STILL get these events as if they were actually a direct message. Do the opposite and only have GUILD_MESSAGES enabled, and you will not receive them at all.

It seems as if the API ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Unfortunately, the current limitations of modals do not allow them to be used to confirm anything. First, we cannot use modals without text inputs. Secondly, in the modal itself we can only put text in the title. The other customizable text fields are associated with text inputs.

I think it would be nice to have something like description field. It would also be nice to create modals without text inputs

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Here is an idea for improvements on your Zapier actions:

FIND USER only matches the Discord username.
It should match the email address as well.
When trying to match the user across systems, usually the email address will be the common denominator.
An external system will not have a field for the Discord Username unless it was tailored to have this, whereas the email is pretty much a given.

USER ADDED IN DISCORD
Currently it does not return the email address. If this field is a...

chilly siloBOT
chilly siloBOT
#

Description

On Discord OAuth2 (https://discord.com/api/oauth2/authorize?client_id=clientid&scope=bot) renders a html page after redirect, in network tab on chrome dev tools, there is a response from exact url that redirects, with info about the bot and application. Maybe I'am doing something wrong? I'm using Insomnia newest version.

Steps to Reproduce

To be honest, I have no idea :/

Expected Behavior

It should response with valid info, like approximate guild count, bot name, ...

chilly siloBOT
chilly siloBOT
#

Currently, context menu command messages show the command name and application, but no information about the target. Slash command messages show arguments when clicked, but unfortunately, this is not supported for context menus.

Here are mockups I made during the beta period that shows how target display could be implemented:

User commands:
image

Message commands:
![image](http...

chilly siloBOT
#

Description

Several of the users of discljord have observed behavior when using the Doplarr bot that application commands will fail to be created, but will not return any error.

Users experience no observable error from the API or the bot (which will log on non-200 response codes), but the application commands fail to be created in the guild.

Steps to Reproduce

I do not have a consistent reproduct...

chilly siloBOT
chilly siloBOT
#

The situation appears to be Discord randomly deciding to no longer verify bots that support activities and rejecting verification requests with false statements; it definitely does not violate the ToS. There's no reason to remove documentation, they should just either stop rejecting the verification applications or provide a valid and true reason for doing so (so far, I haven't seen an actual explanation).

chilly siloBOT
chilly siloBOT
#

In https://github.com/discord/discord-api-docs/issues/2164#issuecomment-742121097 it was mentioned this was a possibility.

This would mean that messages sent by application owned webhooks would be editable by the bot user (PATCH and DELETE on /channels/{channel.id}/messages/{message.id}.

Currently messages sent by webhook can only be edited by that webhook. This means that in order to edit a message the webhook that was used to send the message can't be deleted, which could happ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
It would be nice if there was a form component for sending multiple component inputs in a single payload. The way I envision this working would be to have a Form component that works similarly to the Action Row, where it has a component field that holds other components. When a user presses a button or makes a selection with a Select component or uses any other future component, instead of immediately sending a payload to the application, it would wait until a "Submit" button...

chilly siloBOT
chilly siloBOT
#

Description

https://discord.com/developers/docs/resources/channel#channel-object-channel-structure

image
Users provided in the array should have all non-optional data.

Steps to Reproduce

  • Fetch an invite to a group dm channel

Expected Behavior

The recipients array has full user objects

Current Behavior

A very minimal recipients array with only usernames

S...

chilly siloBOT
chilly siloBOT
#

Description

The guild scheduled event is not sent with the guild object if the attached voice or stage channel is not viewable to the bot. While this is fine in theory, this causes issues when the permissions of the channel changes to be viewable by the bot again.

Steps to Reproduce

  1. Create guild scheduled event with voice or stage channel attached
  2. Deny view channel permission in voice or stage channel for the bot
  3. Start bot, create guild object -> guild scheduled event is...
chilly siloBOT
#

Currently, you cannot edit message flags with webhooks and by extension the interaction endpoints or through an UPDATE_MESSAGE interaction response.
This means interactions aren't able to edit the SUPPRESS_EMBEDS flag on their own responses without the use of a bot token via the message edit endpoint.
Supporting flag editing here would make the edit endpoints consistent across the platform.

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When logging in on the dev portal, it redirects to the web app, instead of back to the dev portal.

Additionally, going to the Discord web app or dev portal urls with devtools open makes it log you out for some reason, so it is impossible to get into the dev portal with devtools open (ironic.)

Steps to Reproduce

  1. Go to the dev portal, either logged out or with devtools open
  2. Log in on the login page with the Discord Developer background

Expected Behavior

...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hi guys my name is Breeze, I'm a profissional Streamer and I just got my server Verified on Discord!
I'm creating my community on Discord and starting to learn discord.js too :)

I wanted to know if it would be possible to add Emojis in the .setAuthor of a Embed. This would be so fun!

Here are some photos of the emojis not working in the API ;-;

I love the Discord Community!

Best regards, @breezefps :)

Photo 1: https://media.discordapp.net/attachments/612642752236355604/9473298...

chilly siloBOT
#

Just to clarify, you want the name author on the embed author structure to support custom emojis such that the Discord client renders them correctly?

Because you phrased your request as if it was about specifically the discord.js .setAuthor method not supporting emojis rather than the Discord client, I also want to point out that this repository is for discussion relating to the actual Discord ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

options: [] in edit guild command endpoint doesn't clear options.

The endpoint returns application command without options but in "get guild command" endpoint it does.

Steps to Reproduce

  1. Create command without options
  2. Edit guild command, send options with any option
  3. Edit guild command, send empty options array (returned data shows it's gone)
  4. Get guild command again (returned data shows it's still there, discord client also shows that (sometimes, mayb...
chilly siloBOT
chilly siloBOT
#

What's the use case to allow bots to delete themselves?

Deleting a bot is a very sensitive action, that cannot AFAIK be reverted. This could be easily abused if a bot's token is accidentally leaked.
This should only be allowed from the bot's owner account with all necessary checks (re-entering password, 2FA, etc.).

On another end, I may see a use case to a disable-like endpoint that actually revokes all active tokens (like what was suggested in #3213), eg. to automatically revoke the...

chilly siloBOT