#github-notifications

1 messages ยท Page 23 of 1

chilly siloBOT
#

Very ฤฐmportant!!

I want to change this, it doesn't change. There is a bug. I need help.
Thank you :))
:((

Understand me?

8 Kas 2020 Paz 19:51 tarihinde Zamion101 notifications@github.com ลŸunu
yazdฤฑ:

What I mean is this: My bot's profile picture doesn't change. I'll put
another photo, it doesn't work. One, there is an error. Do you have to
Thank you :))

Don't comment your problem. You need to fill in the required fields (like
Description, Steps to Reproduce, *Expected Beh...

#

Okay okay. I found it. Thank you :))

8 Kas 2020 Paz 19:51 tarihinde Zamion101 notifications@github.com ลŸunu
yazdฤฑ:

What I mean is this: My bot's profile picture doesn't change. I'll put
another photo, it doesn't work. One, there is an error. Do you have to
Thank you :))

Don't comment your problem. You need to fill in the required fields (like
Description, Steps to Reproduce, Expected Behavior and so on)
properly and in detail! Please edit your Issue or delete and open...

#

Okay okay. I found it. Thank you :))

8 Kas 2020 Paz 19:55 tarihinde SinisterRectus notifications@github.com
ลŸunu yazdฤฑ:

You need to use the Modify Current User endpoint. Changing the
application's avatar may not change the bot's avatar.

โ€”
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/2223#issuecomment-723634093,
or unsubscribe
<https://github.com/notifications...

#

Yeah. Problem solved. Thank you. :))

8 Kas 2020 Paz 20:21 tarihinde Zamion101 notifications@github.com ลŸunu
yazdฤฑ:

@SinisterRectus https://github.com/SinisterRectus I think the problem
was solved and the issues can be closed.

โ€”
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/2223#issuecomment-723639837,
or unsubscribe
<https://github.com/notifications/unsubscrib...

chilly siloBOT
chilly siloBOT
#

Description

When you PATCH a webhook message when it has a reaction on it, you get a 500

Steps to Reproduce

  • Post a webhook message
  • Add a reaction to it
  • Patch it

Expected Behavior

The message edits to the new content without a 500 and returns the new content

Current Behavior

The message edits to the new content, but a 500 error is raised, masking the new content

Screenshots/Videos

curl -i  'http://192.168.11.39:83/api/v7/webhooks/...
chilly siloBOT
#

Description

When leaving out the since, activities, or status property in the status update payload data, the gateway closes the connection with 4001 Unknown Operation Code.

Steps to Reproduce

  • Use a simple gateway connection.
  • Send the following payload:
{
  "op": 3,
  "d": {
    "since": null,
    "activities": [{
      "name": "Save the Oxford Comma",
      "type": 0
    }],
    "status": "online",
    "afk": false
  }
}
  • Observe t...
chilly siloBOT
#

Description

Olรก, nรฃo sei se รฉ um bug mas irei enviar , eu estava fazendo um bot para aprendizado e fui fazer um comando para apagar mensagens, cai no erro que nรฃo pode apagar mensagens com mais de 14 dias porem tentei fazer um cรณdigo pra apagar o mรกximo de mensagens possรญvel atรฉ o erro acontecer porรฉm o resultado que deu foi que o bot pula o erro e continua apagando mensagens no meus testes ele apagou mensagens de mais de 2 meses.

Steps to Reproduce

Pego a mensagen qu...

chilly siloBOT
#

I do believe you've found the difference between a bulk delete of messages, and deleting a single message.

Relevant links:
See the warning on bulk deletion: https://discord.com/developers/docs/resources/channel#bulk-delete-messages
And see how there's no warning on the single message deletion: https://discord.com/developers/docs/resources/channel#delete-message

discord.js automatically falling back to single message deletion for a single message (as the bulk deletion endpoint only sup...

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

Description
Debugging my bot, I started seeing that the member on MESSAGE_CREATE's have this is_pending field.

I don't know what this field is for, so it would be nice if some staff member could give clarification on what this if for to be able to document it :smile:

Payload

{
    "t":"MESSAGE_CREATE",
    "s":7,
    "op":0,
    "d":{
        "type":0,
        "tts":false,
        "timestamp":"2020-11-10T18:44:30.085000+00:00",
        "referenced_mess...
chilly siloBOT
#

Description
I guess i got the wrong or missing API from a discord with like 500 user.
For example, if i print all the roles of a user, they won't change even if i modify it on the server.
I got even a function where i read the user ID from a file, than i search that ID in the discord users of that server, than i load another file linked to that ID, now i can read only 2 or 3 ID out of 6 or more (depend on the file loaded), the others just give me that is empty.
I guess is for the larg...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

@duarda054

Quando um usuรกrio estรก usando a opรงรฃo copiar e colar no discord, o discord acaba eliminando a รบltima letra da frase/palavra.

When a user uses the copy and paste option in the discord, the discord ends up eliminating the last letter of the phrase/word.

(Portuguese -> English, Translated)


English
This repository is for feature requests, bugs, or other suggestions related to discord APIs.
If you find any bugs related to the discord client itself, please r...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
When inviting a bot with oauth2 code grant enabled, Discord API still invites the bot without any POST requests sent back to approve the invitation.

Steps to Reproduce

  1. Enable "Requires oauth2 code grant"
  2. Add a random website to redirects
  3. Invite bot with the redirect_uri being the random URL
  4. Bot gets invited without any POST request sent to /oauth2/token

Expected Behavior
Bot would only be invited if POST request was sent back to Discord API

...

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

@jhgg is there any update on this? As it has been almost a year since then, and I think its a great opportunity to introduce this change, to show that discord cares for the future of its platform.

We of course care of the future of the platform however ipv4<->ipv6 connectivity is not really going away any time soon with the availability of nat64 - and there are much more important things to work on.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Will webhooks support replies? I maintain matterbridge, which is a bot that bridges chats between Discord and other chat platforms. We use webhooks so that we can change the message username and avatar to look like the person that sent the message.

Making it possible to send a webhook in reply to a message will allow us to bridge Slack threads nicely. (Otherwise we'll have to drop down to regular bot user messages when doing replies.)

Not s...

chilly siloBOT
chilly siloBOT
#

In our particular use case, we use a bot user for reading messages, but a webhook for sending messages. A webhook specifically allows for added flexibility in setting the username/avatar. So we would always be able to get message IDs of non-webhook-sent messages.

Note that WebhookExecute returns the message ID that was created (if you provide ?wait=1), so a webhook on its own (without a bot user) is always able to get a message ID to reply to.

And similarly webhooks have these ...

chilly siloBOT
#

Will webhooks support replies? I maintain matterbridge, which is a bot that bridges chats between Discord and other chat platforms. We use webhooks so that we can change the message username and avatar to look like the person that sent the message.

Making it possible to send a webhook in reply to a message will allow us to bridge Slack threads nicely. (Otherwise we'll have to drop down to regular bot user messages when doing replies.)
...

chilly siloBOT
#

As you can see in this image, it looks like 3 requests were made, one to add 'HD Verification', one to add all the divider and ping roles, and then one to remove 'HD Verification'. The issues is that the remove request was never called. I've checked every remove request that the bot makes, and there is no way that the bot would request this role to be removed. The code looks like this, where VERIFIED_ROLES is an array of roles (the second request) and client.DISCORD_VERIFIED is the 'HD Verifi...

chilly siloBOT
chilly siloBOT
#

Description

The bot has 2 shards, but since a few days it reconnects after a few minutes all the time with the error websocket connection is closing multiple times and is not working.

Steps to Reproduce

Make a bot with 2 shards using importing discord.py commands and using discord.py cogs.

Expected Behavior

Bot stays connected for a long time.

Current Behavior

My 2 shard bot (verified) is disconnecting after a few minutes and trying to reconnect, the...

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

Description

Allow bots to access a POST endpoint where they can specify a title and description, that will appear in the audit log just like any other entry. The time would be the current time and it could say something like 'Posted by {bot name}' at the bottom of the log.

This can be used for logging specific things (e.g. a user disabled a guild feature in a bot), or more generally (say someone wants to log deleted messages).

Why This is Needed

This is needed to m...

chilly siloBOT
chilly siloBOT
#

I've seen many bots use additional channels for this sort of purpose. While I understand that logging to a channel would require the user to set up the channel and configure the bot with it, it also allows users to configure who can see those logs, regardless of whether they have VIEW_AUDIT_LOGS.

To be clear, I think this is a great idea -- but I'm wary of it too. In servers where all moderators already have VIEW_AUDIT_LOGS (or in cases like the Discord API server, where all users can ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

A way to receive information if the bot is able to dm a user.

Why This is Needed

It's currently very hard to know if a bot is able to dm a user. With the new changes in V8 where it's recommended to not fetching + caching all users, it became harder to check if a user has a mutual guild. It's a bit hit or miss. Currently you need to dm a user and wait for a 403.

Alternatives Considered

At least a has_mutual_guild bool or list of mutual guild ids in the ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

It is currently impossible to create a channel object for direct messages on v8. Thus, it needs to be provided somehow since you can no longer rely on getting a CHANNEL_CREATE for the private channel.

Why This is Needed

The MESSAGE_CREATE event only provides a channel_id which is not enough to determine who the recipient of the private channel is. Thus it is not possible to properly create a channel object from events like this.

**Alternatives...

#

Description

The PRESENCE_UPDATE dispatch should include a member field containing the member instance.

Why This is Needed

Unfortunately, v8 removed all the useful member data from presence updates which now makes it rather annoying to deal with.
I can no longer support caching online members in JDA because I don't get a member instance from the presence. Additionally, I also have to make less useful events that only provide a user id.

**Alternatives Consid...

chilly siloBOT
#

@davidetacchini Know I could spot an error in the logs betwenn the messages:
File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 1012, in aenter
self._resp = await self._coro
File "/usr/local/lib/python3.8/site-packages/aiohttp/client.py", line 504, in _request
await resp.start(conn)
File "/usr/local/lib/python3.8/site-packages/aiohttp/client_reqrep.py", line 860, in start
self._continue = None
File "/usr/local/lib/python3.8/site-packages/aiohttp...

chilly siloBOT
chilly siloBOT
#

@davidetacchini To get more information about when the connection closed I got output from the on_shard_disconnect and shard_connect events:
random time...... and then this:
Shard disconnect: 0
Shard disconnect: 1
Shard disconnect: 0
Shard connect: 1
websocket connection is closing.
Shard disconnect: 1
Shard disconnect: 0
Shard disconnect: 0
Shard disconnect: 1
Shard connect: 0
websocket connection is closing.
Shard disconnect: 0
Shard disconnect: 1
Shard disconnect: 1

chilly siloBOT
#

Adding some notes for Edit Webhook Message:

1.: Returns a message-object on success.
2.: Giving content as empty string wont edit it to empty string. (Bug?) The edited message must have embeds or attachments. The message will be marked as edited.
3.: If you would edit your message to empty, you still get Bad Request (400), code=50006: Cannot send an empty message.
4.: Giving content as null is same as giving it as empty string. Follows note 1 and 2.
5.: Giving embeds as `...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

I would like to see the guild emoji rate limit special casing lifted, and replaced with something much closer to the rate limits that users receive. Maybe not quite as lax as the user rate limits, but 3600 seconds is unacceptable.

Why This is Needed

I have a bot which acts as an alternative frontend for the Server Settings โ†’ Emojis pane. It supports some features that the official client doesn't support, like copying emojis without downloading them first, and import...

chilly siloBOT
chilly siloBOT
#

@jhgg A webhook is attached to a specific channel. Surely the channel association alone would be enough to say "this webhook can reply to messages in this channel"? If that's not enough, what about the (bot) user that created the webhook?

In our particular use case, we use a bot user for reading messages, but a webhook for sending messages. So we would always be able to get message IDs of non-webhook-sent messages. It's just that the webhook specifically allows for added flexibility in...

chilly siloBOT
#

I found that the message_reference field appears for messages with types 6 (CHANNEL_PINNED_MESSAGE) and 12 (CHANNEL_FOLLOW_ADD).

For messages with type 6 (CHANNEL_PINNED_MESSAGE), message_reference will point towards the pinned message, and referenced_message will be the pinned message's data.

For messages with type 12 (CHANNEL_FOLLOW_ADD), message_reference will point towards the channel that was followed, and referenced_message will not appear.

I'm unsure if the w...

chilly siloBOT
chilly siloBOT
#

Not being able to receive the message reference through ?wait=1 or through editing would be completely fine for my use case, and could potentially clear some security issues on your side.
An alternate could be providing some proof that you know the message content regardless so no information is leaked.

For what it's worth, I've already had 5 users of my bot ask why this isn't already a thing

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
Hi there. It was noted over in #2252 and in #2053 that message_reference would appear for messages of types 6 (CHANNEL_PINNED_MESSAGE) and 12 (CHANNEL_FOLLOW_ADD). I had also noted that type 6 messages would include a referenced_message field, with the data of the message being pinned (except when the message had been deleted).

Talking with @advaith1 right after my PR was submitted, we found an additional quirk with type 6 messages: They will only have a `refer...

chilly siloBOT
#

Description
The error that a bot is not verified and needs to be in order to do so only shows up after you complete the reCAPTCHA

Steps to Reproduce

  1. Try to invite a bot that is not verified and can not be added to any more servers because of this limit
  2. Select server
  3. Complete the reCAPTCHA

Expected Behavior
The error that the bot can not be invited shows up sooner (im not sure were it is supposed to but I know its before the reCAPTCHA).

**C...

chilly siloBOT
chilly siloBOT
#

Description

When the main gateway connection is interrupted and the session gets invalidated, the voice gateway closes with code 4014. Instead I would prefer to have a different more specific code for my reconnect logic.

Why This is Needed

Since this code is often used as a sign to not attempt a reconnect, this becomes a problem when trying to reconnect voice connections after a full session reconnect. Usually, when I receive a 4014 close I will simply close the s...

chilly siloBOT
#

I just did a little bit more digging with some help from others and this is actually not true. It's a bit of weird behavior.

If allowed_mentions is undefined, replied_user will get pinged because that is the default mention behavior. Much like if you leave it undefined, @everyone would be pinged, or @user.

If you include allowed_mentions, replied_user defaults to false.

This is somewhat weird behavior and should be documented. I'm reverting this commit and will add some...

chilly siloBOT
#

Description

I would like the API to fire an event when a message in an announcement channel is being published.

Why This is Needed

Bots can only update published messages 3 times per hour. When a message by the bot gets updated, I would like to stop the bot from editing the message as it wouldn't be edited anyways.

Alternatives Considered

An alternative would be to set up a timer that checks all the messages that are being updated every minute or so and then stop th...

#

Description
I was making Oauth2 login with Discord to my website and was at the stage when I needed to make "Log out". So I tried many things, I looked through many examples on web but non of them seems to be working correct.
So the issue is following: documentation have 0 commentary/examples or descriptions about how token revoke request should be formed. The most annoying part was debugging whole thing and trying different ways to send payloads, headers and tweaking a lot of unnecessa...

chilly siloBOT
chilly siloBOT
#

I am using JDA API. I made a bot on JDA, which worked fine, but at 1 moment it just stopped seeing the guilds in which it is located. After numerous experiments, I came to the conclusion that if a BOT is in guilds, then its "loading" (I use the awaitReady() method) takes an infinitely long time. The bot itself works, it even handles the PrivateMessageReceivedEvent correctly, but the Guild List is always empty and when I use getGuildById(id) it always returns null.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Anyways, even if it catches all cases it should be mentioned. At least something should be said about it, just doubling RFC will be fine or providing link to it. I was reading whole RFC that mentioned CarsonHoffman but somehow missed that section... It took good 3-4 hrs of my life for it.

It took several hours from me as well, There should be either a clarification in Discord API docs, or a change in the API that accepts access_token and assumes that the token_type_hint is an `access_t...

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

Maybe it should be added that ETF may be removed in the future? (see quote in https://github.com/discord/discord-api-docs/pull/1843#issuecomment-665386276)


From: Joe Banks notifications@github.com
Sent: Sunday, November 22, 2020 12:31:52 AM
To: discord/discord-api-docs discord-api-docs@noreply.github.com
Cc: Subscribed subscribed@noreply.github.com
Subject: [discord/discord-api-docs] Add section on ETF specific restrictions (#2262)

This PR introduces a...

chilly siloBOT
#

Hey my discord id name is Enlighted#0007. I am a discord bot developer building discord bots over an year but one thing I think that I feel missing on the api is on the embeds part that having a sliding/choosing option inside a discord embed. I mean If we have the feature the user can really interact with the embed by this. I think it will be good feature to get add on the api. Also the developer can really make some cool things by this like making a choosing option inside the embed simply by...

chilly siloBOT
#

Description

When sending a "GET" request to https://discord.com/api/users/@me/guilds with the bot token as authorization the guilds json is cut at line 999.

Steps to Reproduce

Just send a request with the "GET" method to https://discord.com/api/users/@me/guilds with the bot's token for authorization

Expected Behavior

The json response does not cut in line 999 and you can see all the guilds

Current Behavior

The json response is cut at line 999 and it is not...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

An alternative to this would be to allow posting messages to announcements channels that cannot be published.

what's the point in sending a message in an announcement channel to have it be unpublishable? at that point you should probably just send it in a normal channel

From the aforementioned issue (DV8FromTheWorld/JDA#1453):

Bots can only edit crossposted messages 3 times every hour. If an event would be thrown when a message gets crossposted, you could stop the message fro...

chilly siloBOT
#

@Ron-SSG Your last example help me a lot. I'm using GetServerSideProps on Next Page and its really help me. Thanks!

My example:

export const getServerSideProps: GetServerSideProps = async (context) => {
  const accessCode = String(context.query.code)

  const payload = new URLSearchParams()

  payload.append('client_id', process.env.DISCORD_CLIENT_ID)
  payload.append('client_secret', process.env.DISCORD_CLIENT_SECRET)
  payload.append('grant_type', 'authorization_code')
...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

OK! We're doing the work this afternoon to start the guild restarts. It'll take time because it's effectively taking down Discord piece by piece, so I'll continue to follow up internally tomorrow and we should aim for Monday for it to be out.


Some info on why the delay: generally, new code is deployed to our services with some regularity. Guilds is not often deployed, which is why it can take time.

In the case of this code, it's not a guild deploy. It's a guilds restart, ak...

chilly siloBOT
#

Description
If a user is streaming on youtube and has a streaming status, this status gets reverted in a constant spam loop of Member Update events whenever they open up anything that triggers another status eg Playing. If a bot is used

Steps to Reproduce

  1. Connect your youtube account to discord.
  2. Start a stream on youtube and make sure stream status appears.
  3. After a minute or two, while still continuing to stream to youtube, load something else that removes the stat...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When growth is suspicious (overnight GA situation), the verification page gives an error after filling out the form. Worse yet the data is not kept so that I need to reenter all of the verification each time I want to try submitting again.

Steps to Reproduce

  1. Create a bot and beta test it
  2. Proceed to GA, and get into 75+ servers overnight
  3. Get verification request from Discord
  4. Fill out verification form including stripe and the 7 questions
  5. Ge...
#

Description

The link to 'registering a developer application' doesn't work when using the left mouse button, however it does work when I use the middle mouse button (scrollwheel press)
Steps to Reproduce

Visit https://discord.com/developers/docs/topics/oauth2 and click the registering a developer application 'link'. One can also try clicking on it with the middle mouse button which does work

Expected Behavior
Left mouse clicking on the link should take me to the...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
Discord doesn't let me change the Server Banner Background and no errors/alerts are being shown on client's end

Steps to Reproduce

  1. Go to Server Settings
  2. Click on Overview
  3. Change Server Banner Background
  4. Save Changes

Expected Behavior
Server Banner Background should save/change

Current Behavior
Server Banner Background does not change, and no errors/alerts are shown on client's end except for a 400 Bad Request response...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I'm trying to use the HTTP API to access /guilds/{id}/channels so I can list the channels on a private Discord server.

I am using the Bearer token.
I have added all the scopes identify guilds.join guilds connections email gdm.join bot

How are you supposed to list channels in a guild (server) using the HTTP API? Can you really not use Bearer tokens? That seems like a pretty common operation that I would expect to work.

chilly siloBOT
#

Description

When trying to kick, ban or change a MEE6 bot in my server it refuses to be changed in any way even though it appears on the servers ban list, I have tried taking this up with MEE6 support but the keep sending me back to Discord Support.

Steps to Reproduce

Connected MEE6's custom features to a Developer bot token like it asked but ended up kicking MEE6 instead of the BOT that was invited from the Developer Portal but after going to kick MEE6 it refuses to be k...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Whenever I'm in a voice call in any voice channels, at some point in the call the call would cut off as in there would be no sound at all in the call despite me being in the call and my friends are talking. I always have to leave my call and rejoin back the call to hear the audio again, this should be a discord call glitch/bug as my friends are experiencing this issue too and this issue only occurs on mobile. I have tested my calls on the laptop app version and browser...

chilly siloBOT
#

that is not your fault but the bot that is not programmed to stand a lot of members so that is why this error pops up

That is not even why I am getting this error, please, read it again. It clearly says "As it has not been verified..." its nothing to do with the code itself. I also believe this is a dead bot (hence why it was never verified) so there is no code behind it anyways

chilly siloBOT
#

With a webhook coded in python,
I'm trying to insert multiple images into a single embeds.
It's works well but only on PC, android api doesn't see this pictures .

I don't know if it's a code problem or an API problems.

data is the json payload I'm trying to insert as txt into discord 

data = { 
  "embeds": [    
## Embed Build      
      {  
            "title": "Dogo",
            "url": "https://www.reddit.com/r/cats/",
            "description": "Freddy likes dogs...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hey just wanted to add my experiences. We recently had someone come in targeting harassment at one of our users. Discord was having API instabilities at the time, which might have been why when I banned the user, they didn't actually get removed from the server. However, discord thought that they were banned, so the solution was to unban and reban them.

Here's a screenshot of our modlogs. Inadmissible evidence, I know, but it shows how the ban event got sent out. Of course since the user d...

chilly siloBOT
#

Description

You can set the rules and/or community updates channel via the MODIFY_GUILD endpoint even without the COMMUNITY feature. I don't think this is intended, as in the client, those are not accessible without the feature.

Steps to Reproduce

Set the rules_channel_id and/or public_updates_channel_id field while sending a patch request to the endpoint.

Expected Behavior

Setting...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

application_id is a type ?snowflake. That means it's optional or can be null.

No, that only means application_id can be null. If it were application_id? then it would mean it's optional.

I would submit a PR myself, but I don't know which one is correct.

I would recommend you open a pr adding application_id to the test payload as it seems to always be present

chilly siloBOT
#

the welcome screen is shown when clicking an invite so the data is used, but usually when fetching a guild the welcome screen data isn't used.

this is documented in the pr that documents the welcome_screen property.

there's also the /guilds/:id/welcome-screen endpoint but that's intentionally undocumented since it isn't considered useful for bots.

chilly siloBOT
chilly siloBOT
#

I am using
Recieved Access Token as :

"https://discord.com/api/v8"
requests.get(f"{API_ENDPOINT}/users/@me/channels",headers
={"Authorization":f'Bearer {access_token}'})

{'access_token': 'my_access_token', 'expires_in': 604800, 'refresh_token': 'WQkVyiMvkpbkcbgmbfiPJCFHCnpzb7', 'scope': 'identify email messages.read connections guilds guilds.join rpc rpc.notifications.read', 'token_typ
e': 'Bearer'}

Yet , not able to get response and getting...

chilly siloBOT
#

Description
In a user object, it would be nice to have a deleted field which would allow bots to check if a user is a deleted user.

Why This is Needed
This would be useful for features to clear the ban list of deleted users, check if users in databases are deleted, check if users are actually deleted, and more.

Alternatives Considered
It would be fine if there was a way to distinguish the users, like its a different ID, a name that is only possible to be owned b...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

hey @Skillz4Killz !

I probably have the same problem as you, I have a specific channel to send an image which is deleted a second later, then the bot is in charge of sending this image to another private channel, but sometimes this image is not loaded.
I would like to know how you solved this problem
here's my code.

`client.once('ready', () => {
console.log('Ready')
privateChannel = client.channels.cache.get("privateChannel");
spamChannel = client.channels.cache.get...

chilly siloBOT
#

I'm not 100% on how ur code works, but at quick glance, it seems your only sending the URL itself which expires and so the image itself will not work. What I do is different, I create a brand new image after fetching the image this way its does not expire.

Something else you should look into is if message.attachments even has the url. When I was doing this,(idk anymore), the image url was actually sent to message.embeds and not to attachments

chilly siloBOT
#

Description
When you send an inline reply but the source message is deleted whether by you, a user, another bot or whatever, that throws an error. Replies is an incredibly popular and desirable feature for bots and the more libraries that switch to supporting this, the more this will become a problem for users.

There is no clear way of telling when the source message is deleted or not. Therefore, I hope we can either alter the behavior to cleanly send the message and it saying `Or...

chilly siloBOT
chilly siloBOT
#

Description
Add fields to the hello packet to include data about rate limiting similar to the HTTP API.

Why This is Needed
Currently, there is only a small part of the documentation that mentions anything about gateway rate limiting, and it's not mentioned under the Rate Limit topic either. Hardcoding values is generally not great, so knowing what they are initially can be very helpful.

Alternatives Considered

Additional Details
We could potentially receive another...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

discord's new update has added 3 bugs that are really annoying
bug 1: a javascript error appears when discord tries to load on windows automatically
bug 2: when using /shrug /tableflip or /unflip on a server, every time you press a key of part of the mouse, it adds one "message:" to your message
bug 3: when trying to save changes in a server, no matter how much the save button is pressed, the changes don't save
i hope these bugs get fixed soon - angrybird121

chilly siloBOT
#

Description
When using a Discord-github webhook (i.e. a webhook url suffixed with /github), all requests of the category "check_suite" lead to a 400: bad request

Steps to Reproduce

Configure a Github -> Discord webhook within a repository
Select the "check_suite" event
Trigger a check_suite event (run a github action in some way, shape or form)

Expected Behavior

The check suite event should appear in a discord embed in the specified channel as an embed

**Curr...

chilly siloBOT
chilly siloBOT
#

hi, thanks a lot for answering me, it's true that the code that I sent you is not very understandable (I'm new on node.js). I'll try to explain you better how my code works, even if I think you understood me it seems your only sending the URL itself which gets deleted when you bulk delete and so the image itself will not work, and I think that I also have to create a brand new image after fetching the image but i don't now how to do that, or wait until the image is sent in the private chann...

chilly siloBOT
chilly siloBOT
#

Attached is a payload that fails every time

{
  "action": "completed",
  "check_suite": {
    "id": 1636376350,
    "node_id": "MDEwOkNoZWNrU3VpdGUxNjM2Mzc2MzUw",
    "head_branch": "fix-pyright-action",
    "head_sha": "372164294e3cf39475a90529b5fb304d0f88ce2f",
    "status": "completed",
    "conclusion": "success",
    "url": "https://api.github.com/repos/dob9601/Purnell/check-suites/1636376350",
    "before": "0000000000000000000000000000000000000000",
    "after": "3...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

The intention of this API is to allow webhook senders to edit and delete their own sent messages. Allowing moderators access to editing others' messages directly is not something we're considering adding support for at this time. We may in the future make webhooks sent by an application editable by the application's bot user, but that is a different request than the one made here.

#

As it stands today, the expected use case here (a user sending your bot a message) is solved without the channel object. The use case you've described (a bot sending itself a message) is not a particularly useful thing I think needs solving. If you really do need to know the channel object then I think I would feel comfortable recommending that you store that data on your side or send from a single shard (0).

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

when I was making my bot, I tried to start it but it didn't start and this is what it said:

(node:5888) UnhandledPromiseRejectionWarning: FetchError: request to https://discord.com/api/v7/gateway/bot failed, reason: connect ECONNREFUSED 127.0.0.1:443
at RequestHandler.execute (/Users/ra/Desktop/daijubot/node_modules/discord.js/src/rest/RequestHandler.js:93:15)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:5888) UnhandledPromiseRejectionWarning: Unhan...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
Unable to connect github with discord. Returns error.

Steps to Reproduce
(In discord client)

  1. Go to settings
  2. Connections
  3. Click GitHub
  4. Login to GitHub
  5. Click Authorize
  6. Look at failure message

Expected Behavior
Github connects

Current Behavior
Returns error message

Screenshots/Videos
https://i.imgur.com/C64QN0e.png

Client and System Information
Windows 10, Stable 73091. Can be reproduced on other pl...

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

Same issue here.
I can send an image within an Embed in a message, but when I try to edit the message and replace the Embed (new content/new image) , the previous image "switches" to a MessageAttachment, the new image appears in the Embed, and both images are displayed in the message.
Roughly the same problem as explained here : hxxps://stackoverflow.com/questions/63050380/how-do-i-edit-an-image-inside-an-embed-discord
Thanks.

chilly siloBOT
#

@AntoCrasher

Did you add an entry that overrides the default resolve behavior for discord.com?
Are you able to open discord.com in your browser?
Try to change your DNS server and see if the issue persists.

As @AEnterprise stated, when your computer/server tries to resolve the domain name discord.com to interact with the discord API, it resolves discord's IP address to 127.0.0.1, which points to your local computer. Because of that, your client is not able to communicate with disc...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

let's recommend tweetnacl since it's more popular and has been audited.

const nacl = require('tweetnacl');

const PUBLIC_KEY = 'APPLICATION_PUBLIC_KEY';

const signature = req.get('X-Signature-Ed25519');
const timestamp = req.get('X-Signature-Timestamp');
const body = req.rawBody; // rawBody is expected to be a string, not raw bytes

const isVerified = nacl.sign.detached.verify(
  Buffer.from(timestamp + body),
  Buffer.from(signature, 'hex'),
  Buffer.from(PUBLIC_KEY, 'hex...
chilly siloBOT
#

let's update this example to demonstrate raw pynacl usage:

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

PUBLIC_KEY = 'APPLICATION_PUBLIC_KEY'

verify_key = VerifyKey(bytes.fromhex(PUBLIC_KEY))

signature = request.headers["X-Signature-Ed25519"]
timestamp = request.headers["X-Signature-Timestamp"]
body = request.data

# raises `nacl.exceptions.BadSignatureError` if invalid
try:
    verify_key.verify(f'{timestamp}{body}'.encode(), signat...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
I had an asset with a key of unknown. I later deleted the asset and made a new asset with the same key. In the browser, the key is mapped to the new asset but Discord shows the old asset for that key.

Steps to Reproduce
Open application in https://discord.com/developers/applications/
Create an asset with some key
Save the asset

Delete the asset and create a new asset with the same key

Expected Behavior
Discord showing the new asset

**Current Behavior...

chilly siloBOT
chilly siloBOT
#

Hi guys, ๐Ÿ‘‹ I went to the website and wanted to create a new application and it did not even show the previous applications.
๐Ÿ‘‡ Error related to this problem ๐Ÿ‘‡

Error fetching applications. Please reload page, or click here to contact support.

๐Ÿ‘‡ And he made this error to build the application๐Ÿ‘‡

500:Internal Server Error

chilly siloBOT
chilly siloBOT
#

The 50 limit... can we get that raised and if so how? Without a higher limit, slash commands do the opposite of what it says in the intro.

Users can learn everything your bot does and easily find new features as you add them.

Not with a limit of 50. It only shows 50 of the things your bot does and doesn't show any new features once you reach that.

Slash Commands set your users up for success instead of confusion and frustration.

It will now create a new type of confusion tryi...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

I would like to see if an account with the bot scope can see certain object properties.

Why This is Needed

Would be useful to know really. If I understand correctly, bot accounts cannot view mfa_enabled and premium_type properties on user objects.

My suggestion would be to add bot to the Required OAuth2 Scope column. For example, if the content is identify, it should become bot, identify.

I have scanned through the whole documentation ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Well, a few things:

you cannot do that with the current system.

If you still need permissions within the guild, you should still be using a bot user. I even explicitly stated that at the start of the docs.

add smarter tokens (if smarter tokens means more perms) to also give roles or something.

When I offhandedly mentioned smarter tokens, we're actually thinking more than this. What if the interaction token was a short-lived token scoped to the user's permissions? So if I wa...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When using responding to slash commands with an ACK (or ACK with source) and using a webhook with the interaction's token to respond, embeds are ignored by the API if the ephemeral message flag is set. If the flag is not set, embeds work fine.

Steps to Reproduce

POST to https://discord.com/api/v8/webhooks/{bot_id}/{interaction_token} with

{
	"flags": 64,
	"embeds": [{
		"title": "hello",
		"description": "Test"
	}]
}

Expected Behavior...

chilly siloBOT
#

As far as I'm aware, not being able to use embeds or attachments is intended

The docs for InteractionApplicationCommandCallbackData have an embeds field defined. I haven't tested what happens when you respond directly with a ChannelMessage interaction response that contains embeds yet, but I'd assume if they work with them, they'd work with webhooks. I'll test and get back to you on that

#

I meant with ephemeral messages specifically. I remember someone saying they skipped out all the infrastructure that renders embeds/saves attachments and ships the message directly to the client

Hmm ok, just confirmed same happens when you use the ChannelMessage response. I understand why attachments wouldn't be supported (they aren't documented under the callback data structure, unlike embeds), but since embeds are rendered by the client I don't see why they wouldn't be supported

#

Description

I've recently tried to excahnge my application credentials (client id + client secret) for an access token using the client credentials grant via oauth 2.0. But when i tried to exhange my application's credentials for an access token without providing a scope value, i got a 400 Bad Request:

The request:

POST /api/oauth2/token HTTP/2
Host: discord.com
user-agent: insomnia/2020.5.2
content-type: application/x-www-form-urlencoded
authorization: Basic [R...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

The 50 limit... can we get that raised and if so how? Without a higher limit, slash commands do the opposite of what it says in the intro.

Users can learn everything your bot does and easily find new features as you add them.

Not with a limit of 50. It only shows 50 of the things your bot does and doesn't show any new features once you reach that.

Slash Commands set your users up for success instead of confusion and frustration.

It will now create a new ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Offer a language key in the Interaction or ApplicationCommandInteractionData objects. This could be client language (please!!!) or the preferred_locale attribute on a guild.

Why This is Needed

Sure the commands and descriptions will be in English (or bot creator's language of choice). However, I'm sure there will be a way to solve this eventually (this falls under improving the UI). All the while, the outputs would be in the bot creator's language of choic...

chilly siloBOT
chilly siloBOT
#

Would be quite nice but then there's servers like Discord API and Discord Developers that are also used for what you're saying.

That's true, but the discussions could be at least be useful for feature requests and (long) conversations regarding them, as issues now seem more fine-tuned for... well... issues (bug reports, reporting wrong/missing info, ...)

Also, not everyone can/will be on those Discord Servers. Be it because they already reached 100 Servers or because they simply don't...

chilly siloBOT
#

Description

Allow slash commands to be only executed when a user has specific permissions in the channel they're using the command in. These permissions can be set individually for each slash command, allowing moderator only slash commands for instance.

Why This is Needed

While it is possible to check permissions after a user has sent a command and reply with a "you don't have the permission to execute this command" type of text, having unusable commands hidden in the ui enti...

chilly siloBOT
#

To add to this,

Sure the commands and descriptions will be in English (or bot creator's language of choice).

Maybe also add the ability to provide localised descriptions? Would be nice to allow users to see the description in their language of choice if the bot developer adds support for it. Maybe instead of providing a string, an object could be provided like below

{
    "name": "commandname",
    "description": {
        "en-US": "english description here",
        "...
#

Description
Allow the use of embeds of embeds when sending ephemeral messages.

Why This is Needed

Commands such as a help command may be big embeds that push chat messages up, interrupting ongoing conversations. Allowing embeds in ephemeral messages would allow only the user that used the command to see the embed making the channel, e.g. for the help command example, those familiar with the bot don't need to see the help command response and may be considered annoying and/or an...

#

Description

Allow the creation of key value pairs for slash command responses. This will allow simple commands like /bear to map to ส• โ€ขแดฅโ€ขส”, making emoticon packs easier. This removes the need for having an always-on server that responds to the POST requests/gateway events sent by slash commands.

Why This is Needed
I don't want to pay for a server just to host a simple pack like this. Also, it could save some bandwidth on discord's end.

Alternatives Considered
I would try ho...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
Unsure if this counts as a feature request or a bug report, but currently you can't use slash commands within the attachment sending modal.

Normally you can submit a message using the "ADD A COMMENT" text field, and with "standard" message-based bot commands, this allows you to invoke commands including an image.

Why This is Needed
A lot of bots have commands that operate on images. For example, the !addemoji command in Carl-bot, which will upload an image at...

chilly siloBOT
#

Description
Command aliases in existing command solutions allow for different names for the same command, eg. a shorthand for longer names.

eg. you can have a single command named /foobar, and add an alias /fb (ignoring length constraint here), and executing both commands would map to the same actual invocation and handler. Ideally this would be represented in the UI- maybe even just affecting the parsing level, but displaying the command name as the canonical name in the end.

...

chilly siloBOT
#

Itd be dumb to make the limit raisable only at a certain milestone. That wouldnt resolve the issue. As someone who owns a bot with 230+ commands I agree it needs to be raised, it seems like we can have plenty of commands with subcommands but why cant we just have a limit thats overall? instead of forcing us to do 50 commands with subcommand groups just limit it all to 500 total. Commands + Subcommands combined would be up to 500, no random hard coded limits on how many subcommands or top leve...

chilly siloBOT
#

I'd argue that if you really need more than 50 commands, you should have already split it into a separate bot. I get why you might want to have a "All-in-one discord bot" but I can't agree with the notion that you absolutely need everything consolidated into one bot... even if it might please users to not have to invite multiple bots.

right but lets go look at literally every big bot out there. Including mine. I cant name you any bot over 100k servers with less than 50 commands. most hav...

#

Description

Slash command in Channel request restrict specific channel slash command, and It
hidden that command in other channels.

eg. when set slash command at #command channel
It only can use and visible Command list in #command channel

Why This is Needed

Although there are already can set specific guild commands,
But if I want to restrict slash command on some specific channel, it still visible that in slash command list and auto Complete and it can cause inconveni...

#

Your opinion of how a bot should be isn't how it is in reality, Having multiple things in one bots has way more growth than 2 split bots combined. Its a horrible user experience to need to add 5 different bots

First off, I know my opinion isn't reality. I never suggested it was reality -- why are you implying that I did?

Second off, of course having a "all-in-one" bot is going to have more growth -- there are more categories of commands that users might want. On the flip side, there a...

#

Honestly, these limits are terrible. Slash commands are supposed to make things easier right? Having a limit is just the opposite of it. Having a hard limit of what or how much you can do in a bot is just a horrifying idea. It feels like a cap of creativity, a cap of what you can do. Sure, you could use a bunch of sub commands but that makes things more complex and harder to use for the end user which is the opposite of what slash commands are for. The limit needs to be adjusted, either being...

chilly siloBOT
#

Description
Slash Commands have user, role, and channel options which are very useful for their client autocomplete, but the interaction object that the bot gets only includes the ID. For mentions in messages, however, the full user data is included in mentions. It seems odd to have an option type specifically to select a user but not taking advantage of it to provide the user data.

Why This is Needed
Currently, any slash commands with a user option that require the user data w...

chilly siloBOT
#

Description

Discord slash command only supports command name between 3 and 32 in length.

However, many languages โ€‹โ€‹other than English have words that are two letters long.

Why This is Needed

Language such as Korean, Chinese, etc.. has lots of words in two letters

For example, the word for Setting is ์„ค์ • in Korean.

The word meaning of "Setting" is ์„ค์ •

Alternatives Considered

Additional Details

It will be best to support at least two...

chilly siloBOT
#

I was quite excited about the implementation of Slash Commands, currently my bot has 195 commands and has around 8.5k servers and it is impossible for me to fully implement all the functions of my bot.

50 unique commands with different names? I can hardly implement anything...

I also find it excessive to reserve 10 types of options for each command, some of my commands have up to 17 types of options to choose from.

There are probably other limits that affect me, but as I don't fully ...

#

Description
After looking at the slash commands for the bots, I have one of my bots set to private (so it isn't added to any servers that I don't authorized etc), after testing it in one server, I tried to add it to another server while it's private on my alt account and I was expecting it to say "this application is private" but I was wrong.

Why This is Needed

  1. To avoid private bot's slash commands from going into servers you don't want them to.
  2. To avoid Discord and the A...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Currently, any slash commands with a user option that require the user data will have to fetch the user after the command is run. This leads to additional API requests and makes command execution take longer.

Plus, with the user fetching ratelimits in place, this becomes unfeasible for larger bots.

If it becomes a concern of user data privacy (i.e. people using slash commands to gather user data to bypass user fetch endpoint ratelimit) then perhaps just repurpose this option to only v...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

I started playing around with the interactions API yesterday, using ngrok to tunnel a connection from the internet to my PC. Today I woke up to a system message saying that my application wasn't validating signatures from the API. Well, of course it wasn't, because it was offline.

Why This is Needed

Having to manually set the endpoint again if a security check runs while the bot is offline is not cool. I understand the need of security checks, but believe that the...

chilly siloBOT
#

Description

Much like command-line flags, there should be support for flags in slash commands.
Flags should have a unique name and a typed value. Additionally, there should be an option to specify whether a flag may be used multiple times.

Why This is Needed

Many bots make use of flags for non-exclusive optional fields. Without flags, bot developers have to generalize their commands, taking configurability out of the user's hand.

Example:

A purge command, which cl...

#

Description

It respond to the slash command via application user. Even when the bot don't have permission to send message in that channel it send message

Steps to Reproduce

Disallow send message permission for application user to read or send message. for a channel and use the command in that channel.

Expected Behavior
it should not respond to that command and throw missing permission error.

Current Behavior

it send message regarless of the permission
...

#

Description

Add the possibility to make the last argument of a command variadic, i.e making it usable more than once.
Required variadic arguments need to be specified at least once, optional ones don't need to specified at all.

Why This is Needed

Variadic arguments can be often be used to make the usage of commands easier, and remove the need to execute a command multiple times. A very basic example would be a mute command that takes in multiple users, to mute all of them ...

chilly siloBOT
#

Description

It would be useful to be able to use @me instead of the application's ID on the slash commands endpoint.

Why This is Needed

Since the authorization header already contains the application's information, specifying an application ID is redundant.

Alternatives Considered

Making another request to /users/@me to look up the application ID, or copy pasting it from the dev dashboard.

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Have a way of disabling/hiding global commands per server (instead of having to use per-server command to have duplicated commands across hundreds of servers, this would save a lot of work, possibly space and could be optimized more).

Why This is Needed

Some bots (including mine) provide a way to disable certain commands (most of them), and having to use per-server commands limits other features (like custom aliases or custom commands).

**Alternatives Considere...

chilly siloBOT
#

Description
Currently, if another application's id is provided, it errors with You are not authorized to perform this action on this application. It would be useful if this could be used to get other applications' commands.

Why This is Needed
This would be useful for, for example, a support bot that needs to fetch command descriptions, or for bot lists to show all of a bot's commands easily.

Alternatives Considered
Bots making their own endpoints which do the request fo...

chilly siloBOT
chilly siloBOT
#

Description

When sending an ephemeral message from a verified bot via a webhook for an interaction response, the bot is missing the verified check mark. While I understand this is likely because ephemeral messages are not fully processed server-side, I believe it should still be fixed / implemented (apologies if this should have been a feature request)

Steps to Reproduce

Send an ephemeral message in response to an interaction

Expected Behavior

The bot's verified che...

#

Description

I'd like to be able to prevent users from receiving specific notifications when other users use commands. The messages are already being deleted but they are still visible as notifications.

Why This is Needed

If you don't want users to see messages for whatever reason - say you're a moderation bot preventing swear words, if the server doesn't have on "Only Mentions" or if the user customized their settings, they would still be able to see the swear words as a not...

#

Description
Allow the command response(s) to use external emojis.
Currently the only way to use external emojis in the command response is if the bot client is in the server and has the permission.

Why This is Needed
Gives the developer options to use external emojis for message responses, embeds etc.

Alternatives Considered
Write your code to use the external emojis if the bot is in the server and has the permission, if not use the default emojis.

**Additional Deta...

chilly siloBOT
#

Description
If you are providing different type 3 (string) choices the user needs to choose from you aren't able to set a choice like "#commands" if a channel with this exact name exists.

Steps to Reproduce
E.g. you have three channels. "#rules", "#general" and "#commands".
In a random command you want the user to only be able to select "#general" and "#commands", so instead of using type 7 as an option, you use type 3 and provide each channel as choice.

The JSON for an e...

chilly siloBOT
#

Description

The commands can currently be used in any channel regardless of permissions. There should be a way to prevent commands from working in channels, through either permissions or integration settings.

Why This is Needed

In both Discord API and the JDA server we have bots that should not be usable in some channels because they can be used to be obstructive or spamming. With the current system this means we basically have to kick all those bots so they don't...

#

Description

At the moment bots with slash commands in a guild do not respect the permissions of the attached bot, as example, slash commands can be executed in any channel, regardless if the bot can see it (#2324). Or have the ability to mention everyone via an interaction response or follow up message, while the bot has no permission to mention everyone.

Steps to Reproduce

  1. Ensure you have a bot with slash commands in a guild, without mention everyone permissions.
  2. ...
#

Out of curiosity, does the boolean option type solve your use case? It was intended to be a kind-of flag value, but more explicit

Not really, to be honest. While I could imagine replacing some boolean flags with their argument counterpart, flags are often not dependent on other flags, i.e. I don't need flag a if I specify flag b, like required with arguments.
Using the above example command as an example, there would be no way to use no pins, without having to specify user, if t...

chilly siloBOT
chilly siloBOT
#

Description

Command autocompletion forgets what command was initially used when 2 commands have the same name.
2 commands with the same name but different in arguments helped to find this bug.

Steps to Reproduce

Make global and guild command with the same name. Global one has 2 args, guild has the same 2 args and some additional.
Start typing the command, select second command using enter.
Start typing first arg.
Switch to different channel. Go back.
Now you are typing t...

chilly siloBOT
#

Description

Honestly it feels a little weird that the options object that Discord sends in the POST request is basically our command schema but filtered out with the current options, why can't it just be a flattened object?

Why This is Needed

It's less of a pain to deal with, no more stuff like options[0].options[0].

Alternatives Considered

Sure, you can just flatten the options array by your own, but I'll imagine there'd be plenty of bots doing th...

chilly siloBOT
#

Why we need more than 50 top level commands
A lot of bots have user commands, things that non server admins will use. these commands should very simple and short like /hug /slap /marry /8ball etc. the problem with only have 50 top level commands is that we'd run into the limit and would have to make '/action hug' and '/fun marry' which in turn would hit the subcommand limit.

Why we need more than 10 sub commands
The limit of 10 sub commands is too low when you make some more com...

chilly siloBOT
chilly siloBOT
#

+1 to this

We need some more details per guild in general. like being able to set our own permission node on commands and set per guild which role has that permission so we can make modrole commands again where people can use /ban with the bot but only with the bot (to force them to use it where its logged in the bot's log channel etc. and just more control in general)

Id really like some kind of per guild object where we can disable commands, alias commands (per guild, although also al...

chilly siloBOT
chilly siloBOT
#

discord-slash-commands provides methods for creating, editing, and deleting slash commands via the API. It provides typescript typings for everything used in the interactions API, and includes a validation function which can easily be used as middleware in most Node.JS server libraries.

See it here: https://github.com/MeguminSama/discord-slash-commands

And on NPM: https://npmjs.com/package/slash-commands

chilly siloBOT
chilly siloBOT
#

Description
Seemingly, Discord doesn't recognize any of my interactions with slash commands as valid upon callback. When I try to respond to an interaction, Discord responds with status 404 ("Unknown Interaction", 10062).

Steps to Reproduce

chilly siloBOT
#

what do you mean express for handling the gateway interactions? express is for handling http requests, if you're using an interaction endpoint url then you can't use the callback endpoint, you would have to just respond to the request. using a webserver like express is different from using the gateway

also fyi: this probably is an issue with your code or implementation rather than a bug, since I and many others have gateway interactions with callbacks working fine.

chilly siloBOT
#

Sorry I meant something else. It doesn't really matter how the event is handled, that's not the focus here. The event is caught and I can print it out, as shown in the provided screenshots. The problem is with responding to those interactions.

If I use gateways, I have to respond with an HTTP request, and not a webhook one. My application was not configured for webhooks. But when I try responding with HTTP, it doesn't find my interaction ID.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

We should and will absolutely support localization, but @A5rocks, we wouldn't be able to do it quite in that way.

The most immediate solution is your idea--adding a language key for the user on Interaction payloads. However, this poses a fairly significant privacy concern.

We've never made an individual user's locale public information without either auth (OAuth2) or having a locally installed application via our GameSDK (implicit auth).

When we think about localization, I'll bet ...

chilly siloBOT
#

This is all awesome feedback, thank you. I have a lot of questions for individuals with bots with 300+ commands in them, and I'll probably reach out to some folks individually, but I can't talk to everyone individually. So, as we continue to talk and think through limits, let me leave you with this thought:

Saying "I have 300 commands, and therefore I need the limits raised" is not actually the heart of your problem.

OK, now put down your pitchforks. What I mean by this is: the m...

#

Valid usecases. This is mostly an architectural problem for us right now. Ephemeral messages currently skip a lot of our infrastructure paths that normal message sending goes through--it allowed us to make them super easily and have that "disappearing" behavior we want.

However, skipping that infrastructure means that we lose things like attachments and embeds that are otherwise handled by workers in our normal send message path.

I'm not entirely sure how difficult or maybe frankly impo...

#

Considering this would be entirely different architecture than current slash commands, we would not support this, I am sorry.

Cloudflare workers are an awesome solution. I'm currently running my bot on one, and while it takes a little learning, they're pretty great. I recommend checking out their Wrangler (https://developers.cloudflare.com/workers/cli-wrangler) CLI for making workers, deploying them, listening to logs, etc.

I am sensitive to the fact that there are a lot of folks in o...

#

Totally valid suggestion. There's a couple ways to probably solve this:

  • Allow re-use of specific arguments, like you said
  • Introduce array meta-typing for arguments

Both have pros and cons, mostly around UX on both the dev and the user side of things. If you wanted to ban a bunch of users, for example, getting an array of users is probably better than getting 50 user keys. @mavolin can you give me your poll example a bit more written out, like if you had these types, how would you...

#

@mavolin can you give me your poll example a bit more written out, like if you had these types, how would you make it?

I would imagine the poll command to look something like this /poll create <question: string> <poll options: string...>, where both arguments are required. poll options being variadic, I would expect to able to set a variadic boolean field on the ApplicationCommandOption of poll options to indicate this. This would cause the value received for poll options to be...

chilly siloBOT
chilly siloBOT
#

Description

Currently, slash commands are automatically visible to any user sharing a server with the interactions. My proposal is to add the ability to lock the visibility of commands (in the commands list) down to an array of role IDs or user IDs.

Why This is Needed

Currently, if you have role-specific commands (e.g. /ban, /kick, /mute) every user can see these. Ideally, we would be able to display these commands only to the users who are able to run them.

**Alternat...

chilly siloBOT
#

Description
The name/value object is sent wrong when a command is executed on mobile.
example image

Steps to Reproduce
create a command with a choice that has a different name & value property, for example:

{
  "name": "Invite Splash",
  "value": "splash"
}```

execute the command on pc & mobile.

**Expected Behavior**

It should send the right values on mobile

**Current Behavior**


execute the comma...
chilly siloBOT
#

Description

There is no way to identify who invoked a command that responds with a ChannelMessage type.
Example

Why This is Needed

There is no reasonable way to moderate these commands with any sort of accountability. The only current course of action would be to not invite bots that make use of this type.

Alternatives Considered

Perhaps something more minimal than type 4, while still showing some form ...

chilly siloBOT
chilly siloBOT
#

I believe the point @swarley is trying to make here is that there's currently a great opportunity for people to make an echo bot with slash commands, and then for someone else to abuse it by posting, say, offensive remarks, or using it to harass someone, with absolutely no way to tell who's doing this. An alternative abuse venue is someone spamming a command. Under current system, 10 invocations could very well be any number of users using a command, or one user spamming it.

Admittedly, ther...

#

to @msciotti

I just want to say that most of the "raise the limit" complains do come from the sudden change, bots used to be this almost command line like tool in servers and now we suddenly got a proper interface, bot devs are pretty confused on how they'll migrate their commands over to slash commands and will try to stick to top level commands as much as possible like before and this is kind of bad.

That said it can't just all be put onto "well just get used to it and use more subco...

chilly siloBOT
chilly siloBOT
#

Description

A PHP webserver is an ideal use case for the new stateless slash commands. Send a command to a PHP REST api and it can process it without ever needing to connect to the gateway. An ideal solution for PHP bots and webservices.

However, there is a tiny little problem that ruins it: PHP cannot verify the signature.

The signature algorithm used is too new and isn't fully supported by PHP. While there are extensions, none of them seem to work correctly and the example ...

chilly siloBOT
#

Flexibility and user experience both from the bot developers' POV but also the end-users. I don't think anyone cares about having X00 commands. Guild count maybe, command count not really. Devs add more commands usually to provide a better user experience for users or because users ask for more features.

It's a lot easier to type /lbxplt instead of /leveling xp leaderboard localtext. Especially when you use the command a lot to check your data (FAVORITES MAYBE???).

Alt Idea: Macros....

chilly siloBOT
#

Works fine for me using PHP 7.4.10 (FPM/FastCGI):

$aHeader = $_SERVER;
$iResponseCode = http_response_code();

$sPublicKey = sodium_hex2bin( "<My Public Key>" );

$sContentType = $aHeader["CONTENT_TYPE"];
$sContent = ( $sContentType == "multipart/form-data" ? "" : file_get_contents( "php://input" ) );
$aContent = ( $sContentType == "application/json" ? json_decode( $sContent, true ) : array() );

$sSignature = sodium_hex2bin( $aHeader["HTTP_X_SIGNATURE_ED25519"] );
$sSignat...
chilly siloBOT
#

Yes this seems to be working. Not sure whats entirely was wrong with mine but i skimmed the part that required the response.
Its annoying that they didnt list the ping detail with the security section

$_HEADERS   	= getallheaders();
$content_type 	= $_HEADERS['content-type'];
$signature  	= $_HEADERS['x-signature-ed25519'];
$timestamp  	= $_HEADERS['x-signature-timestamp'];

$binary_signature	= sodium_hex2bin($signature);
$binary_key			= sodium_hex2bin(PUBLIC_KEY);

$body...
chilly siloBOT
#

Description
With the introduction of slash commands, the requirement for bots to create commands has been removed. However, the restriction of guilds still exists. It would be nice to have an oauth2 scope to add a command to a user rather than a guild that only they can execute.

Why This is Needed
There are simple commands such as timezone or other info commands that are really convenient to have and provide a convenient experience for users.

Alternatives Considered
Most ...

chilly siloBOT
#

Description

When you add a slash command that has an option of type 3 with pre-set choices, the interaction response shows the value of the choice in the interaction response instead of the name.

Steps to Reproduce

Add a command with an option of type 3.

To that option, add a choice where the name is different from the value.

After you've added this command, use it with the option that has a name different from the value.

Make sure you respond with an int...

chilly siloBOT
chilly siloBOT
#

I also think that you shouldn't automatically fallback to english. Some bots may need another default language. So adding a default tag to the proposed translations would be cool. Maybe like this:

{
    "name": "commandname",
    "description": {
        "en-US": "english description here",
        "de-DE": "german description here",
        "default": "en-US"
    }
}

but if the bot was written in another language, wouldn't it have the transl...

chilly siloBOT
#

Description
This proposal would add a "guild" command option type. It would allow users to select a guild they are in, and use that as a command argument.

Why This is Needed
My bot has several commands that configure options on a per-guild basis. Currently, these commands only apply to the guild the command is executed in, and thus do not work in DMs, and there's no way to "cross-configure" (eg. if you want to disable functionality in a guild you don't have send message acces...

chilly siloBOT
chilly siloBOT
#

I'm mostly concerned about the subcommand limits, personally. My bot allows users to set various fields on profile cards, and adding up all the field options gets me right below 10 subcommands just for editing. Add in creating, deleting, querying, and it's already past 10. I'm not asking for an order-of-magnitude increase (by then, you have bigger design issues), but a bump to, say, 25 allowed subcommands would absolutely solve my issue here. I could also "rearrange" it into

What if we a...

#

Description
It's not possible to use a bot's global slash commands in a DM channel with that bot.

Why This is Needed
My bot has a lot of per-user global (cross-guild) state, and a common use case is configuring everything in the bot's DMs so you avoid cluttering up a random server's bot spam channel. On top of that, some users put sensitive/private information in the bot, and rely on DMs to keep this private.

Alternatives Considered
Creating a personal guild just for int...

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

Description

First of all, apologies for reporting here, but DTesters is closed for the holidays.

The new slash command system seems to be tightly coupled to the WYSIWYG editor. If you disable the WYSIWYG editor, you get the old slash command UI.

Steps to Reproduce

  1. Go to settings
  2. Go to "Text & Images"
  3. Uncheck "Preview emojis, mentions, and markdown syntax as you type"
  4. Go to a text channel
  5. Type /

Expected Behavior

You should see the...

chilly siloBOT
#

Description

Developers should be given more control over how arguments can be given. This could be by allowing combining argument types (like having an argument for both role or user), as well as variadic arguments like in #2331. There should also be some system of grouping together arguments so that they are both required if one is given.

Why This is Needed
Slash commands have lots of potential, but right now, they are inferior to existing command implementations, as there isn...

#

The commands API documentation suggests that it is possible to use an access token with the applications.commmands.update scope, however the API returns {"message": "401: Unauthorized", "code": 0} regardless of the scope of the token.

Steps to Reproduce

Adapted from the documentation:

  1. Set up a Bot/Application for use with the commands API
  2. Get an access token via the OAuth2 flow with the applications.commmands.update scope
  3. Make a GET request against the `/api/v8/a...
chilly siloBOT
chilly siloBOT
#

Description
Please make this request delete all registered commands.
DELETE /applications/{application.id}/commands (to delete all registered global command)
DELETE /applications/{application.id}/guilds/{guild.id}/commands (to delete all registered guild command)

Why This is Needed
I was making a library and want to delete all command when bot shuts down.
For this, I should store every commands registered and send delete request for all these commands each.

chilly siloBOT
#

Having a server-driven autocomplete would be awesome for parameters with large (but constrained) lists of valid values. Being able to pass some sort of hint regarding which parameter it is, as well as the invoking user/channel/guild would also be essential.

I'm not entirely sure if this is the appropriate issue to bring this up in, but I'd also like to talk about increasing the limit for nested groups - a single level just isn't enough for all current use cases, especially if the first gro...

chilly siloBOT
#

Description

The propagation period of 1 hour of new or edited slash commands to all servers is too long. It should be lowered or optimized such that changes are available within a minute-scale timeframe.

Why This is Needed
Currently, rapid development cycles and local testing of bots is simple. You restart your bot, and any changes are instantly available. With slash commands, however, a single develop-compile-test-correct iteration can take up to one hour due to the slow propa...

#

That's not the only issue that was brought up. Restarting your bot before updating commands means you could get payloads that match the previous version of the command, which then would be invalid; restarting your bot after commands are propagated means you could get payloads that match the new version of the command, which your bot wouldn't know how to use correctly.

chilly siloBOT
#

For the autocomplete, another feature that would be useful is rules for
users/channels like all users with role X or lower (or users that are
kickable by the current user), or channels that are in category Y.

On Sat, Dec 19, 2020, 2:32 PM Jarl Gullberg notifications@github.com
wrote:

Having a server-driven autocomplete would be awesome for parameters with
large (but constrained) lists of valid values. Being able to pass some sort
of hint regarding which parameter it is, as well as t...

chilly siloBOT
chilly siloBOT
#

Description
name and description in [Edit Global Application Command][1] are marked as required fields, but the API treats them as optional.

Steps to Reproduce
Call the edit endpoint, omitting either name, description, or both.

Expected Behavior
Behaviour is consistent; documentation is not. The documentation should mark name and description as optional fields.

Current Behavior
The documentation marks name and description as required fields.

**Scree...

chilly siloBOT
#

Description
If the content field is omitted from an interaction response (as you can do with webhooks and normal messages) in a call to [Create Interaction Response][1], no response is created and the endpoint returns a 204 No Content reply.

Steps to Reproduce
Call Create Interaction Response, omitting the content field.

Expected Behavior
Either:

  1. The payload should be accepted and a response should be created; or
  2. A 400 Bad Request should be returned, along wit...
#

You are unable to update global slash commands with that scope. The scope only allows you to edit the slash commands in a guild. For global commands you can only use the bots token

I suppose that would make sense (after all the token is authorized for the guild), but the documentation certainly isn't clear on that if that is the case.

https://discord.com/developers/docs/interactions/slash-commands says (emphasis mine):

To make a global Slash Command, make an HTTP POST call ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

This would be extremely useful. Right now, you have to cache all the members, which requires privileged intent. I don't need to download the entire server members list, I just need to find out if a certain user is in the server. This throws everything back with more delays, as my bot is in the middle of getting verified.

If you know the server id and member id, you can do this already without either keeping a full cache or the proposed endpoint for giving all the shared servers for a use...

#

I'm also stuck in this situation. My bot can't grow, and it's pretty much useless. It no longer meets the requirements to get verified, but nobody wants to add it because it has no features. This is a ridiculous measure to put in place. Just count how many servers a bot is in, and it's done. Not that hard to do. With everything that's going on to prevent developers from making new bots, Discord is pretty much endorsing expensive, paywalled bots that are already famous and letting bots that ca...

#

There exists current technical limitations which prevent updates to global metadata (like global commands and application information) from being instantly propagated at scale due to how slash commands are stored. It is our current belief that once global metadata is configured it changes rarely enough that this won't pose too big of an issue at scale. As a bot developer myself, I cannot remember the last time I edited or removed a global command on my own bot.

We do have plans to offer th...

chilly siloBOT
#

Description

User feedback if no ACK happens in time

Why This is Needed

User experience of the app behind the command (receiving the hook) being down and just nothing happening is quite terrible.

Alternatives Considered

  • none, this is a suggestion for unexpected down time of the app, nothing we can do on our end

Additional Details

As of writing this the response to the initial interaction has to happen [within 3 seconds](https://github.com/discord/discord-...

chilly siloBOT
#

Description

Provide users with the ability to manage global commands without the need to create a bot user and authorize with a bot token. Perhaps the client secret could be leveraged for authorization instead?

Why This is Needed

According to the documentation:

In many cases, you may still need a bot user. If you need to receive gateway events, or need to interact with other parts of our API (like fetching a guild, or a channel, or updating permissions on a user), those ...

chilly siloBOT
chilly siloBOT
#

Description

Duplication of commands. I tested only guild commands, but... I think the global has the same effect

Steps to Reproduce

  1. Create a slash command
  2. Rename it by id
  3. Do it again and again

Expected Behavior

Some kind of an error, about naming

Current Behavior

Duplication of commands as many times as you want

Screenshots/Videos

![image](https://user-images.githubusercontent.com/42876964/102703536-12e2cd00-4281-11eb-849a-3c56153f7d5...

chilly siloBOT
chilly siloBOT
#

I think the booster role should be deprecated and https://discordapp.com/api/v6/guilds/GUILD_ID/premium/subscriptions should be made privacy-gated (both user-side and guild-side). If a user chooses to hide boosting status, others should see 0 boosts regardless of actual boost amount. If a guild chooses to hide boosting status for some roles/users, guild users should see 0 boosts from those users, regardless of actual boost amount. Those privated boosts, for backwards-compatibility purposes, s...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

introduce a "long" argument type to support multi line input

Why This is Needed

sometimes writing more is just super important! I encountered the issue when thinking about /modmail [user to report] [message]. currently shift+enter, which would be expected to result in a line break being inserted does not do that, but a host of other weird things (which i will cover in a bug report as well)

Alternatives Considered

make the general text args support m...

chilly siloBOT
#

Description

Include the option arg type in the interaction data which we receive in the POST hook

Why This is Needed

including the type here makes it much easier for libraries to provide a somewhat sane statically typed API and improves parsing capability tremendously (as this can then be done with branching based on type rather than trying to fiddle with the values)

Alternatives Considered

N/A, QoL feature for library devs and connoisseurs of static typing

**Add...

chilly siloBOT
chilly siloBOT
#

Description

Implementation of a position property for the ApplicationCommandOptionChoice object; sorting the rest of the elements according to its value (from lowest to highest). Perhaps if there's multiple objects with the same value for that property, it could sort it alphabetically, and sorted alphabetically by default.
Maybe it'd be a good idea to filter out the elements which don't have the position property, and adding it manually according to their lexicographical order. ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Yeah, a big way to reduce clutter would be conditional things.
For example, only the server owner can run the wipe command which clears all bot data of the server. As the server owner is the only one allowed to run this command.
Then for example only administrators+ can modfiy the bot settings. As such users should not be able to see the command.
I belive that bots should be able to provide an array of roles, and/or users that can see a command.
passing a command with none allows every...

chilly siloBOT
#

Due to the fact that there is no server side validation of these types you will just end up getting the types set by your initial command send. While this would be useful and most of the time would be fine, there are edge cases where something statically typed would end up mistyped.

That being said, it would be great to have the type field present on SUB_COMMAND and SUB_COMMAND_GROUP since those do not have a change to mismatch type.
This would also still allow library devs to effectivel...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Yes, true, it will end up exactly what you provided, however - as stated in the OP - the gain here is mostly for libraries and frameworks. You have to imagine that you have to work with the payload without prior knowledge of how the command is structured, as that is not determined. Different people will write different commands, yet your library/framework is trying to parse this data to the best of its ability.

It gets much much easier to do this if you don't have to look at the args t...

chilly siloBOT
#

EDIT: If the edge case you are referring to is that the user provides input that does not fit the asked for type, then that should (imo) not happen in the first place and be rejected by the client, before the instruction even goes out. (In case that's not a feedback issue yet, it really should be, will see later today)

This is what I was talking about yes, it is obviously malicious intent by the user at this point, as it requires formatting an invalid id in a form that the client accepts...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

That is precisely what i was referring to with:

but a host of other weird things (which i will cover in a bug report on the focus test server as well, seems to be more UI related)

which is a known bug, newline being disabled is deliberate atm, which makes me think a long type would be the preferable solution (also UI wise, as you could directly insert a full width block for these)

#

Description

I can unfortunately only relay this, as the issue has appeared in our library repository at https://github.com/discordjs/discord.js/issues/5088:

On a server of 200 000 members the request to GET /guilds/{guild.id}/invites only returns 1300 invites, although there are more. I could neither find a pagination approach to this endpoint or any limits in any documentation, nor do we do anything with invites on the library level which could potentially cause dropping of invi...

chilly siloBOT
chilly siloBOT
#

Description

Raise limit of seconds to respond to an interaction up to 5 or 10 seconds.

Why This is Needed

Not all the time bot can process everything in 3 seconds. Plus, when your API response time is becoming 3000+ ms. Then, tell me, how you will respond to an interaction?

Alternatives Considered

Use followup, or create a ACK response and edit it later.
But, this can't be done when 3000+ ms response time.

Additional Details

None

chilly siloBOT
chilly siloBOT
#

I faced a problem that happened for many times which is when Iโ€™m in the voice channel and chating with others, the voice gone suddenly, and it will not come back until I reset the phone. I donโ€™t know why and how itโ€™s happen. I hope you will find a solution for this problem.
Thank you

chilly siloBOT
chilly siloBOT
#

Description

Defining default = true in option with any configuration makes an error:
APPLICATION_COMMAND_OPTIONS_DEFAULT_INVALID There can be 1 default option within command, sub-command, and sub-command group options

Even with all options requirable, even with one option, even in subgroups, even in subcommands.

Steps to Reproduce

options = {
    {
        type = 3,
        name = "abc",
        description = "abc",
        required = true,
        defau...
chilly siloBOT
#

As the documentation states, you should be using guild-specific slash commands for testing, as these are instant.

Say in an update you have edited the arguments a command takes in your bot code, but not in discord. How would you update the bot along with the discord commands? You would either have to be compatible with the old arguments and the new arguments (and then later release an update that removes support for the old arguments), or you would have to wait until the change propagate...

chilly siloBOT
#

Description
when PATCHing /guilds/:id/member_verification with a form_fields property that is a non-empty array, it 500s

Steps to Reproduce
PATCH /guilds/:id/member_verification with a form_fields property that is a non-empty array

Expected Behavior
it errors because for some reason it expects it to be an array in a string ๐Ÿค” (although an empty array saves correctly ??)
or it just accepts an array correctly which would make more sense

Current Behavior
it 500s
...

#

Description

Slash commands provided a really cool way to try and build more stateless bots. One of the problems with this is, there isn't enough data to do this properly.

We need more data like the guild, roles, channels, etc...

Why This is Needed

I tried to implement slash commands from the webhook side because well why not. After trying to make the very first slash command, I got stuck, unable to proceed. I was only doing a very simple avatar command.

/avatar @...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

added an explanation of screening


in 2fe4e62a86f1d6b79bb57e3b46f0016b03391261's desc I saw

true -> member is pending
false -> member becomes no longer pending (i.e., becomes a regular member)
not serialized -> member is not pending

which seems to indicate that pending should only be false in guild member update at the time the user accepts the rules, and it shouldn't be present anytime after; however, I see pending: false on a normal nickname change? can we have some ...

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

This is a great start, but this script only generates a single top-level command with a single string option. I think it needs more flexibility (and perhaps should be a module too) in order for the wider community to find it useful. If you continue to work on this library, feel free to reopen this PR.

Alright, thanks for the feedback. I have just realised a new commit with the ability to delete commands and also get commands. I'll take your feedback into consideration and keep developing...

#

discord-api-types is a TypeScript/JavaScript (enums work in JS, and types can be used in JSDocs via @type {import('discord-api-types/v8).APIUser} as an example) module I created that keeps an up-to-date* representation of Discord's current API, that users can use either in library making, or casually if they ever need to do raw API calls. We are keeping this module up to date, and versioning it by the API version provided by Discord.

The ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I'm currently in the process of reworking my existing bot that quite outgrew what I had previously envisioned but there are a few things I realized and some of them are related to commands. The basic gist is: Almost every bot will inevitably have two interfaces: One for the user one for the guild admin.

Let's have a look at a simple quote-command that I implemented. You can feed it a file with quotes and users can randomly request a quote or provide a search term. The module can acce...

#

Description

When a bot, which doesn't have Slash-command support implemented, uses the / as prefix and has a command starting with text matching that of an inbuild command (i.e. /nickname which starts with /nick, an inbuild command) will the inbuild command take priority and treat any following text as arguments.

Steps to Reproduce

  1. Have a Bot, which uses / as prefix and does NOT have slash-commands implemented (I use xelA#0336 (a semi-private bot))
  2. Make s...
chilly siloBOT
#

ููŠ ุซู„ุงุซุงุกุŒ 22 ุฏูŠุณู…ุจุฑุŒ 2020 ููŠ 4:29 ุตุŒ ูƒุชุจ WickedTree Development <
notifications@github.com>:

@WickedTree https://github.com/WickedTree Yeah that's true, but
sometimes one might need extra validation that Discord will probably never
provide. For example, checking if a string matches a certain pattern, or if
a number is in a certain range, etc.

than maybe discord could add support for regex with arguments... like

โ€”
You are receiving this because you are subscribed to this ...

#

ููŠ ุซู„ุงุซุงุกุŒ 22 ุฏูŠุณู…ุจุฑุŒ 2020 ููŠ 4:36 ุตุŒ ูƒุชุจ WickedTree Development <
notifications@github.com>:

As the documentation states, you should be using guild-specific slash
commands for testing, as these are instant.

Say in an update you have edited the arguments a command takes in your bot
code, but not in discord. How would you update the bot along with the
discord commands? You would either have to be compatible with the old
arguments and the new arguments (and then later release an ...

chilly siloBOT