#github-notifications

1 messages · Page 5 of 1

chilly siloBOT
#

Hi, truncation to the upper user limit on stage channels is the intended functionality here, but it may be something we can revisit in a future API version. Thanks for the report

Why is this intended? A 200 indicates the channel was successfully updated but that is not the case, and so a local cache will be out of date. If we're going to receive a 200 OK http code that should be treated as a 400 error code, then it should be documented as such.

It's the intended functionality be...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I'm wondering wether the API docs for the Premium application will be published publicly. I am aware that it is still in alpha, but I believe publishing the documentation for this would be good for people who want to see how this feature is currently implemented. This would allow developers to decide on wether to use it in its current state or use something else (for ex.: custom website with Stripe).

chilly siloBOT
#

I got same error...
A few days ago I called the API fine, until today I am getting error

Code 50035, INTERACTION_APPLICATION_COMMAND_INVALID_VERSION,
"message": "This command is outdated, please try again in a few minutes".

I guess it is due to 2 param: session_id and version change.
If anyone has solved it, please guide me.
Thanks !

<img width="729" alt="Screenshot 2023-02-23 at 21 57 37" src="https://user-images.githubusercontent.com/16770989/220945163-e3783490-0427-43ab-ad...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hey, try to get a information about discord bot/application.

I try: https://discordapp.com/api/oauth2/applications/ID with bot token and I got: {"message": "Bots cannot use this endpoint", "code": 20001}

I try: https://discordapp.com/api/oauth2/applications/ID with client secret token and I got: {"message": "401: Unauthorized", "code": 0}

Methinks, is correct request to api, maybe its wrong.

Sorry for my english, thanks you in advance for your hel...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

No, it isn’t. It’s a side effect of bot webhooks using @everyone
permissions. Obviously if the bot had permissions as many in this thread
have pointed out theirs do, they wouldn’t be reporting it as an issue. They
are. I am. Bot webhooks need to use the bots calculated permissions. Fix it
by next year please.

On Sun, Feb 19, 2023 at 05:15 Suspense @.***> wrote:

it's a side effect of bot webhooks using the bot's permissions. if the bot
can't access the emoji then its webhooks can't...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

The JSON-package in the incoming webhook as described in https://discord.com/developers/docs/resources/webhook#execute-webhook-jsonform-params allovs for a variable "username" that allows to override the webhook-bot-user's name with a different name. This was handy, as it allowed to use the username as part of the information being sent.

Some time in the last 2 days, something has changed in the webpage and standlone app on Windows and Mac. The username-override now works ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#
[discord-api-docs] Branch h/add\-custom\-message\-metadata was force-pushed to `4692310`
chilly siloBOT
#

Greetings, I'd like to bring up into discussion that bots should be able to create guilds (maximum of 10) regardless of their current limit of being able to create max 10 as long as it's not in other servers.

The reasonining beind this proposal is because, this behavior makes it evident that the intended approach is to make servers before a bot becomes popular, otherwise this end point can't be used at all if the bot has became popular, for different motives bot developers need to have ser...

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

In many guilds, a few thread channels gradually gain prominence, which makes it into an ongoing discussion, which make them have even more activity than toplevel channels they are in. For this purpose, I am hereby proposing two API endpoints:

Promote thread to toplevel: POST /channels/:id/promote

Permissions: MANAGE_GUILD and MANAGE_CHANNELS on all affected channels
Preconditions: Public threads and news threads can be promoted. Public thread gets promoted to guild-text, news thr...

chilly siloBOT
#

if this is for token leaks this sounds like it will cause more confusion then help people. how would re-enabling it work? would this prevent users from adding the bot to the server? what would that error look like without making those users think the bot no longer exists or isn't coming back?

having a dedicated endpoint for users to submit leaked tokens and trigger a token reset and alert the owner sounds like a much better developer and user experience to achieve this

#

how would re-enabling it work?

That one could be done from the developer panel instead.

trigger a token reset

The thing is disabling the bot as proposed here would also revoke the token without generating a new one.

would this prevent users from adding the bot to the server? what would that error look like without making those users think the bot no longer exists or isn't coming back?

Yes it should. "This application is temporarily disabled for an unknown period, hence it...

chilly siloBOT
#

Currently when I try to suppress notifications when deferring a reply for an event, it does nothing. I would like to be able to defer replies with the suppress notifications flag set.

The suppress notifications flag works when the interaction is replied to directly with a new message, however a reply can not always sent within the request limit. When an interaction is deferred, it will not respect the suppress notifications flag and will send push notifications to all users.

Thank you!

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hi, I would like to ask for the ability to respond to message application commands in threads while authorised with the application.commands scope only.

Since this type of command (type 3) is always bound to a message, it would be nice to be able to respond in the context of that specific message without needing to authorise the application with the bot scope. Of course, the application would still be restricted by the @everyone permissions in the channel (so would need permissions t...

chilly siloBOT
#

Description

Creating a stage channel (type 13) through POST /guilds/{guild_id}/channels does not support user_limits above 99 (the voice channel limit), whereas stage channels should work with up to 10000.

The channel can be PATCHed right after with e.g. {"user_limit": 1234} to set the intended value, however that's obviously not a great solution.

Steps to Reproduce

curl -s -H "$AUTH" -H "Content-Type: application/json" \
  https://discord.com/api/v10/guilds/...
chilly siloBOT
chilly siloBOT
#

This is a question specific to the bot API.

When creating a model, one can only add up to 5 text inputs per. I would like to suggest lifting or otherwise increasing this limit.

Why?
In many cases, forms are longer than 5 inputs. In my experience, this has been most notable in bots that take answers for things like staff applications or ticket. It is increadibly frustrating for those specific cases and leads to the developers (me included) using other methods like the classic "sen...

chilly siloBOT
chilly siloBOT
#

Description

Creating a voice channel via the API containing a topic does create the room but it is impossible to edit the overview page of the voice channel via a Discord client, the edit request fails with an error 50024.

Steps to Reproduce

Create a voice channel on the /guilds/{guild.id}/channels route with a payload containing topic such as this :

{
	"name": "Voice channel",
	"type": 2,
	"topic": "This is a topic." 
}

After that, try to modify the ch...

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

Which package is this feature request for?

discord.js

Feature

The current implementation of a slash command allows users to choose options in any order, even if my code requires each options value depending on the previously selected option. A new feature is requested to enforce the order of options, even if they are not required.

Ideal solution or implementation

The ideal solution would be to provide an option to set the order of the options explicitly. This could ...

chilly siloBOT
chilly siloBOT
#

Description

indexing is completely mashed and it is impossible to use the search functionality (in other words, service say no likey when u search and he say pls no more it hurts nyahah<3)

Steps to Reproduce

curl --request GET \
  --url https://canary-api.discordapp.com/api/v9/channels/:id/messages/search \
  --header 'Authorization: our unique selfbotting token nyaah~:3:3 \
  --header 'Content-Type: application/json' 

Expected Behavior

it actually returns a bunc...

chilly siloBOT
#

Description

When I search my nick in discord mobile, and click 2 times in one message result, this bug happens

Steps to Reproduce

Search a message
Click in 2 different results at the same time
The page will bug, and report it

Expected Behavior

Search

Current Behavior

[{"type":1,"message":{"id":"1076573485364686939","channelId":"798072299781095434","guildId":"797022498990063616","flags":0,"type":0,"nonce":null,"state":"SENT","reactions":[],"mentioned":false,"edited":""...

chilly siloBOT
chilly siloBOT
#

Description

Suppressing the embeds of a message will cause any emoji from external servers to change to their names instead of displaying correctly. Emoji that are from the server the message was sent on are unaffected.

Steps to Reproduce

A bot that instantly suppresses embeds will do just fine:

const { Client, Collection, GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages] });

cl...
chilly siloBOT
#

Description

The documentation on interactions states:

We're all used to the way that Discord bots have worked for a long time. You make an application in the Dev Portal, you add a bot user to it, and you copy the token. That token can be used to connect to the gateway and to make requests against our API.

Interactions bring something entirely new to the table: the ability to interact with an application without needing a bot user in the guild. As you read through this doc...

chilly siloBOT
chilly siloBOT
#

Whitelisting the media proxy will be almost impossible. iirc, it uses the user-agent of the requesting client (like... a proxy would do) which can be literally anything. The media proxy is hosted on GCP and uses a dynamic IP.

Looks like your host is way too paranoid. I really don't see the point to force the "under DDoS" mode of Cloudflare permanently. They just makes it more complicated to users to access their websites (it may even be impossible to pass the challenge with some devi...

chilly siloBOT
#

Description

Emotes usually go wrong when I try to send them, it's happened to me before

Steps to Reproduce

put any emote from any server, it can happen after sending two emotes

Expected Behavior

if it has already happened to other people too

Current Behavior

hoped it works better

Screenshots/Videos

Screenshot_2023-03-02-11-39-43-981_com discord

Cli...

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

Description

Recently, the bulk delete endpoint (/channels/:id/messages/bulk-delete) has stopped deleting messages but it still returns a successful response

Steps to Reproduce

Run the following command

curl https://discord.com/api/v10/channels/CHANNEL_ID/messages/bulk-delete -i -H 'Content-Type: application/json' -H 'User-Agent: DiscordBot' -H 'Authorization: Bot TOKEN' -d '{"messages":["ARRAY","OF", "MESSAGE_IDS"]}'

Expected Behavior

The messages that corres...

chilly siloBOT
chilly siloBOT
#

What about redirect_uris (array of string) and interactions_endpoint_url (string) properties? They are also returned on this endpoint. Shouldn't these be documented too?

I can document those aswell sure, the endpoint actually supports PATCH, these 2 are params.

After doing some more research it seems like this endpoint also returns a partial guild object if one is linked as a support server for the bot

I included this

Also bot_public and bot_require_code_grant should...

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

Description

When creating a forum and setting "default_sort_order": 0 responds with "default_sort_order": null.

Steps to Reproduce

TOKEN = os.getenv("BOT_TOKEN")
GUILD_ID = 673600173615611913

async def create_forum_channel():
    session = aiohttp.ClientSession()

    method = 'POST'
    url = f'https://discord.com/api/v10/guilds/{GUILD_ID}/channels'
    kwargs = {
        'data': '{"type": 15,"name": "testforum", "permission_overwrites": [], "default_sort_...
chilly siloBOT
chilly siloBOT
#

As a developer I should be able to see the events from a user in a server that they are part of. This can facilitate much better integration with calendars by enabling a plugin on the user's side that can check for events and add them to their calendar rather than needing to add a bot to every server they're in that uses events.

Enabling APIs to create events if the authorized user can create events would also be nice as it would again enable better integration between calendar applicatio...

chilly siloBOT
chilly siloBOT
#

I was assuming that a client calling the endpoint would not be able to do so with guild id's that client is not a part of meaning events would still be private as per what a user can see normally.

Having a scope for events a user is subscribed to would also work though would not allow seeing other events that they haven't subbed to in guilds they are in so ideally this would just be a parameter or handled by user code.

GitHub has "sub-scopes" (repo, repo:status, etc) so to say...

chilly siloBOT
chilly siloBOT
#

I am a bot developer using discord.js and I would like to make a suggestion that a bot can be given a status that does not necessarily have to start with "Playing", "Watching", etc. I suggest you implement a custom type or something that allows us to put anything like "Being a bot" or whatever. Although I think it already exists (type 4) it doesn't work. I think it's a good idea and I don't know why it can't be done, I look forward to your response. Thank you

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

I had an idea, maybe they could have some pre-set choices that you could choose from, as opposed to a complete custom, to prevent impersonation. Maybe a "style" field similar to buttons? These are some I thought of for common webhook usecases, with a possible style number:

  • <kbd>Bot</kbd> - 0 or unset - Default
  • <kbd>External</kbd> - 1 - Sent by an external source.
  • <kbd>Guest</kbd> - 2 - Bots that allow people to send messages without registering with Discord.
  • <kbd>In-Game...
chilly siloBOT
#

Been a few months here so I'm assuming the behavior isn't being seen anymore.

Still happens, even had it earlier today lol. Its just something I'm used to seeing at random now, and haven't really bothered to care about since there's no immediate impact to my bot. That being said, the source of what causes this problem needs to be resolved so people aren't confused by random misleading errors.

chilly siloBOT
chilly siloBOT
#
e6

Description

I'm going to be the first to say it. Discord thinks we're all Mass DMing. Both of my bots, which both had welcome DM functionalities, were flagged within a few hours of the bot getting verified. However, other bots that have the same functionality remain untouched by Discord.

Why does this happen?

I understand Discord is trying to take the steps in the right direction to prevent Mass DMs; however, this is not the way to go about it — multiple legitimate bots have been ...

chilly siloBOT
#

For me the response doesn't have the approximate_guild_count field.

Repro:

import aiohttp
import asyncio
import os

from dotenv import load_dotenv

load_dotenv()


TOKEN = os.getenv("BOT_TOKEN")
BASE = "https://discord.com/api/v10"
HEADERS = {
    'User-Agent': 'DiscordBot (https://github.com/puncher1, 1) Python/3.8 aiohttp/3.8.4',
    'Authorization': f'Bot {TOKEN}',
    'Content-Type': 'application/json'
}

async def request(method, url, **kwargs):
  ...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I know this is an old issue, but I still want to share my findings when trying to figure this out.
I run a multi-tenant SPA, so redirects would be challenging to implement because the redirect domain could be whatever custom domain the customer uses, and I needed a way to identify the authenticated user after the redirect.

I'm well aware this is most likely not the best/ideal implementation, but here it goes:

First, you need to define a redirect URL somewhere in your application. For t...

chilly siloBOT
#

Description

In my experience + testing, the Audit-Log Event for VOICE MEMBER MOVE and VOICE MEMBER DISCONNECT, are not right and not working as expected.

Steps to Reproduce

Join a Voice Channel, move yourself to a Channel, and move yourself shortly afterwards again into that channel.

Expected Behavior

How it should work:

For every move, I should get 1 listener event from the GUILD_AUDIT_LOG_ENTRY_CREATE event.
For Every disconnect, I should get 1 listener event from...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

@Valle-infinitare documenting it on that endpoint reduces discoverability since you do not have to use it for replies.

Fair. However, I still think having multiple infoboxes would be slightly unnecessary as there'd be multiple of them visible showing the same information in certain instances.
Maybe linking initial response to interaction response create would work better then.
On the other hand it's only 3 of them and they aren't taking that much space or anything so it's not worth arguing...

chilly siloBOT
#

Also to be a trust issue for end users with something closer to have any other users. This best current practice requires that users from allowing them amounts of Discord function more activity than text messages. This intent should be enabled for people who have even block Discord guild. That could abuse by Discord, resulting in to removed channels and the pending member caching requirement is required to message is the limiter to removed from being used.

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Also to be a trust issue for end users with something closer to have any other users. Client and treat the user property, or a list all URI schemes? Hence you considering the same route mentioned by those threats. Also to quickly ban many guilds, a bot's code base. The proposed here would end up to always use the users and low latency with username and/or user could cause much stricter, preventing the teams. Faster and efficeienter with more tokens!

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

Description

Age gated commands are shown / hidden correctly in regular channels. Although in Forum posts and Threads Age gated commands are always hidden, even if the Forum channel where the post is, is NSFW marked.

Steps to Reproduce

Regular channel

  • Type in / followed by an age gated command.
    (If the channel is NSFW marked, the command will show, if the channel is not NSFW marked, the command will be hidden.)

Forum channel posts / Threads

  • Type in / followed by an...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I'm excited to find this issue! This has been very annoying the past few weeks. Some of my findings:

  • Like ImRodry has said: it can be fine for hours at a time and then will happen a bunch in a row. It's hard to reproduce, but it's happening. Repeating the same command as second time usually works fine.
  • I'm been using 14.7.1, and now using 14.8 and can reproduce the error on my bot eventually with enough tries.
  • I moved my bot to a Linode with a dedicated CPU and 4GB of ram, still g...
chilly siloBOT
chilly siloBOT
#

Thanks for the suggestion!

Discord.js 14.8, the latest version, was released on Sunday, two days ago. I hoped it would help, so I upgraded quickly, but it still happens a few dozen times daily.

I have considered moving down to 13.14 but have yet to do that as it would be a lot more work, and I've not heard any guarantee that version doesn't have this issue. =/

I would move down to 13.14 if it were a sure shot because this error is highly annoying to users. Mod commands sometimes don'...

chilly siloBOT
#

As others have mentioned, this issue is happening across multiple libraries. Both d.js 14.8 and 13.14 should handle this exactly the same. The only notable way to stall an interaction callback at the moment is to have hit the global ratelimit (which is technically an implementation issue that never got updated), and even if you did, that would clear in no more than 1 second. cc @yonilerner

For @LunaUrsa, there were no fixes made relating to this issue in 14.8, though it would've been idea...

chilly siloBOT
#

In the interest of +1'ing this issue to highlight it is most definitely not library specific

I have encountered this in D.py, NAFF and interactions.py (rewrite and non). This is most assuredly an issue on discords side.

While I appreciate that it is an absolute nightmare to debug due to the infrequency and randomness of the error, it really shouldn't be brushed away as a library or network issue on the bot developers side.

The only reason this has little outcry is because it's infrequent...

chilly siloBOT
#

My two cents to the conversation which I have tried to provide through other means to no luck, it seems like the underlying issue might be (educated guess) Discord taking too long to process the interactions at times, unsure of what that might be due to, as I cant debug there any further. The reason I say this because of logs I have from people using our library like the following one (note logs from an old version of the lib, I haven't contacted the person for new ones, but i have been told ...

chilly siloBOT
chilly siloBOT
#

Please read the second bullet point where it states it must follow the nickname guidelines in the usernames and nicknames documentation. There you will see this:

<img alt="image" width="588" src="https://user-images.githubusercontent.com/33201955/225286276-5958504e-7e6f-4336-9525-c29ee2913b6d.png">

This change is not needed.

The webhook docs mention that the "nickname guidelines" also apply, while the part mentioning the "discord" substring is mentioned to be enforced for u...

chilly siloBOT
#

Do you think there could be a way in the future that would allow bots to communicate with the Discord API to verify activity? It seems a bit strange that bots which use a slash commands once per 30 days are eligible, but full-time running cross-server chatbots are not?

Would be lovely to see developers of wider, more complex bots being eligible for the badge.

Thanks.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hello, I was thinking it would be nice in certain situations if there was an ability to hide the command parameters used while still having the bot reply to the base command.

For instance, if a user runs a command but they don't want others to see a URL or some sort of input they could have a flag "hidden" set to true and then the bot would still do its thing but not show the parameters.

it could show like /commandname ... with the reply but won't show `/commandname url: someurl data:...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

There are a few different things and I know you can do the follow up but for instance a sort of "hangman" type of game where a user could go /game word:hiddenword. Ideally the command shows that I started "game" but I don't want them to see the word. I could have the follow up just say "A game of ... started, start your own with ..." but again I'd rather they are just able to see the command.

chilly siloBOT
chilly siloBOT
#

@appellation , if this is not a feature that would happen then we can mark that as the answer but I'm specifically looking for something that does not do that because I want the command itself to show but not one of the inputs (almost as if it was a password field and it'd come out as *** instead of whatever the user passed in. I'll leave it to you to decide on if you want to leave that marked as the answer though and I'll work around it scrapping the idea in general.

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

Discord's Gateway provides real-time updates for various events, including presence updates. Presence updates are a key component of Discord's platform, allowing users to see the status and activity of their friends and guild members. However, for bots with a large number of guilds, the amount of presence data received can be overwhelming and inefficient. For example, if a bot is in 1,000 guilds and receives full presence updates for all users, it can use up to 300GB of traffic per month. Thi...

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

Description

A Message send from a Bot User which is Ephemeral cannot be Edited. In discord.js you will get the error response that the message does not exists, but this is wrong, i can fetch it by id and see the full message object with content, embeds and components, but i cannot edit the message. The Flag Message#editable is also true. So i think this is not a discord.js thing because of the data are cooming from the discord api so discord.js cannot do anything.

Steps to Reproduce...

chilly siloBOT
#

Alrighty, #6005 landed so here we go. Update Getting Started guide to use new MDX components (Button and Collapsible).

Main goal is to improve wording a bit, provide more context (like mentioning the Gateway API and explaining Permissions a bit more) while streamlining the tutorial, and visually divide content a bit more. Here's a screenshot of the collapsible and button in case people want to see before this lands:

This PR depends on https://github.com/discord/discord-example-app...

chilly siloBOT
chilly siloBOT
#

Hey,

just use in your subcommand this:

if not ctx.author.guild_permissions.manage_messages:
    await ctx.send("You are missing Manage Messages permission(s) to run this command.", ephemeral=True)
    return

as a temp solution. Slash commands and Hybrid commands handles it well, using Hybrid Group gotta use it on your own

Aye, i ended up doing this here - just for the sub commands where i want stuff locked off on.

const requiredRoles = ['H...
chilly siloBOT
#

With the built-in AutoMod, it allows servers to filter out or flag messages before they're sent. This works great, and it can also work with bots, by having bots listen to the Auto Moderation Action Execution event. This currently allows bots to detect when a rule has been triggered and take action accordingly, but (as far as I've seen) hasn't gotten much use.

The current situation

With the current 3 built-in actions (alert, delete, and timeout), a lot of simple moderation can happen a...

chilly siloBOT
#

Hey guys, I'd like to share my ideas with you and get feedback from all of You.

While coding my bot, I found something that is kind of boring to code, and could be simplified.
Emoji Picker Component would be something nice for developers.

image

I think it could be useful, like select menus in modals (idk, why they are removed?)

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I would also like to contribute that It is difficult to format when I want three rows with two columns each since forcing inline to false means that the field is left by itself. A simple solution would be that inline false means that a particular field becomes column 1 on a new row. Then the following fields can still be columns on that row unless inline is set to false again in which case it will jump to a new row.

chilly siloBOT
#

One usecase I have is for providing more information on an emoji in a server.
Stuff like how often it's used, what other names it's been known as, a download link,

Another usecase I've had is to upload an emoji from another of the user's server to a new one.

A third usecase is to find similar emojis to one that a user selects, and suggest which ones a user might want to add to their server, as often emojis are related to a theme, say pepe emojis.

In addition, it would be useful t...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

From RFC6455 ("The WebSocket Protocol") section 7.1.1 (emphasis mine):

To _Close the WebSocket Connection_, an endpoint closes the underlying TCP connection. An endpoint SHOULD cleanly close the TCP connection as as well as the TLS session, if applicable [...].

However, upon sending and receiving a pair of Close messages the Gateway does not shutdown the TLS session by sending a close_notify and ins...

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

I'm under the impression it is currently impossible to use the user endpoints to update any of the displayed user information. It would be nice if you could update your custom status, about me section, or anything related to these fields.

My personal use case is in allowing bios to have live data in them. Such as displaying current leaderboard positions, highscores, game stats, or anything else.

Just to clarify, I do not mean for bots, but users accounts you have a scoped oauth token for.

chilly siloBOT
#

My usecase for buttons is creating a configuration menu:

  • I have a setting which needs an input where you can place 1 value, then confirm to add that, and continue within the "same" modal.
    • even better would be to make this a select list with a button, to confirm the selection from the list.
  • I have settings that are toggles for different behavior, so having a toggle button is a must!

A separate usecase that is not even covered in the OPs post:
I want to be able to prompt a user...

chilly siloBOT
#

Description

Trying to edit a guild's features array will return a 403 error with the "This feature has been temporarily disabled" error message. I've been experiencing this issue for a while, hence the report now because I feel like it's not so temporary anymore and given that there's been no announcement or documentation update, I thought it'd be fair to at least ask about it in an issue

Steps to Reproduce

  • Send a PATCH request to /guilds/:id with a bot that optionally has ad...
chilly siloBOT
#

Description

Trying to edit a guild's features array to add COMMUNITY will return a 403 error with the "This feature has been temporarily disabled" error message unless you also specify rules_channel_id and public_updates_channel_id, which then will work as expected (and should probably be documented tbh)

Steps to Reproduce

  • Send a PATCH request to /guilds/:id with a bot that has admin permissions:
curl --location --request PATCH 'https://discord.com/api/v10/gui...
chilly siloBOT
chilly siloBOT
#

Is this still an ongoing issue? I'm a bot developer and had a user come to my support channel today asking why they couldn't see interaction buttons on command responses. Upon asking them to update their app, they said they "did already update it to the latest version in the store". When I asked for the version they showed a screenshot of it being v101.11. I suspect they were using the Samsung store to update their app?

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Updates the permissions table:

  • Updates the name of MANAGE_GUILD_EXPRESSIONS (30, formerly MANAGE_EMOJIS_AND_STICKERS) - hopefully this is the last rename lol (I updated all the references to the new name)
  • Adds permission VIEW_CREATOR_MONETIZATION_ANALYTICS (41)
  • Adds permission USE_SOUNDBOARD (42)

I didn't add CREATE_GUILD_EXPRESSIONS (43) or CREATE_EVENTS (44) because those aren't released yet. (If those get released before this gets merged then I'll add those.) I'm al...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When a bot deletes a voice channel and provides a reason in their request, the reason does not show up in the audit logs.

image

Steps to Reproduce

Delete a voice channel using a bot, providing a reason in the request
Check the audit logs, the reason will not show up similar to the image above

Expected Behavior

A reason is provided in the audit logs for ...

chilly siloBOT
chilly siloBOT
#

Description

Mentioning a bot to search its slash commands now searches all apps' commands, not just the mentioned bot's commands. This has been broken for a while. The client is not specifying the application ID in the command search request. I reported this in DDevs last week and didn't get a response.

Steps to Reproduce

  1. Have slash command suggestions enabled
  2. Mention a bot that has slash commands
  3. Type a command query that matches multiple bots' commands

Expected Be...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I have been an active developer for about 1 year now with multiple bots to my name and when I saw that I can get a badge for being a developer I was very excited to have something to be unique in the community. I then found out that you can basically cheese the system and get this badge in around 15 minutes by following a few simple steps. I think there should be some way for only REAL active developers to get this badge. My suggestion would be to only allow it to people who have had bots tha...

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

Currently there is no way to legitimately chat outside of the Discord client (web/mobile/desktop), which inhibits a big minority of users who have visual impairments, or other accessibility issues.

The idea is to let developers make chat helper applications (which some way connect to accessibility software and/or hardware), and let people read and write messages in that chat helper application.

Currently this is sort of possible, but it's against the Terms of Service, and it's done in a...

chilly siloBOT
#

This PR documents the VOICE_CHANNEL_EFFECT_SEND event, which is sent when a user sends a voice channel effect in a vc that the bot is connected to. Voice channel effects are used for emoji reactions, Soundboard, and Shared Canvas. As only emoji reactions are fully released, I only documented fields relevant for those here. This event is part of the GUILD_VOICE_STATES (1 << 7) intent.

Documented (emoji reaction) fields: channel_id, guild_id, user_id, emoji, animation_type, animation_id
...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

I've been having this issue for a while now. Reactions don't add up on the counter in the frontend, and also appears the same for Bots which I use to count how many likes a forum post have, similar to StarBoard.

You can clearly see 8 people reacted to this post, but the counter shows 1 everywhere else on the frontend and as 1 for the bot. This happens on multiple posts at seemingly random. This is alsos plenty bad because users can't remove their reaction and it also m...

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

Clyde's implementation has been relatively controversial, in concept and execution. This is not a discussion about AI, or really even a discussion about what Clyde does. This discussion is about the various ways Clyde seems to bypass limitations that normal apps have to adhere to - and how this is an accident waiting to happen when large libraries rely on the API acting as documented and expected.

Below is a list of ways that clyde can, and does, break API conventions.

  1. Clyde was able...
chilly siloBOT
#
  • 3 and 6 are already possible for third-party apps with the API so I don't think those are valid points for "breaking conventions"
  • Why would there be a new message flag or type? Clyde just sends normal messages
  • There is a new thread channel flag, but it generally does not matter to bots so I don't see a need to document that before release (as the standard process is to document it after it releases)

There is nothing that bots or libraries need to account for here - Clyde does not...

chilly siloBOT
chilly siloBOT
#

Description

When a bot role have no permissions but the @everyone role have permissions like "Send Messages", the bot will still not be able to send messages because it gets a 403 error. When checking what permissions the bot has you can see that it has the permissions of the @everyone role.

Steps to Reproduce

Find the bot role
Remove all permissions
Enable "Send Messages" permission for @everyone
Try send a normal message with bot

Expected Behavior

The bot has the permiss...

chilly siloBOT
#

This would help both the bot devs and Discord a lot, since with this feature, bots will no longer have to create/request people to create bots, which is avoiding a lot of new bot accounts, and that's not even everything, if say a bot has 50 custom bots, it now has at least 51 bots with same slash commands registered, which is redundant data to store too, so I believe allowing guild avatars for bots would be what's ideal for Discord and for the bot devs, as bot devs wouldn't have to spend as m...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hello beautiful people of Discord. I have something I'd like to do with the command integration. As of now, you can set command permission for roles and channel but what I would like is that I could set permission for channels categories. The idea would be that the command would be accessible once you open a ticket (via Ticket Tool Bot) that will open a new channel in a specific category. I'm new around here so I'm not really sure if there is a place for suggestions or something of that sort.

chilly siloBOT
chilly siloBOT
#

It seems like it would just add unnecessary context and confusion to the documentation, and the implicit 50 integration limit is already mentioned here: https://discord.com/developers/docs/resources/guild#get-guild-integrations

Additionally, this callout only seems relevant to end users of the apps, not the developers of the apps (since they can't change anything to account for this nuance).

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Does this endpoint still work for bots?

I'm using this endpoint and get a permissions error.
I've tried giving my bot change nickname permission, and even full admin, but still nothing.

Here's my function.

def update_bot_name(guild_id: int, new_name: str):
    base_url = "https://discord.com/api/v10"
    token = os.getenv("DISCORD_TOKEN")

    headers = {"Authorization": f"Bot {token}", "Content-Type": "application/json"}

    # Get the guild
    guild_url = f"{base_url}...
chilly siloBOT
chilly siloBOT
#

Description

When an interaction with an embed message which include customs emoji like `` is edited, the edit version will not show up the emoji anymore. It shows instead of the emoji itself.

Notes :

  1. That the bug is only for custom emoji. Discord emoji work properly.
  2. Custom emoji works properly on edit on the server they are from.

Steps to Reproduce

Create a command
Create an embed message with custom emoji in it (insert them with . Example : for a custom water emoj...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I would like to see something like this implemented. I've seen some confusion in a few communities where people are automatically added by a bot that has this permission. I would love to have some way to view what a bot has done on my behalf - even if it was as simple as receiving some sort of DM or personal audit log to see what applications have done what actions. Over the years you sometimes just forget you've given a bot permission to add you to servers.

chilly siloBOT
#

Description

This bug appeared on my iPhone 14 pro max (to provide a relative screen size). When 2 buttons are applied to an embed it will display incorrectly on mobile.

Steps to Reproduce

create a command which sends an embed with 2 buttons and observe on mobile.

Expected Behavior

to display both buttons next to each other.

Current Behavior

buttons are stacked making one fall below the text box.

Screenshots/Videos

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

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

This ticket is going to be a bit unusual.

Once the Digital Market Act of the EU is in force, instant messengers ("number-independent interpersonal communication services" as described in the EU law) that want to serve the users in the EU are going to be required to interoperate. To facilitate interoperability amongst instant messengers, an IETF working group called MIMI has been created. Various providers have joined this group, some proposing...

chilly siloBOT
#

To my understanding, Discord will not meet the definition of a gatekeeper unless the service changes significantly. Discord does not meet the definition of a Core Platform Service, and even if the definition provided by the EU expands, I do not believe Discord will be a large enough market dominator to come under the definition either. Where AWS or CloudFlare is absolutely a CPS as it's internet infrastructure companies rely on to serve customers, Discord does not meet that definition, even i...

chilly siloBOT
#

Description

The CDN (https://cdn.discordapp.com) returns an Access-Control-Allow-Origin header.
This header has the value of the origin domain from which the file was uploaded.

The official discord client uses the media proxy (https://media.discordapp.net) for images and videos, which returns a wildcard for said header.
As for other files the client uses the CDN directly.

If my bot sends a message from the endpoint `https://discord.com/api/v10/channels/{channel.id}/messages...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hello, this issue has been opened 2.5 years ago and still exist.

Ok it may be not related to the api.
But it exists.
File, uploaded and shared by mistake, which can contain sensitive data, is undeletable from cdn.discordapp.com , or it takes too long to get deleted. It's a crirical operational security issue.

Are you value our privacy? Because it does not look so.

chilly siloBOT
chilly siloBOT
#

The issue only occurs when the file is fetched by the client directly from the CDN and not from the media proxy.
Try sending a text file from ptb.discord.com and then view it on discord.com, you wont be able to see the preview of the file as the request is failing due to CORS

The media proxy uses a wildcard for Access-Control-Allow-Origin, the CDN uses the host as the value from which the file was uploaded.cdn

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Whenever I want to type in a slash command, it won't show up, making me unable to use some of the bots' commands.
This happens in every server, and only on desktop for me. I've waited for a while, thinking that maybe it's just loading, but nothing else shows up.
I've been looking everywhere, but I can't find anything that could help, or a post with a similar issue as mine.
This has been going on for maybe months now, and there hasn't been any fix through any update.
**The...

chilly siloBOT
#

Hello! While going through the Getting Started guide, I encountered an error when I ran npm run register. Similar issue -

https://support.glitch.com/t/unexpected-string-in-dotenv-import/58566

I learned that Glitch defaults to Node 10 -- these instructions on how to upgrade Glitch to use Node 16 (By adding engines to package.json) resolved the issue for me.

https://help.glitch.com/kb/article/59-can-i-change-the-version-of-node-js-my-project-uses/

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#
Interactions now contain a `channel` field which is a partial channel object and guaranteed to contain `id` and `type`. We recommend that you begin using this channel field to identify the source channel of the interaction, and we may remove the existing `channel_id` field in the future. See the [interaction documentation](#DOCS_INTERACTIONS_RECEIVING_AND_RESPONDING/interaction-object) for more details.
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

While playing around with the raw websocket API, we noticed that if we followed the example in the documentation for the identify command that it leads to a request that doesn't work. The connection is silently terminated with no error explanation.

What we found is that if we follow the example and use intents: 7, this fails. We tried intents: 512 and it works.

    // This intent represents...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Today Discord raised the default upload limit to 25mb. It works with normal user accounts, Bots and interactions webhooks. However for normal webhooks the default upload doesn't apply. I assume this limit should apply to anything including webhooks, so this was probably a oversight.

Steps to Reproduce

Upload a file that's between 8mb and 25mb with a webhook

Expected Behavior

The file get's successfully uploaded

Current Behavior

It fails with: `413 Payload To...

#

Having this issue too.
I have some code that is fetching leaderboard data from a website, a user is able to use a non-required field to filter the result to a single player name, but as the leaderboard data has different requests per course we rely on data in a required field to provide autocomplete results to the user.

I believe it would be nice to provide the API with a list of required options for another option to be available to a user, and if any of these options have their value ch...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

The new 25 MiB upload limit does not work for anything but pre-signed GCS URLs the client uses for users only. Reusing a uploaded_filename generated by a user for use with bots also doesn't work since it still validates that the file size doesn't exceed the maximum upload size for the user (which remains 8 MiB for bots and webhooks). I've tried reproducing this, but it shouldn't be possible unless it's only rolled out to a certain percentage of bots. It's also undocumented. How are you gett...

chilly siloBOT
#

Description

The documentation is missing information about the aead_aes256_gcm encryption modes. There was an issue opened about this before but it was closed as these modes were "experimental". The desktop client has been using these modes for a while now so I assume they aren't experimental anymore. Using AES256 encryption could speed up cryptography in bots significantly as many processors have acceleration for it.

Steps to Reproduce

Read the docs https://discord.com/developers/...

#

Description

There is an issue when using a relative unix timestamp:
``

This mostly works great on the desktop client, but the countdown doesn't update on the mobile client.

When you open a channel/DM containing the message, it updates but it won't count down afterwards, it remains stuck on the initially loaded message.
I currently have a bot that uses this timestamp and it's really confusing to mobile users.

Steps to Reproduce

send a relative unix time stamp:

Expec...

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

This PR documents missing audit log event type which I observed while fetching audit log entries through my bot.
The entry payload for this event type is currently as follows:

{
  "action_type": 151,
  "id": "824721149474870795",
  "target_id": null,
  "user_id": "552212559242912942"
}

Monetization Terms support article: https://support.discord.com/hc/en-us/articles/5330075836311

I wasnt sure what to name this event type so please let me know if it can be worded more ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When banning someone with delete_message_seconds set, it does not delete any messages.

Steps to Reproduce

Ban someone (can also be done with the discord client) and set delete_message_seconds

Expected Behavior

Messages are deleted

Current Behavior

Messages are not deleted

Screenshots/Videos

No response

Client and System Information

API v10
Canary Client/Postman

chilly siloBOT
chilly siloBOT
#

ok, as I said in my previous comment, that endpoint returns the same data for all bots and has nothing to do with oauth2 or the column you are editing.

do you know for what these scopes are needed? like for what request

is that response for /users/:id or /users/@me? the oauth scope column is only for the latter endpoint, as the former endpoint has nothing to do with oauth

It's right there

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I began work around a week ago mapping these encryption modes and voice API v7. I have not yet had success using any of the aead-labeled modes (technically xsalsa20 is also an aead mode, though) as I assume Discord is passing something in the AAD field during encryption. Referencing RFC 7714 section 8.2, it looks like the AAD should be a repeat of the header we generate for the payload, but that didn't work for me during testing...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When modifying the current user, the token is sent in the response payload. (This feels definetely wrong to me)

Steps to Reproduce

PATCH /users/@me
Payload

{"username": "Hello World!"}

Expected Behavior

token field with the bot's token as the value is not sent in the response.

Current Behavior

token field with the bot's token as the value is sent in the response:

{
    "accent_color": null,
    "avatar": "01973abbf20aa90...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hello,

Thanks for reaching out and for the detailed review. I'm a software engineer on the team responsible for these encryption modes.

We do intend to document these soon. We are currently phasing out some older modes and will likely not document deprecated modes. The two I expect we will document are aead_aes256_gcm_rtpsize and aead_xchacha20_poly1305_rtpsize. Because we know that changing encryption modes is likely to be significant work, we wanted to avoid asking devs to change ...

#

Regarding voice websocket versioning

Pehaps it's a placebo effect, or I fixed a bug in my library while testing, but voice API v7 sounds great compared to my experience with v4. Always had an issue with artifacting in my audio stream, which does not exist in v7.

The versioning is purely limited to the control plane and will not have any effect on the data plane/rtp streams. There is also actually very little difference between v4 and v7. I've briefly reviewed the changes and it looks ...

chilly siloBOT
chilly siloBOT
#

Thank you Brian for the prompt update. Is there any chance of getting a breif idea of what's expected in the aead payloads ahead of time, or is it a simple "wait for the documentation update?" My hope was to make an attempt at documenting the new modes in a PR (though seems you guys may already be on that), but I'm missing something that the RFC doesn't lend solid definition to. I'm thinking it's something in the AAD field, as I'm providing the header, nonce, and encrypted data, but haven't...

chilly siloBOT
#

Description

I'm managing to use other server sound effects on other discord servers.

Steps to Reproduce

I'm managing to use other server sound effects on other discord servers by right-clicking on the sound in any server call.

Expected Behavior

That I cannot use the sounds from other servers in other calls because when I right-click on the sound it is played in a call even without nitro.

Current Behavior

The use of sounds on different servers.

Screenshots/V...

chilly siloBOT
chilly siloBOT
#

Description

When completing an OAuth2 flow, Discord initiates two calls to the callback endpoint with two distinct flows. The browser cancels one of the callback requests (depending on what completes first, the second redirect or the first callback response). This can cause integration with popular software such as the Ory stack to fail.

I assume that this happens due to some front end javascript initiating two redirects to the callback URL when the user submits the consent form in th...

chilly siloBOT
#

I found if you had something that blocked websockets, or webrtc to be the
cause, IE i was attempting to make a python script click a button and i
couldn't find why it was erroring, but i found it after about 1 hr, was
required to keep the websocket open.

On Wed, 12 Apr 2023 at 06:45, DasicPhilipp @.***> wrote:

Are you trying to do this in requests or actually in discord?

I didn't quite undestand what you mean. I've tried both. The issue occurs
when I press some buttons, so it...

chilly siloBOT
#

Description

Hi there, hope you are doing well. I'm reaching out regarding what seems to be a bug with updating/removing user roles through the API.

I have a bot in ~7500 guilds, and we're seeing reports that users roles are not properly being removed, where we have both logs on our end of a successful (2xx) response from your API, and audit logs showing that our application updated or removed roles on that given user.

We have users complaining because Discord support is saying thi...

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

Hello everyone,

I wanted to share my thoughts on the recent removal of the "Discord Verified Bot Developer" badge and the impact it has had on bot developers in the community. As we all know, bot developers are an essential part of the Discord ecosystem, providing unique and engaging experiences for users.

The removal of the verified bot developer badge has left many developers feeling unsupported and unappreciated. While Discord has provided some perks and advantages for verified bot d...

#

recent removal

The badge has been removed for around 3 years - August 2020 if I remember correctly - it's not really recent which means your feedback has already been suggested lots of times and they have responded to them.

They have removed it and explained their reasoning behind it, it won't come back. The Active Developer badge is now being given to everyone that may want it if they meet the criteria to get it.

chilly siloBOT
#

Thank you all for taking the time to provide your feedback on my suggestion regarding the need for new features or perks for verified bot developers on Discord. While I appreciate the comments and concerns raised, I believe that it's important to continue the discussion on this topic.

I understand that Discord may not be able to bring back the verified bot developer badge, but I strongly believe that introducing new badges or perks for verified bot developers could provide additional recog...

#

Are you serious? 🙂

As an AI language model, I can certainly help you come up with a response to someone accusing you of using AI to cheat. Here are a few options:

Denial: "No, I am not using AI to cheat. I assure you that my responses are genuine and reflect my own thoughts and abilities."

Clarification: "I understand your concern, but I want to clarify that I am not using AI to cheat. I am simply utilizing my knowledge and skills to the best of my abilities."

Humor: "Haha, I wi...

#

Hello everyone,

I wanted to share my thoughts on the recent removal of the "Discord Verified Bot Developer" badge and the impact it has had on bot developers in the community. As we all know, bot developers are an essential part of the Discord ecosystem, providing unique and engaging experiences for users.

The removal of the verified bot developer badge has left many developers feeling unsupported and unappreciated. While Discord has provided some perks and advantages for verified bot d...

#

recent removal

The badge has been removed for around 3 years - August 2020 if I remember correctly - it's not really recent which means your feedback has already been suggested lots of times and they have responded to them. They have removed it and explained their reasoning behind it, it won't come back. See #1991 (thanks @TwilightZebby - I was searching for that)

The Active Developer badge is now being given to everyone that may want it if they me...

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

Summary

Voice messages has hit a form of general availability so it's time to bust out the API docs.

One thing to note is that even though voice messages are implemented as attachments, they do not require the Attach Files permission. The gating is purely on the Send Voice Message permission.

Bots are currently not able to send voice messages, mainly as a short-term implementation detail. This will change... eventually.

I wanted to document some implementation details about voic...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

In order to ease the bikeshedding of error codes here:

  1. I don't think we really document errors anymore due to the amount of possible different errors.
  2. I'm not gonna change the error message just for bots. Sorry. :P

Is this a reversal of the previous reversal? This was brought up before with its removal but it was an unpopular decision (see #4427 and its subsequent reversal).

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

When a server with web pages drops below tier 3, its vanity is changed to the special web page vanity, this is different from what normally happens when a server drops tier 3, the vanity invite expires and such the grace logic kicks in, however because the web page is overriding the current vanity there is no grace period, this takes away the safeguards the grace pediod is designed for.

Steps to Reproduce

Have a server with level 3 and web pages enabled and let boosts e...

chilly siloBOT
#

Description

When I click the "Save" button in the soundboard sound edit prompt, a GUILD_SOUNDBOARD_SOUND_UPDATE gateway event is sent instead of sending nothing.

Steps to Reproduce

  1. Server Settings > Soundboard
  2. Clicking the edit button of a soundboard sound
  3. Click "Save"

A GUILD_SOUNDBOARD_SOUND_UPDATE is sent

Expected Behavior

No event is sent

Current Behavior

A GUILD_SOUNDBOARD_SOUND_UPDATE event is sent

Screenshots/Videos

No response

Cl...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Links don't format according to markdown on the latest Canary build.
The same message formats fine when viewed on browser/mobile clients.

Steps to Reproduce

  1. Use a slash command that has the following markdown in an embed field:
    [text](URL). In my example in the image this would be [16⭐](https://github.com/Glazelf/NinigiBot/stargazers).
  2. View message on latest Canary client.

Expected Behavior

Properly formatting as follows:
![image](https://user-i...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

In order to ease the bikeshedding of error codes here:

  1. I don't think we really document errors anymore due to the amount of possible different errors.
  2. I'm not gonna change the error message just for bots. Sorry. :P

Is this a reversal of the previous reversal? This was brought up before with its removal but it was an unpopular decision (see #4427 and its subsequent reversal).

No I'm just misaligned. I spoke with them and I'll sync the error codes for voice m...

chilly siloBOT
#

Description

Upon losing Nitro and having joined over 100+ servers, if you try to join a Group Chat (not a server) through an invite, it'll still show this popup making it unable for you to join:
image

Steps to Reproduce

  • Join over 100+ servers (this'll require Discord Nitro)
  • After losing Nitro, attempt to join a Group Chat through an invite

Expected Behavior

-...

chilly siloBOT
#

Description

TypeError: channel.isTextBased is not a function
at InteractionCreateAction.handle (/home/runner/CosmosJSR/node_modules/discord.js/src/client/actions/InteractionCreate.js:50:33)
at Object.module.exports [as INTERACTION_CREATE] (/home/runner/CosmosJSR/node_modules/discord.js/src/client/websocket/handlers/INTERACTION_CREATE.js:4:36)
at WebSocketManager.handlePacket (/home/runner/CosmosJSR/node_modules/discord.js/src/client/websocket/WebSocketManager.js:352:31)
...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I've updated file size units for emoji and sticker create endpoints.

I've also removed invalid file types from the sticker create endpoint since it does not accept GIF or Lottie JSON files.
My testing shows that this endpoint no longer accepts these file formats.
Also in the Discord Client, the sticker creation modal only accepts PNG or APNG files.

During my testing, I also stumbled upon a bug or at least an oversight.
These two endpoints return an invalid max file size when you try ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Links don't format according to markdown.

The same message formats fine when viewed on mobile clients.

Steps to Reproduce

  1. Send a webhook with a hyperlink using the markdown format [text](URL) and include a number in the text

    example: [1](https://github.com/discord/discord-api-docs)

Expected Behavior

hyperlink to properly show text

![image](https://user-images.githubusercontent.com/20373101/232839694-54ce243f-9c74-4480-9856-c0ec8e1d9ac7.p...

chilly siloBOT
chilly siloBOT
#

Description

Earlier today, some of my users started to report - independently of each other, that link masking (see https://support.discord.com/hc/en-us/articles/210298617-Markdown-Text-101-Chat-Formatting-Bold-Italic-Underline-#h_01GY0EQVRRRB2F19HXC2BA30FG ) seems to be broken.

Unofrtunately, my own tests didn't show the problem, but my users provided me with screenshots of the behaviour. It appears through code that hasn't changed in months.

Up until yesterday, it worked fine. An...

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

I'd like to suggest multiSelect components.
Present the user with a set list of options, and when one is selected it appears above the select menu with a small x button to unselect it.
A bunch of checkboxes is not equivalent as the UX of that is dreadful beyond a small number of possible options, and because semantically it doesn't make sense either; you're passing an array of strings to a single field not individual booleans to many fields.
Look at the way repo tags work in GitHub to ge...

#

My use case for this is that I want the user to be able to select from a list of thread members, currently doing this is a pain at best, and the UX is awful.

I could limit the number of users, but to keep it in a single modal I would need 8 fields (3 for one category & 5 for the other are my acceptable numbers) which currently can't happen, additionally the UX of 7 optional menus (1 category requires 1, other requires 0) is poor.

I could split it across two modals, but that requires mor...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Using float values in addNumberOptions can lead into misleading acceptance of commands, leading into the client thinking values such as 0,1.0 or 0,1 is accepted for the field.

The command allows a , comma input into the field leaving the field accepting values such as 0,1 erroring out a return as 1.0

Issue was initially reported on discord.js repo, but was informed it had nothing to do with them - but discord itself.

Steps to Reproduce

  1. Create SlashCom...
chilly siloBOT
#

Commas are often used in other locales to represent decimal separators, mostly in european countries. I think the real issue here is that it allows doing multiple decimal points, not that it allows commas. When inputting 1.000,10 I would expect to see the float 1000.1. There are also some other special separator formats like Lakh and Crore:

![image](https://user-images.githubusercontent.com/18090140/233784192-32bba3ea-214f-4960-a510-d0...

#

Yeah that's a valid point you have there. I'm european myself, so i do see in that case it the , disable most likely wouldn't be an appropiate fix.

I'm personally not really sure what a proper solution could be in the case where minValue is 0.1 and maxValue is 1.0; to make it not allow 0,1.0

Perhaps adding in the ability to validate the input with (true or false) depending on a regex? on top of the setMinValue and setMaxValue

This way it gives the creator some ext...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

System messages in threads cannot be deleted at all, even by bots. Very disruptive to conversation flow or threads intended to be read-only archives. Users can stop following a thread and it will not produce a message, but if a moderator removes them it will leave a system message that cannot be removed. This also happens when the thread is renamed. Attempting to use a bot to remove these messages gives a permissions error.

Steps to Reproduce

  1. Create a new public thre...
chilly siloBOT
chilly siloBOT
#

This issue still affects masked protocol links. For example, [Authorized Apps](discord://app/authorized-apps) previously worked but does not anymore, even in interaction responses and embeds.

I think they blocked procotols other than http/s. Which doesn't make sense I think. It was really useful to be able to make links to other protocols, and safety can be done with a prompt just like browsers already do. Link buttons also block them. I hope that wasn't intented or they will make it p...

chilly siloBOT
#

Description

The PATCH endpoint for messages reports incorrect Retry-After if a message is crossposted.

The response is a code 429 with the headers:

< retry-after: 1
< x-ratelimit-scope: shared
< x-ratelimit-bucket: 1d3c67957bcdccc6709861c232df8529
< x-ratelimit-limit: 5
< x-ratelimit-remaining: 4
< x-ratelimit-reset: 1682258040.904
< x-ratelimit-reset-after: 0.999

The response body has the correct limit:

{
  "code": 20028,
  "global": false,
  "message...
chilly siloBOT
#

and automating interactions is not allowed (as it requires using a user token which isn't allowed).

i was getting the same error messages. and what do u mean it's not allowed..the dev portal has examples pertaining to interactions - it's supported by the interaction api. anyway, i was able to get this to work. would prefer if i could get it working w/ websockets and asyncio though - that seems problematic

How did you get it working?

chilly siloBOT
chilly siloBOT
#

After a bit of discussion in DDevs, it would appear there are new validation requirements for markdown links within embeds that will not be rolled back. I'm requesting documentation for this new behavior. Markdown is generally agnostic to the content (title) and link in [content](link) so it's necessary for Discord to communicate what restrictions it places on these and where in order to prevent confusion.

chilly siloBOT
#

Currently Gateway events can be monitored via an application establishing a persistent connection and listening for such events. But for servers that change rarely, this requires having said application always running, which is not desirable for individual developers. Also, any downtime (planned or not) of said application means missed events, which may be important to the server in question. It would be possible to have multiple parallel instances of this application, but doing so means ea...

chilly siloBOT
#

After a bit of discussion in DDevs, it would appear there are new validation requirements for markdown links within embeds that will not be rolled back. I'm requesting documentation for this new behavior. Markdown is generally agnostic to the content (title) and link in [content](link) so it's necessary for Discord to communicate what restrictions it places on these and where in order to prevent confusion.

block it doesn't make anything safer. Http links can have embedded app://schema ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#
khp

What we do is dependent on the locale. In a locale such as Italian where , is used as a decimal separator and . is used as a grouping marker, we strip out the grouping marker, replace the decimal separator with a . and infer the number from that. And if after that there are still multiple decimals, it would fail validation. There are also languages that use spaces to denote thousandth places so that's fun :)

e.g.

When inputting 1.000,10 I would expect to see the float 1000.1.
I...

chilly siloBOT
#
khp

Hey, so the header actually contains the per-bot (i.e. user scoped) rate-limit. It's a bug due to another rate-limit failing for crossposts which is Shared scope surfacing in the header. So aside from the wrong scope being returned (should actually be User) this is expected behavior afaict, where the header still contains the user scoped rate-limit, and the response is responding with a "sub" rate-limit that's only triggered in the case of crossposted messages. i.e. you won't be rate-limited ...

chilly siloBOT
#

The x-ratelimit-whatever headers always indicate the user scoped ratelimit yes (with the exception of scope). Hence, we disregard those when encountering a 429 that isn't indicated in those headers, as they are for the hash indicated, which has no regard to sublimits.

The Retry-After header is specific to actually hitting 429 and should indicate when to retry the same request again in order to successfully complete the request.

The behavior indicated here, where a crossposted mess...

chilly siloBOT
chilly siloBOT
#

Description

en en apartado de introducción de la API de Discord, en las últimas líneas hay un <3 en vez de un "have".

Steps to Reproduce

In Discord mobile.

  1. click in your profile
  2. Advanced
  3. API of Discord

Expected Behavior

que ponga "have"

Current Behavior

que hay un <3 en vez de una palabra.

Screenshots/Videos

No response

Client and System Information

Samsung A71 versión de UI 5.1

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Currently Discord doesn't send any indication that your application has set a INTERACTIONS ENDPOINT URL.
I would suggest a simple flag or even the interactions_endpoint_url itself be included in the Application Object. Currently if you set INTERACTIONS ENDPOINT URL and use a gateway connection to send a component, the interaction will silently fail, unless you have prepared a server to accept http requests.

Rationale being that this allows developers to debug cases where they have been te...

chilly siloBOT
#

Hello,

I would like to have a way to mention slash commands that has subcommands but without providing their subcommands.

It would allow us to, for example, create a help menu that display a list of commands and mention them with ``.
Then when clicking the command is added to the text box and the subcommands for that command starts loading.

Example of the current result:
![image](https://user-images.githubusercontent.com/19957779/234696406-23094437-8d49-4629-a528-a27f339c25...

chilly siloBOT
#

I’m guessing your asking me to fix this problem? My name is Jennifer

H.B.O. Ministries Worldwide
Jesus loves u

On Apr 26, 2023, at 2:41 PM, Koyamie @.***> wrote:

Hello,

I would like to have a way to mention slash commands that has subcommands but without providing their subcommands.

It would allow us to, for example, create a help menu that display a list of commands and mention them with </NAME:ID>.
Then when clicking the command is added to the text box and th...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

We have internal applications we use for our development workflow. These tools support custom URL schemes that are registered when our tools are installed. This makes it really easy for us to share a deep-link URL between users for our tools.

Previously we could send these links on discord and have them be clickable with `` however, the latest update seems to have broken this ability.

As a workaround I wrote a bot that inserted an embed and message components when it sniffed out a `mysc...

chilly siloBOT
#

{
"id": "604779545018761237",
"created_at": "2019-07-27T20:57:59.793Z",
"tag": "mesalytic#8666",
"badges": [
"HOUSE_BRAVERY",
"EARLY_VERIFIED_BOT_DEVELOPER",
"ACTIVE_DEVELOPER"
],
"avatar": {
"id": "a_5cc9d596dc11bcd2b8c741013b87045c",
"link": "https://cdn.discordapp.com/avatars/604779545018761237/a_5cc9d596dc11bcd2b8c741013b87045c",
"is_animated": true
},
"banner": {
"id": "a_c7a1dd4cd7952e90e0c7adb95af3b16b",
"link": "https://c...

chilly siloBOT
chilly siloBOT
#

Description

Prior to the recent update you could wrap a masked link around a string containing emojis. However, as of late, this is no longer the case. None of the code has changed from the bot. Please investigate, or let me know if this is a "feature". Thanks!

Steps to Reproduce

Create a masked link with an emoji inside the string.

Expected Behavior

The masked link not break entirely when an emoji is present.

Current Behavior

Emoji breaks the masked link.

Screensh...

chilly siloBOT
#

Description

While using the API to retrieve user and member from a guild, i saw that some fields in the online documentation are missing.

path : docs/resources/user#user-object-user-structure
missing : avatar_decoration, display_name, global_name

path : docs/resources/guild#guild-member-object-guild-member-structure
missing : is_pending

Steps to Reproduce

  • HTTP GET on /guilds/{guild.id}/members/{user.id}
  • Parse JSON response
  • Missing fields on Member
    -...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

There is a bug in discord that i found looking at other users playing STAR WARS Jedi: Survivor™. There "Activity" claims they have played the game for 19,456 days. I'm here because i want to report this to you guys at discord, and looking to get "Bug Hunter" badge on discord, since this is a bug and im here to report it. (my discord is "moris#9999")

Steps to Reproduce

I dont have the knowledge of what this is.

Expected Behavior

I'm expecting the normal play time.
...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I like the idea that bots can do many things without needing to ever be able to see anything other than a user ID, as the user name can be rendered in the Discord app.

In select menus I have a use case where I have to populate the select menu with selected users for a game session for someone to select from, but the select menu does not have a way to render the user's name.

I would like a feature for string select menu where I can populate it with user ids and it will show the user name...

chilly siloBOT
chilly siloBOT
#

As we have can see, Interaction can work using a webhook, or the gateway.
But why not using that for other events on the API ? Like we chose what events we want to receive from the gateway if we chose to turn on "webhook"

So we do not receive useless request from discord, this can be really great for people who only want to use HTTP requests to communicate with discord, actually the only way to get "real time data" is with the gateway, so making "http polling" (using webhook) available, ...

chilly siloBOT
#
khp

Hi, bulk message delete audit logs will get merged into one if there was another one created not too long ago. So it's most likely that you tried a bulk-delete with no audit log reason and subsequent ones, even with reasons got merged into that audit log entry with no reason. One way to try it fresh is to try again in another channel where you didn't bulk delete yet from. If you're able to reproduce this issue despite that let us know. Will close for now as I couldn't reproduce this issue bes...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Long Devanagari text gets corrupted in Discord (all maatraas get clipped off and it renders the text useless). This happens on all clients for all users.

The message content (or embed description) sent is not the same as the message content (or embed description) received.

[Earlier reported in ticket IDs 17294009 (Oct 2021), 28421140 (Sep 2022).]

Steps to Reproduce

Send the following message:

Example 1

अच्युतं केशवं रामनारायणं कृष्णदामोदरं वासुदेवं हरिम् ।...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Using the /channels/{channel.id}/threads endpoint, without specifying the thread type, you can create a private thread without boosts on the server

Steps to Reproduce

Make a POST request to the /channels/{channel.id}/threads endpoint and specify {"name": "Name"} in the body

Expected Behavior

Created a public thread with my arguments

Current Behavior

Created a private thread without specifying a type

Screenshots/Videos

![Снимок экрана (230)](https:/...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

this is my code,im sure my token is right,help me plz

and the error is
D:\czj\web3\learn\node_modules_undici@5.21.2@undici\lib\api\abort-signal.js:10
self.onError(new RequestAbortedError())
^

RequestAbortedError [AbortError]: Request aborted
at abort (D:\czj\web3\learn\node_modules_undici@5.21.2@undici\lib\api\abort-signal.js:10:18)
at AbortSignal.self. (D:\czj\web3\learn\node_modules_undici@5.21.2@undici\lib\api\abort-signal.js:29:5)
at AbortSignal.[nodejs.int...

chilly siloBOT
#

+1, I'm writing a tabletop RPG bot. The bot user selects a character they control in the combat, and then chooses which of that character's actions to use. If they select the wrong character or use the up arrow to grab the previous command which could fill out the autocomplete field and cache the wrong data, the whole input is messed up and they have to restart the command.

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

Description

If you assign a role to a prompt in Onboarding, then delete the role, the prompt is not changed and when users choose it in Onboarding, the role id will be added to their member object even though the role doesn't exist anymore.

This can break the functionality of bots and API libraries if they try to fetch role information of a role that doesn't exist.

Steps to Reproduce

  1. Create a role
  2. Enable Onboarding
  3. Assign the role for a prompt in Onboarding
  4. Delete...
chilly siloBOT
#

Emojis and stickers can become unavailable if your server drops down in boost levels, depending on your level the first x amount of emojis stay available while the rest are made unavailable, at the moment if you wish to regain access to emojis that are marked this way your only option is to delete enough until the ones you want are made available again, it would be nice if we could send something like the following request:
PATCH /guilds/../emojis

{
	"id": "1092376602365337",
	"ava...
chilly siloBOT
chilly siloBOT
#

Description

Despite having the correct intents set, receiving any INVITE_* events over the gateway now requires ADMINISTRATOR (1 << 3). An invite logger bot in a smaller server was functioning just fine until recently, the last known working timestamp is 2023-05-02T12:43:47.638Z, but seeing as nobody has reported this bug here yet, I'd guess that it's a very recent change.

Steps to Reproduce

  1. Add a bot to a guild and assign it a role with MANAGE_GUILD (1 << 5).
  2. Connec...
chilly siloBOT
#

The only reference I managed to find to the permissions required here is: https://github.com/discordjs/discord.js/pull/3720/commits/1e3eaa540331418548663b2a9fe7bed9fa129e95

This event only triggers if the client has MANAGE_GUILD permissions for the guild or MANAGE_CHANNELS permissions for the channel.

I can't find any official documentation on this. Perhaps a check somewhere was unintentionally modified, making these permissions mutually inclusive rather than only requiring one?

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Thanks for getting back!

When testing this again, merely MANAGE_CHANNELS globally does work. I noticed from the screen recording that the INVITE_* events were slightly delayed by a few seconds at some point, which might've contributed to the confusion.

The guild in the screen recording was created with default permissions on @everyone, and no other modifications have been made. Neither MANAGE_GUILD nor MANAGE_CHANNELS are denied for @everyone using permission overwrites in a...

chilly siloBOT
chilly siloBOT
#

The difference is that running a discord bot with the client method, you get everything typed with the /command and you can pull the other data out. If you run the interactions url method, you need to register your commands and what the options are for after the command. Discord detect it and adds in the option name you're using automatically.

This registration would require the name of the option : then the option value. So while a client based bot would accept /link CODE, the interactio...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

There's a third sentence following this format that also follows this wording:

This event is only sent to bots with the VIEW_AUDIT_LOG permission.

Moreover, if you search in the entire repository, you'll only find one match for "which have the .+ permission" compared to "with the .+ permission," so this minor change feels warranted to me. Opening a second PR for it when making a related change feels overkill.

<img width="298" alt="image" src="https://user-images.githubusercontent...

chilly siloBOT
chilly siloBOT
#

It would be great if there is an update to the thing below, it's so frustrating when I'm working here that I can't see someone kicked off the audio channel. 5 seconds after person x removes person y from the voice channel, a person z leaves voluntarily. I can't detect it when person x removes person e from the voice channel about 10 seconds after this person z left voluntarily 😦 If I extend the time while shooting, this time the person who voluntarily comes out of the voice channel acts as if...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT