#github-notifications

1 messages ยท Page 28 of 1

chilly siloBOT
chilly siloBOT
#

Description

Since #3022 was closed (with good reason in my opinion), I propose this option instead. A select few additional button styles that use preexisting branding.

Why This is Needed

Currently developers have 5 choices for buttons, realistically 4. These are great, especially when doing something that the style is designed for.

The current styles names clearly state what they should do, but they can't quite cover all use cases.

For example say I wanted two ...

chilly siloBOT
#

Description

Fetching channel webhooks returns webhooks without tokens, even for webhooks that aren't of the follower type.

This issue is inconsistent, some channels of the same guild return webhooks with tokens while others don't.

Steps to Reproduce

GET https://discord.com/api/v7/channels/733139375835185264/webhooks

Expected Behavior

[{'type': 1, 'id': '766078597609029662', 'name': 'phen webhook', 'avatar': '863eed2847a5f82ecd18ce3fd8d59920', 'channel_id':...
chilly siloBOT
chilly siloBOT
#

Hello!

Description

In my application, we can create Webhook through the OAuth2 Flow (described here https://discord.com/developers/docs/topics/oauth2#webhooks)

It all worked fine, until some time to day, where we no longer get the webhook.token attribute when retrieving the accesstoken. Without that, I don't think it's possible for us to send a message through webhook?

Steps to Reproduce

  1. Initiate an OAuth2 Flow with the scope set to webhook.incoming
  2. With the...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Allow the new Discord button interactions to be placed INSIDE of embeds, similarly to the buttons shown off in the original Figma concepts for interactions. Perhaps have Discord automatically combine the elements or allow an option via the API to do so.

Why This is Needed

It would make this interaction look neater when used alongside embeds.

Alternatives Considered

Not really any alternatives here other than just keeping it as-is.

**Additional Details...

chilly siloBOT
#

Description

Currently, there is no way to differentiate between two slash commands inside of a guild if they have the same name aside from storing the slash command's id. The only thing you get with an INTERACTION_CREATE which will identify the command is data: {id, name, ?options}.

Why This is Needed

So we don't have to store the slash command's id to see if it's the global command or the guild command.

Alternatives Considered

Maybe adding the `guild_...

chilly siloBOT
chilly siloBOT
#

Description
Get Invite should give max_uses so bots can check if a invite is unlimited without needing manage servers on a guild

Why This is Needed
So bots donโ€™t need manage servers on a guild to check how many uses a invite has and bc max age is already there

Partnerships. I need to check max_uses for partnerships
Alternatives Considered

Adding a bot with manage servers which is invasive
Additional Details

#

Description

Allow URL buttons to be colored. This would work much like how emojis in buttons work, where you can set the emoji up with any other color option.

Why This is Needed

There is no reason for URL buttons to be considered the same as a button color, when they are more similar to emojis in that they are just another trait of the button rather than something that needs to be the entire style of the button. In it's current state, it puts a needless restriction on URL bu...

#

Description

I uploaded to Rich Presence Assets. Asset was not recorded so I recorded it 2 times after a while two appeared with the same id. when i removed one threw my "Error encountered!"

Steps to Reproduce

1.) Upload image 1
2.) Record it a second time because the first one didn't record.
3.) Delete one.
4.) Delete it 2 times because it has not been deleted.

Expected Behavior
The image is uploaded for the first time and deleted for the first time.

...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Since webhooks created by bots is locked to those bot accounts, the webhook username should/could use the bot's display color.

While #1544 feature request exists this feature request seems like a more sensible option for now.

[Maybe]: Make a toggle option for it to display it, so bots that do post on a user's behalf isn't colored.

Why This is Needed

It gives the webhook name color and causes less confusion and think the bot has l...

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

Description

A simple tool tip field in the message component for buttons that allows bots to set a tool tip for buttons.

Why This is Needed

In many cases, buttons are not self explanatory. This feature would allow bots to help users understand what a specific button does.

Alternatives Considered

State what each button does in the message itself. However this would make messages often contain unnecessary information to someone who a regular user of a command. Tool ti...

chilly siloBOT
chilly siloBOT
#

This might be due to a bug on the new code released today: #3056 (comment)

That sounds slightly different. A comment there says:

Users cannot copy or edit webhooks created by bots

What I see in practice is that the token and url is absent in the last step of the OAuth2 flow, but I can still see the webhook in channel's settings > Integrations > Webhook Integrations, and copy its URL from there. ...

chilly siloBOT
#

I think this would be good, but how would this work on mobile devices?

That is something I did not consider but if anyone has any ideas for this, feel free to reply with it.

Long press, like with copying links - and the text would appear on the bottom

Tool tips already exist on mobile that work similarly to this, so I think this is a great idea

Couple examples from Android:
![Emoji popout tooltip](https://user-images.githubusercontent.com/29555267/12085672...

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

Description
Currently there is no description on the behaviour of interactions in crossposted messages. Do buttons get sent? All styles? Only some? If they do get crossposted, does the application receive the interaction when someone clicks them on another server?

Why This is Needed
As it is now, it is not clear whether an application should be ready to handle interactions from outside guilds it sends messages in or not.

Alternatives Considered
N/A

**Addition...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

This is not currently sufficient. See https://discord.com/developers/docs/topics/rate-limits for more info about handling rate limits.

Ok.

You just need to make sure the table columns line up with the row you added:

As you can see this happen because the name / link to the repo is too long. What do you suggest to do with it?
Also Language column represents how lib was written, or what lib can be used with?

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

Description
In addition to the two INTEGER and STRING options, there should be two new options. These new options could be INTEGER_NO_SPACE and STRING_NO_SPACE so the Slash Command argument cannot contain spaces.

Why This is Needed
This feature would be useful for arguments which should not contain spaces, e.g. when you enter your age. The bot has not to check if it contains spaces and send an error anymore.

chilly siloBOT
chilly siloBOT
#

Description

This is a multi-faceted suggestion with a few different parts.

OAuth / scope grant: Add more control over required scopes, similar to the current Require OAuth code flow toggle.
HTTP based interactions: Add a callback event for when the application is added to a guild with the applications.commands scope
Gateway connected applications:

  • Add a new event for when the application is added to a guild with only applications.commands (possibly emit this ...
chilly siloBOT
#

Description

Unnecessary newline in links causing issues with table formatting.

Steps to Reproduce

Problem was introduced in this commit: https://github.com/discord/discord-api-docs/commit/704bf7b5afb5cef347a91020670db4bf97940fd1

Expected Behavior

Links lacking newlines.

Should be resolved by this PR: https://github.com/discord/discord-api-docs/pull/3084

Current Behavior

Screenshots/Videos

Client and System Information...

chilly siloBOT
chilly siloBOT
#

I believe this could be generalized to a regex (or list, but regex is usually more convenient because of stuff like [a-z] etc.) of allowed characters for an option (in the form /[allowed characters here]/ or /[^forbidden characters here]/), such that the Discord app would automatically prevent users from typing characters outside said regex and the API would reject (or trim, but that could cause unexpected results) requests with option values that include forbidden characters.

chilly siloBOT
#

If this is added, I believe Text components to go along with the Form component would also be an interesting addition, as we would be able to have separate, labelled (as grayed-out text that appears when they are empty, for example) text fields without the need of multiple commands or prompts, and it would fit nicely within the proposed structure - the values in each text field would also be sent when 'Submit' is pressed. This would certainly be interesting to simplify bot setup and configura...

chilly siloBOT
#

I had the same problem using passport
`TokenError: Invalid "code" in request.
at Strategy.OAuth2Strategy.parseErrorResponse (/home/elayeb/Bureau/OMG/E-OMG/node_modules/passport-oauth2/lib/strategy.js:358:12)
at Strategy.OAuth2Strategy._createOAuthError (/home/elayeb/Bureau/OMG/E-OMG/node_modules/passport-oauth2/lib/strategy.js:405:16)
at /home/elayeb/Bureau/OMG/E-OMG/node_modules/passport-oauth2/lib/strategy.js:175:45
at /home/elayeb/Bureau/OMG/E-OMG/node_modules/oauth/l...

#

Description
When someone deletes the deferred message while it is showing that bot is thinking (ack type 5), you cannot send any more messages through the webhook with the url. It'll error with ```json
{"message": "Unknown Message", "code": 10008}



**Steps to Reproduce**
1. Trigger a slash command that forces the bot to make a POST request to `/interactions///callback` and the type being 5
2. Delete the message that shows a bot is thinking from the client
3. Try making a...
chilly siloBOT
chilly siloBOT
#

Description

Currently, it is possible to edit a non-ephemeral interaction response through the Edit Message endpoint (i.e. PATCH channels/{channel.id}/messages/{message.id}). This can be done for the original interaction response by using Get Original Interaction Response (i.e. GET /webhooks/{application.id}/{interaction.token}/messages/@original) to get a message object for the response that includes the channel and message ID.

GetOriginalInteractionResponse also currentl...

#

However, after some time (quite a while, possibly hours, I haven't measured) the interaction token appears to become invalid, causing that endpoint to return "Invalid Webhook Token".

Interaction tokens last 15 minutes.

These ephemeral messages aren't stored in the backend for Discord. Fundamentally though, I think expecting an ephemeral message to last 2 days is unrealistic. I suspect most of these go away in less than 15 minutes. If you want your message to be long lasting then it sh...

#

However, after some time (quite a while, possibly hours, I haven't measured) the interaction token appears to become invalid, causing that endpoint to return "Invalid Webhook Token".

Interaction tokens last 15 minutes.

These ephemeral messages aren't stored in the backend for Discord. Fundamentally though, I think expecting an ephemeral message to last 2 days is unrealistic. I suspect most of these go away in less than 15 minutes. If you want your message to be long lasting ...

chilly siloBOT
#

Unverified bots have no limit unless they want privileged intents

this is wrong, all unverified bots have a max of 100, whether they want privileged intents or not

As for users, the server cap is 100 servers no matter the existence of Nitro status.

they are working on giving nitro users a 200 cap, some random users already see that nitro gives a 200 cap in their client although it doesn't actually work yet for non-staff.

chilly siloBOT
chilly siloBOT
#

Description

After designing my library's slash commands, I found that supporting guild-specific slash commands is coming with a huge headache. The only way to see if a guild has any of your slash commands is to fetch it from HTTP. Theres no number sent with GUILD_CREATE payloads to even compare that too. This isn't a huge issue if lets say you only want a few servers to have guild-specific commands, but passing that is a ratelimiting nightmare.

Currently, for global commands, ...

chilly siloBOT
chilly siloBOT
#

Description
When you send custom emoji mentions in interaction responses, they are displayed correctly. However, as soon as you edit the response, they are not rendered anymore (except when the app is authorised through the bot scope on the guild that has the emoji).

Steps to Reproduce
I did this using a webhook-based app:

  1. Write a valid interactions endpoint that takes both slash commands and component interactions
  2. Make a command that simply responds with the ...
chilly siloBOT
chilly siloBOT
#

If type is omitted, it defaults to 0 (role), and if allow or deny is omitted, it defaults to
"0".

I'm not sure how to document this properly. Should I include an example partial overwrite object?

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

chilly siloBOT
#

Description

Currently, user bio and banner fields are only returned on the profile endpoint, so they cannot be accessed via bots or OAuth2. It would be useful if they were returned in endpoints that can be accessed.

Why This is Needed

Currently, many sites that support Discord OAuth2 login allow users to input a bio and banner in the site, but if they already have the data set in Discord then they would need to re-enter it. This would allow sites to automatically show the Discord...

chilly siloBOT
#

Description
Editing a bot message in a channel that the bot doesn't have Send Messages permissions in returns Missing Permissions while editing the message.

Steps to Reproduce

  1. Send a message through a bot
  2. Restrict the bot's ability to send messages in that channel
  3. Attempt to edit the message

Expected Behavior
The message fails to edit and returns a Missing Permissions error.

Current Behavior
The message successfully edits and returns a `...

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

Description
Change the logo, website, app and user interface back.

Why This is Needed
the logo looks less happy and looks worse and lost it's antennas
the new discord color #5865F2 is oversaturated and causes eye-strain, you cannot see some colors inside the new discord color
the font... it sucks.

Alternatives Considered

Additional Details

please revert changes back to old changes, the new website and changes are ฦ’ฯ…ยขะบฮนฮทg ั•ะฝฮนั‚
these new charac...

chilly siloBOT
#

Description
Calling List Thread Members with an id that does not belong to a known thread returns a HTTP status 500 "internal server error" response.

Steps to Reproduce
Make a get request to https://discord.com/api/v9/channels/123456/thread-members (or any other unknown id).

Expected Behavior
"Unknown thread" 404 response, analogous to Get Channel and "Unknown channel".

Current Behavior
Response code 500 - internal server error.

**Screenshot...

chilly siloBOT
#

https://feedback.discord.com is the place for this.

oh hey discord staff, you're a member, and what I saw from an earlier comment:

Contributor just means that we've contributed to these docs, so we are not staff. That would be a collaborator or member. If you do get a reply from a staff member, it will just be to close this because this is not the right place for this.

so you're the discord staff @devsnek, unfortunately discord feedback doesn't respond to me, so since you're the st...

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

@CuriouserThing I think both options should be supported. You might include "hide": bool.

Scenario 1 where you like to hide a command:

You got an owner-only command to manage the Bot. It takes up unnecessary space in the picker. For Server, Admin-only commands some devs might like to hide them for normal users, but there are for sure some devs who still like to show the,

Scenario 1 where you like to show a command (greyed out):

You got a premium-only command. People should k...

chilly siloBOT
#

I think both options should be supported. You might include "hide": bool.

I agree wholeheartedly! From an API standpoint, I believe that something like a hidden boolean property is a clean solution to this problem. However, I'm unsure from the blurb in the docs above whether this topic is still in design discussion, since this solution may be incompatible with either Discord's vision for commands or Discord's backend.

(To be clear, I'm mostly asking @msciotti for clarification on t...

chilly siloBOT
#

This was brought up in a server recently, and I agree that this would be useful for bots. Use case here is a bot that stores user-based configs for individual servers- they want to allow users to import those configs across any accounts they have (or to recreate them if data is lost, etc) for ease, but don't want people to use that to automate the creation of tons of configs by just changing the server IDs. Having a mutual servers option would fix this by allowing the bot to verify what serve...

chilly siloBOT
chilly siloBOT
#

Description

If you respond to a type 3 interaction with a type 4 response over webhook but omit the data object, the interaction succeeds instead of failing silently.

Steps to Reproduce

Attach an interactions endpoint URL to your application. Have it authenticate requests and ACK pings correctly. Have it send { "type": 4 } on any successfully authenticated and non-ping interaction. Send a message from the bot with a button, and click it.

Expected Behavior

This sho...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Guild#nsfw_level was added to the docs in #2976 but only the direct num values without a description for what each level means.

Is it possible to get some more information on what each of these levels means for the API, the client, etc.? Most other enums in the docs seem to have a description column, but not nsfw_level.

Steps to Reproduce

https://discord.dev/resources/guild#guild-object-guild-nsfw-level

Expected Behavior

Documented description for...

chilly siloBOT
#

Description
When POSTing to the /callback endpoint, if you attach an embed (or presumably any link) with a link in it (thumbail, author, etc), the links resolve, and the content is shown, but if you PATCH (POST Type 5, PATCH /@orignal) with the same payload, the embed is empty.
Steps to Reproduce

  • Invoke a slash command
  • Respond ephemerally with Type 5
  • Edit that response with an embed that contains an image, or any link that points to content that embeds.
  • Observe

**Exp...

#

Kryptonitechic.252.361.7133.

On Fri, Jun 11, 2021, 2:07 PM Velvet @.***> wrote:

Description
When POSTing to the /callback endpoint, if you attach an embed (or
presumably any link) with a link in it (thumbail, author, etc), the links
resolve, and the content is shown, but if you PATCH (POST Type 5, PATCH /
@orignal https://github.com/orignal) with the same payload, the embed
is empty.
Steps to Reproduce

  • Invoke a slash command
  • Respond ephemerally with...
chilly siloBOT
#

Description
Add a channel option for slash commands to make it easier for the bots users to select channels.

Why This is Needed
For example a simple bot to post welcome messages. A channel option would make it easier for users to choose the channel they want the message to be sent in.

Alternatives Considered
Use string option and manually check if it is a channel

chilly siloBOT
#

Description
welp, like the buttons have the disabled property, a new property allowed can be introduced

Why This is Needed
it is needed because there are many commands in which the person who used the slash command or triggered the normal text message only should be able to use the button, for now people have been filtering them using either JSON.stringigying the id of the user who used the command into the custom id and then filtering them out and then replying them with a `...

chilly siloBOT
#

Discord just increased the max messages length from 2000 to 4000 characters for nitro subscribers (and maybe bots?): Source

So if you try to send a message with 4000+ characters you get the expected error:

DiscordAPIError: Invalid Form Body
 content: Must be 4000 or fewer in length.
    at RequestHandler.execute (/home/pi/DiscordBot/node_modules/discord.js/src/rest/RequestHandler.js:152:13)
    at runMicrotasks ()
    at...
#

Description
Increasing the message content length limit to 4000 characters to be consistent with user accounts that have nitro.

Why This is Needed
People can log moderation cases, or forward messages to the staff team directly, and the bot does a exact copy of the message. Now, if a nitro user sends over 2k characters in a message, it causes the api to reject the forwarded message to staff because it exceeds 2k characters.

Alternatives Considered
Sending multiple ...

#

Imo both the content length and description length need to be upped.

Not only for bots that echo another user's message, but also for logging and automod bots.

Currently for logging bots we either have to split up the messages into multiple parts.. or if it's over the 6k embed length you have to send multiple messages. Which isn't good for ratelimits and looks terrible in the logs aswell.

Same thing for automod bots

A good example would be messageUpdate event. Logging both p...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

A recent change was implemented (but apparently not documented) to discord's API where interaction responses no longer supported @everyone or @ROLE pings unless the @everyone role had the "ping @everyone, @here, all roles" permission. I suggest that this change be reverted.

@MaxJikharev You can use the allowed_mentions field to enable the pings within Interaction responses

img

chilly siloBOT
#

Description

I've found a guild that has a group 3 channel (a group DM) attached to it. This channel appears when my bot identifies - in the GUILD_CREATE payload - but not when I fetch its channels via the API. Neither users present in the group DM have ever been members of the guild in question.

Additionally, when in the server itself I'm able to search for the IDs of the users who appear in this group DM and messages show in the search results if the channel is actually in the guil...

chilly siloBOT
#

I appreciate the thumb downs, why am I wrong?

Because it was a permission escalation.

A bad actor can make a button and when pressed ping everyone or a role despite the bot having no permission to do so.

Managing whether or not a bot pings a role is an easy task and is disabled by default... why must further restrictions be applied??

This is not how this system works. Interactions have no permissions. Even if the bot itself has permissions they completely bypass them. As a ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

A bad actor can make a button and when pressed ping everyone or a role despite the bot having no permission to do so.

What I'm getting from this is that permissions were escalated to prevent the worst-case scenario of potential ping abuse; a problem that is easily preventable by being wary of what bots you add to the server.

I get the intentions behind the change but it seems like it's an extreme stopgap to an insignificant problem. There are no security vulnerabilities (right?) that ...

chilly siloBOT
chilly siloBOT
#

Description
Creating a webhook causes an internal server error (channel id: 839875467255611442) that now does not allow any webhooks to be created in the discord server

Steps to Reproduce
Unable to edit, alter or create webhooks on this channel or any channels in the discord server.

Expected Behavior
Ability to edit, create and rename webhooks on the channel / discord server.

Current Behavior
Error messages - unable to create, edit or alter webho...

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

I've just run into this issue too. I want to create an interation-only slash command which checks a user's voice state, in order to see if a user is in a specific voice channel. However, as it turns out, while there is an API for fetching a Guild Member now, there is no such API for fetching voice states. As described above, the only way to keep track of voice states right now is to spin up a gateway connection and cache data about every voice state.

As Discord is moving to support statele...

chilly siloBOT
#

Description

currently, if you try to create a button with a url, it has to use http or https as a url scheme.
However, discord implements the discord:// scheme, with urls such as discord://-/users/316860714260234243 or discord://-/settings/advanced. Everything that works with discord.com also works with that protocol, but whereas the discord.com link opens a new discord client in the browser, the protocol actually opens a user profile or a channel in the client.

...

chilly siloBOT
#

Gateway events aren't instantaneous either

@wasdennnoch they don't need to be instantaneous. But they surely should be streamed.
The thing with REST is you don't really know when user had state that you got as result. You can't assume that some particular user didn't change his state from the time you got slash command when you receive response with user states.
Gateway will provide you a way to get states that you actually can use safely unless you want to get outdated states. Esp...

chilly siloBOT
#

In this PR, it adds Skycord to the Discord Libraries list on the Community Resources page.

Skycord is a low-level Discord API wrapper written in TypeScript. The reason for it being made low-level is to allow developers using it do not need to wait for the library to update in order to take advantage of Discords' latest features. This also lets developers get more control over how things on it are implementing (such as implementing their own cache if needed).

The library supports ratelim...

#

The thing with REST is you don't really know when user had state that you got as result.

This makes no sense. The state you get back from the REST request is the state at the time you made the request.
If you have a cache and you fetch state from cache, it will be the state at the time that you fetched from cache.

You can't assume that some particular user didn't change his state from the time you got slash command when you receive response with user states.

This can also be rea...

chilly siloBOT
#

The state you get back from the REST request is the state at the time you made the request.

This assumption is only true if REST API handled by same service that stores and updates voice states. Which I really doubt is the case.
But that doesn't actually matter. In guilds where users interact with voice channels heavily you will be getting responses that might be outdated by the time you receive them. Hundreds of milliseconds is a huge amount of time for such kind of events. User pres...

chilly siloBOT
#

That doesn't change the fact that it's completely overkill to have an active gateway connection just for receiving voice state updates, and it contradics Discord's current push for stateless bots. Dpending on the runtime environment you can't even spin up such long-lived connections (Cloudflare Workers, Amazon Lambda, or whereever else you can host an interactions-only Discord bot), which means that a REST endpoint would be by far the best solution in this case. I don't care if the voice stat...

chilly siloBOT
chilly siloBOT
#

You, however, are saying others cannot ask for a REST endpoint to request a voice state.

I never said that. What I am really saying is that REST endpoint wouldn't be sufficient for the cases where you need to track states in realtime-ish manner. Or, in fact, in that particular case REST endpoint may not be even possible/hard to implement until proven otherwise.
If someone doesn't care about correctness of voice states, it doesn't make gateway events overkill. That's all.

chilly siloBOT
#

Description

The data types used for timestamps are unclear in a couple spots of the documentation.

Here.

created_at | timestamp | the time at which the invite was created

This field is an ISO8601-formatted timestamp string, which is what nearly all timestamps in Discord's messaging are. However, all other instances of such timestamps are explicitly stated to be ISO8601 in the docume...

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

Description

I'd like to be able to create multiple groups of Slash Commands for my bots.
This would be like the groups we already have for slash commands, where each bot has its own "group" of Slash Commands when you type / and see the auto-complete.

Screenshot

I'd like to be able to create multiple groups for my bot. My bot's a multi-purpose bot and having everything under one group means there's a lot of commands, almost too much

A step...

#

Description

This one is very simple but also useful in some cases: Slash Command list options

If you want to have a slash command option that takes in a list of choices, a list option type is perfect for this

Why This is Needed

For commands where you need a list of choices as input for the option. For instance, using a list of users in your ban command so moderators jobs can become a little bit easier when managing raids.

For one of my specific use-cases, I made a poll ...

chilly siloBOT
chilly siloBOT
#

I fully agree with the points regarding scope grant and would appreciate being able to have more control regarding how bots can be added to guilds and what scopes they need to have.

For future bots I create, I intend for them to require both the applications.commands and bot scopes so commands operate via the Slash Commands feature exclusively. For this reason, I would like to see some kind of option in the developer portal where I could tell Discord that a bot user for an application ...

chilly siloBOT
#

Description
If your Twitch Partner channel has any animated emotes uploaded, they don't get synced correctly to Discord. Only a static PNG is brought over, rather than the animated GIF version.

Steps to Reproduce

  1. Be a Twitch Partner
  2. Enable Twitch Sub Syncing in a discord server.
  3. Upload an animated emote on your Twitch Partner channel.
  4. Sync the server so the emote is brought over and observe.

Expected Behavior
The emotes sync correctly and I can enjoy my ani...

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

how so? you can enable commands on specific guilds using guild commands

  1. It's a terrible experience for the end-user.
  2. It's fairly annoying to work with guild slash commands for multiple reasons listed in the issues tab already.
  3. What you suggested makes no sense for this feature request.
    -> To have slash command groups would be a better solution for multi-purpose bots and any bots that want their slash commands grouped up so it's easier for the end-user and developer to d...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
When a user that has a server avatar in the current guild uses a slash command, the Android client shows their normal avatar

Steps to Reproduce

  • Be lucky and have server avatars (release whenโ„ข ๐Ÿ˜”)
  • Set a server avatar
  • Use a slash command

Expected Behavior

The "User used command" part of the message should show the users server avatar

Current Behavior

It shows their global avatar instead

Screenshots/Videos

![image](https://user-imag...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Support custom css for the button interactions using react's style, example:

{
  type: 2,
  label: 'Hey',
  custom_id: 'myid',
  style: {
    backgroundColor: '#000000', //button's background color
    color: '#fff' //button's label color
  }
}

Why This is Needed

So we will be able to make a variety of buttons without any limits!
We will be able to make dashboards directly in discord, we will be able to make button animations and much more!

##...

#

Ok
Sent from Yahoo Mail on Android

On Sun, Jun 20, 2021 at 2:59 AM, @.***> wrote:

Discord.js natively implements buttons in the next major release (with API-true naming).
If you are using discord.js and want to preview version 13 you can install npm i @.*** (see the discord server https://discord.gg/djs) for instructions, features, and support.

(note that @dev is the current state of the development branch and might break at any time)

โ€”
You are receiving this becaus...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Discord.js natively implements buttons in the next major release (with API-true naming).
If you are using discord.js and want to preview version 13 you can install npm i discord.js@dev (see the discord server https://discord.gg/djs) for instructions, features, and support.

(note that @dev is the current state of the development branch and might break at any time)

Yes, discord.js's dev version is not stable, also with our package is easier to use

#

You're grasping straws. The djs dev branch is stable enough, it's close to a release after all. Your package is applying hacky solutions to v12 which is just bad. Very much not easier to use and inaccurate to the Discord API.

ok so basically, by "hacky" you mean because we are getting/sending data to throw WebSocket? or because we change some stuff on Send function? cause I really don't get it, if we added anything or changed anything about Djs, we covered them on our readme/docs...

#

To clarify some things:

  • Adding a package that is not officially endorsed by a library (and is extending it), has the same issues as using the @dev branch when it comes to stability. Because if we decide to break how you do something, you need to update your code reactively based on user feedback.
  • The remark about the @dev branch is, as always, a reminder that we take liberty in breaking the interface whenever we see fit, not that it is horribly unstable and should not be used at a...
chilly siloBOT
chilly siloBOT
#

The documentation currently does not properly explain how voice states for lurkers in public stage instances behave or how they should be handled.

Through testing I found out that:

  • You receive a VOICE_STATE_UPDATE with a member that has joined_at as null (for joining/leaving/raising hand/etc.)
  • You DO NOT receive a GUILD_MEMBER_ADD or GUILD_MEMBER_REMOVE

This means documentation needs to be adjusted in a few ways:

  • The joined_at in the [Guild Member Object](https://gith...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

of course it is a temporary solution?? users should download v13 and use built-in button support. Discord have already made it clear that they won't add these "extension" libraries unless the base library devs agree with it, so I don't really see why you made this PR in the first place as it obviously won't get merged.

there is no good reason for anyone to use your package instead of d.js v13.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

ะ˜ะดะบ ะบะฐะบ ัั‚ะพ ั‚ะพั‡ะฝะพ ะพะฟะธัะฐั‚ัŒ. ะญั‚ะพ ะฒั€ะพะดะต ะบะฐะบ ะพะฑัŠััะฝัะตั‚ัั ะฒ ะฒะตั€ั…ะฝะตะน ั‡ะฐัั‚ะธ ัั‚ะฐั‚ัŒะธ, ะฒะตั€ะฝะพ? ะฒะพะทะผะพะถะฝะพ, ะฑั‹ะปะพ ะฑั‹ ั€ะฐะทัƒะผะฝะตะต ัƒะดะฐะปะธั‚ัŒ ะฟั€ะตะดะปะพะถะตะฝะธะต ะฒัะต ะฒะผะตัั‚ะต

ะคะฐะนะป ะฝะต ะฝะฐะนะดะตะฝ.

chilly siloBOT
#

I would like to see this feature, too. Although a user could suppress it themselves when they no longer see the need for it, allowing the application more fine-grained control of the message history would help make for a cleaner UX in some scenarios.

For instance, a simple ephemeral confirm/deny button dialog prompt could self-destruct once an answer is provided with no more interaction from the user.

chilly siloBOT
#

Description

It would be super useful to have the /callback endpoint return the newly created interaction response, with at least the new message's ID (ephemeral or not, should be treated the same).

Why This is Needed

In the case where we are responding to interactions, especially slash command invocations, and needing to keep state for subsequent component interactions on that message, the message ID is the only common value to link on.

To accomplish this today, I though...

chilly siloBOT
chilly siloBOT
#

I support this pull request. discord-buttons is easier to use and not temporary. I tried using the main branch too to give it a fair chance and from my personal opinion discord-buttons is better.

Also message#createMessageComponentInteractionCollector is waaaaayyyyy too long to type, who even thought of that?? Message#createButtonCollector is much easier.

also replying to @iCrawl

you need to update your code reactively based on user feedback.

I agree with you, but if th...

#

The package being easier to use has nothing to do with this imo, if you don't like the name you can customize it yourself or just use the package. There is no reason for it to be listed when the main library supports it in the next version.

It does. All the community resources are made to enhance the user experience and to make it easier for the user. Without that, the resources dont make any sense

#

It does. All the community resources are made to enhance the user experience and to make it easier for the user. Without that, the resources dont make any sense

The Community Resources exists as a central repository of libraries which the Discord team has vetted and sanctioned for use. Additionally, it is comprised of libraries which are - for lack of a better word - comprehensive. There is no reason for your extension to be on that list, and there is especially no reason for it when...

chilly siloBOT
chilly siloBOT
#

Description

I'm building bots that can be forked and installed by multiple people. This bot uses about 12 slash command that all need to be created at install time. Because they have to be create individually on a per-guild basis, people keep running into rate limit issues, causing anywhere from 2 to 10 commands being missing.

Why This is Needed

Without individual command creation and a pretty low rate limit, even with generous timeouts I can't get these commands to instantia...

#

Wow, this pull request is just flagrant self-advertising and I didn't even realize. I've put the above statement in bold for emphasis.
@Evo-F

#3101 #3049 and many other community resources PR's were made by the owners of the library, its a clear sign of leadership, to take steps before anyone else. advertising has nothing to do with it. Currently 50k people are using the discord-buttons and imo many of them would support this PR. And to everyone who comments on this discussion after th...

chilly siloBOT
#

All right, one last time:

we are making it easier for people to use the buttons.
While partially true, easy is very subjective. Your library does a lot more (which breaks our interface for even something as simple as sending messages/interactions).

This is how you send messages with components using discord.js:
https://discord.js.org/#/docs/main/master/class/TextChannel?scrollTo=send

.send({ content: 'something', components: [row] });
.send({ content: 'something', component...
chilly siloBOT
#

Hello Crawl,

"While partially true, easy is very subjective."

You may be right, but doesn't < discord.js v13 use this type of messaging?
We try to make sure that users who use our package feel almost no difference between the discord.js v12 and discord-buttons methods

"Now what happens when select menus release? Users will come to us with:
Why does this not work"

Sorry but you are wrong here, with our add-on you can send components with many options:
`component: Messa...

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

Description
It is not clear from the API docs who receives the interaction when a webhook uses message components.

Current Behavior
Unknown; it appears that no one gets the interaction.

Screenshots/Videos
Not applicable, the Discord client notifies the user that the interaction failed and nothing is received from the bot.

Client and System Information
I use the latest version of discord.js

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Unable to jump to the text channel from the embed message posted by the bot on Android.

Steps to Reproduce

Precondition

  • A text channels (e.g. #secret-talk) exists.
  • A bot that posts an embed message with this text channel (e.g. #secret-talk) specified in the form ""

Steps

  • The Bot posts a embed message that contains "".
  • Open the embed message in Discord App on Android.
  • Tap the text channel name in the embed message.

**Expected Behavior...

chilly siloBOT
chilly siloBOT
#

I've just tried this as well and it works fine. Here's a full Flask app that you can run as an interaction endpoint:

from flask import Flask, jsonify, request, abort

from nacl.signing import VerifyKey
from nacl.exceptions import BadSignatureError

# Your public key can be found on your application in the Developer Portal
PUBLIC_KEY = '...'

app = Flask(__name__)

@app.route('/', methods=['POST'])
def index():
    verify_key = VerifyKey(bytes.fromhex(PUBLIC_KEY))
    s...
chilly siloBOT
chilly siloBOT
#

Maybe it could also be added to the allowed hyperlink protocols? At the moment only http(s) and steam are automatically turned to links in messages

Buttons urls currently only supposed http(s) as the protocol. However, in a normal message content, you can use almost any other protocol by wrapping the uri in < >.

Eg. <steam://install/698780>, <com.epicgames.launcher://store/en-US/p/discord>, <calculator://1>, <ms-settings://notifications>, <dict://discord>.
![uris](h...

chilly siloBOT
chilly siloBOT
#

Description
Currently when trying to send an emote mention via a bot like this (when in an inline code block) will result in discord parsing the emote and replacing the content with just `:emote:` when the parser should just ignore it and display.

But this is only when the bot IS NOT in the guild that has the emote, if the bot IS IN the guild that has the emote sending the mention in an inline code block works as expected.

Steps to Reproduce

  1. Create a bot appli...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Currently, when GET'ing registered commands, a command's options do not show whether the command is required or not. I have an option where required is set to false but this information is not given. I need this to be made available as currently my command registrar is flagging the command as different on Discord than locally and updating it and I don't want commands to be made unavailable every time I restart. *Of course I realise I can have it ignore this flag but would be easier if I cou...

chilly siloBOT
#

Description

I have a beta bot with some slash commands. I coded everything to make them work, and want to put these slash commands onto the main bot. I only have one option right now: get all slash commands from the beta bot and, one by one, put them onto the main bot.

A solution to prevent this and gain time would be to have the create slash command endpoint be able to create multiple slash commands at once

Why This is Needed

Right now, slash commands have to be create...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

The overlay has quite limited target availability compared to most other features of the SDK, so I thought it would be worth pointing that out directly in the docs rather than devs having to find it out the hard way in a completely separate support article.

I also believe the article is incomplete in terms of unsupported targets, as, AFAICT, the overlay is also completely unsupported on Linux, eg, the Game Overlay settings section is completely missing in the Linux client and the `OVERLA...

#

There is no documentation on how to provide a reason when kicking/removing a member from a guild as per https://discord.com/developers/docs/resources/guild#remove-guild-member

However a reason can be provided when banning: https://discord.com/developers/docs/resources/guild#create-guild-ban

It is evident you can provide a reason when kicking a user, as an optional query parameter. Please document this.

chilly siloBOT
chilly siloBOT
#

However, in a normal message content, you can use almost any other protocol by wrapping the uri in < >.

Thanks, had no idea that worked but it does the trick. I guess it's still a bit of a hack though, and if it was officially supported it probably wouldn't open a pop up and could be handled entirely in the client (it uses a standard URL open so if you don't have the protocol set up e.g. on Linux it doesn't work).

chilly siloBOT
chilly siloBOT
#

The API behavior is already documented.

Discord's ban feature stores a ban object with the ban reason, and it can be viewed in Server Settings > Bans. Therefore, the endpoint takes a ban parameter.

Other features (such as kick) do not permanently store a reason, but some create an audit log entry. For those, the endpoint does not have a parameter for setting the reason for the action, but you can set the audit log reason with the audit log header, as described in the Audit Log page I linked.

chilly siloBOT
#

The API behavior is already documented.

Discord's ban feature stores a ban object with the ban reason, and it can be viewed in Server Settings > Bans. Therefore, the endpoint takes a ban parameter.

Other features (such as kick) do not permanently store a reason, but some create an audit log entry. For those, the endpoint does not have a parameter for setting the reason for the action, but you can set the audit log reason with the audit log header, as described in the Audit Log...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

I have my bot do a bulk overwrite of guild application commands on startup (in response to GuildCreate) to ensure that the commands are always up to date and consistent with the bot's logic. I've noticed as I've added subcommands for my bot that the order that subcommands appear to the user in the client appears based on the order that the subcommands were first created, rather than the order of the options under the top level command.

This behavior seems to only app...

chilly siloBOT
#

Additional use case for Moderation

Bios have full markdown, meaning users can put links in them. This makes them an escalated moderation concern. There are many automoderation bots that already scan user presences for malicious content, slurs, spam, advertising etc. The moderation concerns for presences are doubled for bios as they always display regardless of presence, and have full markdown allowing someone to link to grabify (for example) in their bio. Malicious bios are more akin t...

chilly siloBOT
#

Description

If bot can set bio, It will be so good.

Why This is Needed

Playing (Text) has max character limit, and only one line.
But with bio, status can be used as "status", and can break line so it will be easy to read.

With status: 100 Servers, !help to see h...
With bio:

100 Servers
!help to see help
https://example.com

Alternatives Considered

(None)

Additional Details

(None)

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

you can use Guild Slash Commands for cases like the one you mentioned.
https://discord.dev/interactions/slash-commands#create-guild-application-command

Guild-specific commands have rate-limits and for anything more then a couple dozen guilds you'll be rate-limited and unable to make more commands. Even if these were lifted, it'd still be a painful user experience.

Also, this still doesn't combat the problem of organizing your slash commands into sections.

chilly siloBOT
chilly siloBOT
#

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

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

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

Privileged intents are great, but the authorization model i...

chilly siloBOT
#

Description

A member of our Discord has encountered a weird behaviour when playing around with interactions. I couldn't find anything in the docs that could justify this behaviour and therefore I am asking here.

When sending an ephemeral message with a button as an immediate response to a slash command, the message is nearly completely missing in the component interaction create event when clicking on the button.

Steps to Reproduce

  1. Invoke a command i.e. /help
  2. Respon...
#

Description
Receiving a packet from a button component that is attached to an ephemeral message is missing fields in the message object.

Steps to Reproduce

  1. Create a ephemeral message via a slash command that contains a button component
  2. Have the user interact with the button component.

Expected Behavior
To receive the packet as documented on https://discord.com/developers/docs/interactions/message-components#buttons
Expected packet: https://pastebin.com/raw/589zK...

chilly siloBOT
chilly siloBOT
#

The created thread is always a GUILD_PRIVATE_THREAD
How would this work if the guild doesn't have the ability to use private threads? This default, as mentioned further down, was kept to match the behavior from when the docs were first published but now that private threads are (unfortunately) locked behind boosts, most servers won't be able to use them, making keeping this default kinda useless from what I can see

chilly siloBOT
#

We need to get some precommit hooks for formatting on this repo.

Yes please! An addition to this, would it be possible to get build previews / be able to self host the site (this kinda open-sources internal code so definitely a heavy ask on the second option) so that we can check things like links. Just in general too being able to refer people to a build preview is great when the actual site goes unbuilt for a bit.

ps. i'd be happy to separate this into a separate FR issue / make som...

chilly siloBOT
#

Slash command options give users a clear way to navigate bot complexity when the source of that complexity is multiple inputs per command. But what if you want to build a bot that appears to have only one input per command, based on free-typing and natural language processing?

The current approach doesn't seem work as well because you have to have a required option that appears after you type your command which doesn't do anything except reiterate what the command does.

To be concrete...

chilly siloBOT
#

this is a regression from (A) which non-slash command bots can already do.

I wouldn't say comparing client UI and sending a message is apples to apples, let alone regression; they're not really comparable.

Furthermore, I can see how in some situations having the inline tooltip seems a bit redundant, but I'd personally favor consistency over UX for some semi-specific scenarios

chilly siloBOT
chilly siloBOT
#

Description

Currently, relative timestamps (``) will update once you reload/restart your client. It might be a way better if it updates live like a countdown. Also in a few seconds could be replaced with the real amount of seconds.

Furthermore, it might be useful to select how detailed the relative timestamp should be. Eg. when 1 hour 21mins 20 seconds are left it will show in 3 hours. You might be able to define `` with 2 for 2 time units. This would result in `in 1 hour 21 mi...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

About me/bio would help http/interaction bots a lot, so the developers of those bots could put a message there stating it doesn't need to be online to work etc.
A good example would be @advaith1's activities bot, the amount of times people has asked why it's offline is just crazy.

and it could be used for maintenance/outage messages like #1769 was asking for.

And could be used to put information for the bot like prefix, website, support and/or help command. Instead of doing it throu...

chilly siloBOT
chilly siloBOT
#

Description
Interactions bug

Steps to Reproduce
1 - Send button interaction
2 - Send reply to interaction with type UPDATE_MESSAGE (6) without any content
3 - The API will throw error Cannot send an empty message but on the app you don't have the text This interaction failed

Expected Behavior
It should text This interaction failed

Current Behavior
It doesn't say anything as if we have sent an answer which is correct

Screenshots/Videos

https://use...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

You can include those in your custom_id, styles should be irrelevant (a green button that does exactly the same as a blurple one, that behaves differently just because they're of different colors, is counter-intuitive).

If you want the full data, you can fetch the message and read the components property.

Ok i guess my button id would be 3 lines or something i guess, like, come on man, its obviously needed.

chilly siloBOT
#

Ok i guess my button id would be 3 lines or something i guess, like, come on man, its obviously needed.

custom_id has 100 characters, or what's the same, 100 bytes you can fill in. Enabled/Disabled (you can't even click disabled buttons, as @TwilightZebby pointed out, but anyways) can be 1 character (true/false), colour can be 1 character too (red/green/blue/none), labels are always smaller than 80 characters (due to the limit), although they're useless.

**Si...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

@Armando Lopez Jr @.***>

On Sun, Jun 27, 2021, 8:42 AM Evo Fearnley @.***> wrote:

The premise of this issue is false. Bots don't have access to Nitro
features, and the cross-server emoji and animated emoji are an exception
to this.
There have been numerous requests for bots to get certain Nitro
features - it is unclear whether they will get any, and if so, which.

โ€”
You are receiving this because you are subscribed to this thread.
Reply to this email directly, v...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
Discord Developer Portal Whitelist Email link brings you to a blank site

Steps to Reproduce
Whitelist Email page at
>https://discord.com/developers/applications//whitelist
Adding a user to the whitelist for an application
send whitelist invitation
user checks email for link
pressing link brings user to a blank page and does not accept the invite

Expected Behavior
Should bring you to presumambly an oauth2 page to accept invite

Current Behavior
Bl...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Hello, my bot uses Lavalink to play sound and Erela.js for everything about the player, everything worked fine except when on my VPS, I decided to put a firewall (you never know) and since then no sound has been released is produced.

I have checked everything: the firewall does allow Lavalink to connect (it connects without any problem), no error in the console, everything works.

But when I deactivate my firewall, everything works again normally, I think that this pro...

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

Description

A sandbox mode guild for developers to test features that are otherwise premium-only (ie. locked behind Nitro or server boosts).

Why This is Needed

Currently, there's no easy way to test features that relate to store channels, Twitch integrations, premium thread features, etc.

Alternatives Considered

One alternative would be to purchase Nitro or server boosts but a tier 3 server boost can get quite expensive for a hobbyist developer. Another option would be to ask...

chilly siloBOT
#

Description
I'm trying the execute a webhook with components. In Discord the components will not be shown.

Steps to Reproduce

I executed the following command on my terminal:

curl -X POST -H "Content-Type: application/json" -d '{"content":"Test","components":[{"type":1,"components":[{"type":2,"label":"Click me","style":1,"custom_id":"click_one"}]}]}' WEBHOOK_URL

(WEBHOOK_URL should be replaced by a valid webhook url)

Expected Behavior

I exp...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

The response message for hitting max invites "Maximum number of invites to this server reached." leads you to think that invites have a per guild limit, however from what i can see, they are per channel as i am only getting this error with 1 specific channel in a guild, all other channels are able to generate new invites. I think the error could be adjusted to be more insightful.

chilly siloBOT
chilly siloBOT
#

awesome thank you so much!!

On Tue, Jun 29, 2021, 13:39 Ian Mitchell @.***> wrote:

Thanks for this report! It looks like we missed a spot when we updated our
language to go from whitelist -> allowlist. I just merged a fix for this,
should be out shortly!

โ€”
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/discord/discord-api-docs/issues/3184#issuecomment-870789418,
or unsubscribe
<https://gi...

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

Description
Editing/sending a differed message in an archived thread will return an 500 error

Steps to Reproduce

  • create a thread
  • Send a differed message in the thread (don't send the message content now)
  • archive the thread
  • send the message content

Expected Behavior

The message should at least be updated in the tread, or the api should return a 403 error.

Current Behavior

The message is not updated, and the api return a 500 error, after ~ 20-30 sec...

chilly siloBOT
#

Modify Guild Welcome Screen allows for any arbitrary string of up to 152133 characters value to be passed for emoji_name in welcome channels where emoji_id is also provided. This is also reflected in the return value of Get Guild Welcome Screen and makes WelcomeChannel.emoji_name an unreliable field when emoji_id is set along with the other issue that emoji_name isn't updated when the relevant custom emoji's name is changed.

Steps to Reproduce

Make the following request ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
For Select Menus, specifying a min_values without also specifying max_values causes a 500 Internal Server Error. This is presumably because the provided min_values would be greater than the default max_values of 1.

Steps to Reproduce
The following Select Menu payload would produce the error:

{
  "type": 3, 
  "custom_id": "select_menu",
  "min_values": 2, 
  "options": [
    { "label": "One", "value": "1" },
    { "label": "Two", "value": "...
#

Description

Offer a way to let the user select between the following types:

  • Member/User
  • Role
  • Channel (Text, Voice may be separated and combined option)
  • Mentionable

Why This is Needed

Currently, Components unfortunately doesn't support any type of Selecting Roles, Channels, or users. I think selects is the best component type to solve this.

Alternatives Considered

  • Let the user send a message (Current Way)
  • Any other component type eg. Textfields (if t...
chilly siloBOT
chilly siloBOT
#

Hello!

I don't think we should elaborate too much on what these definitions are. I'm not sure that, as written, these accurately describe how we classify guilds internally, and of course, those definitions will change over time. I'm fine with having the names be documented, but getting into the details of what each of those names means, seems like low value for bots, and just future frustration when they inevitably do change.

chilly siloBOT
chilly siloBOT
#

Fixing the refresh and showing individual seconds are both planned. Additional formats are not, due to how the locale specific formatting works.

While additional formats are not planned. Could you think about that for a Long Date that includes day of the week display without the time ?
Currently you can display "Tuesday, 20 April 2021 16:20" but you can't only display the Long Date "Tuesday, 20 April 2021".
There are many use cases where you want to specify a date and include the day o...

chilly siloBOT
chilly siloBOT
#

@advaith1
Do you know the update, create & delete events?
Could you add them if they exist?

found out

Sticker Create:

"stickers": [
  {
    "type": 2,
    "tags": "star_struck",
    "name": "Miku Dance",
    "id": "859934445338624001",
    "guild_id": "858089281214087179",
    "format_type": 2,
    "description": "Dancing cute miku",
    "available": true,
    "asset": ""
  },
  {
    "type": 2,
    "tags": "eyes",
    "name": "test",
    "id": ...
chilly siloBOT
#

Description

Right now, when a guild sticker gets added/removed/update, they all simply fire GUILD_STICKER_UPDATED, which, for hopefully obvious reasons is a bit of a pain in the side.

Why This is Needed
From a library dev/maintainer pov, there's two options that can be deduced when it comes to handling updates to stickers (and by extensions emojis, it seems)

Either:

  • Go through every entity in the gateway event to check what changed, and determine if it's a creation, dele...
chilly siloBOT
chilly siloBOT