#github-notifications

1 messages · Page 21 of 1

chilly siloBOT
#

Tokens have a time based component when being generated. Them constantly changing is normal, and you can use everyone of those. Not until you press regenerate does it invalidate previous tokens.

As for "i cant", that's very vague and not descriptive at all. I suggest asking for help by the people who develop the library you are using.

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

So I awoke to this issue being called on me. The only info it gives me is that the token is 'wrong' or something else in the code for my token is an issue. I've tried to reset my token, but I've noticed that every time I refresh the page and copy the token through the provided button to copy the token with, it gives me a new one. I don't know if this is a thing about discord's website whenever you refresh the bot page, but it's giving me some hassle, and I can't figure out how to fix this iss...

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

I have been using Discord for quite some time, as it's the best program to speak with your devs, but I've been trying to either assign work or just make sure everyone has something to do by seeing who's Idle, kind of code for: looking for assignments, so if I could ping @idle or @online instead of just @here, it'd make it a lot easier, other uses for this would be stuff like:

-Seeing who's available for looking for games to play

-Just having a chat with someone who's bored

-Sharing c...

chilly siloBOT
chilly siloBOT
#

I can reproduce it in 2 ways:

  1. Send a webhook payload and add ?wait=true. The embed will show up then disappear after a fraction of a second.
  2. Send a webhook payload with an avatar URL that, while being a valid URL, does not lead to an image. The link will not embed.

Again, both of these only happen occasionally. I can provide a channel where this happens more consistently, if that is helpful.

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

I would too like to see this feature, but not in an implementation listed here.

I would like to see bots able to set additional statuses (maybe an exclamation point for outage, a clock for maintenance) that could also be manually set from the dev portal. Bot owners could also set extended description text that could show in the profile modal, similar to statuses, that could warn of possible downtime or give status updates on outages.

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Summary

I'm not 100% sold on the tone of voice I used for this. In some ways, English is harder to write than code for me... Basically the documented changes are:

permissions_new, deny_new, and allow_new are now fields. We incentivize people to read off those if they want new permissions. However there aren't any new permissions right now, so they don't have to switch (but I didn't mention this). Old fields only get 31 bits.

#

@MinnDevelopment that's a decent question.. the technical reason is due to where versioning is performed and how it is performed. gateway is what you're talking to when receiving erlpack, and at that point in time it's already a string so you receive it as binary. this is a divergence from snowflakes over erlpack, since we let the json libraries handle that string conversion for us at the edge. we didn't want to support int|str datatype for permissions, so here we are. it's worth noting we ...

#

@MinnDevelopment it isn't possible currently (for the same reason, since versioning and the computed values are upstream from gateway). you should consider the data types between json and erlpack as 1 in the same here. the only reason snowflakes diverge is due to us deferring 64bit ints to the json serializer and relying on the fact that all snowflakes are 64bit ints.

chilly siloBOT
#

I mean that the payloads are unnecessarily larger, and there's more overhead in deserialization by using a string instead of an arbitrary sized integer. The JSON specification does not place a concrete upper limit on the size of integers and only suggests to either keep it within 53 bits of precision (for maximum compatibility) or to ensure that consumers are aware and capable of the precision. As this won't be changing until the next version, it seems that simply documenting the precision su...

chilly siloBOT
#

While they are larger payloads, they are more efficient than losing native JSON deserialization on our clients. Native JSON deserialization is a lot faster than libraries you might import. In fact, the JSON parser is faster in some instances then creating their actual objects using JS literals: https://v8.dev/blog/cost-of-javascript-2019#json

Regardless of the reasons why we chose this approach for v6 instead of making a breaking change, it will be a string in the next API version anyways ...

#

While that appears to be true for javascript, it's not the case for many other languages. I understand that the client uses javascript, so I'm fine conceding that. However, for those wanting to maintain performance, the combination of that and (below quote) is concerning.

so here we are. it's worth noting we may eventually get rid of ETF on gateway (we are slowly getting rid of its usage internally already).

Are there plans to use an alternative compact general representation such ...

#

Are there plans to use an alternative compact general representation such as msgpack, or non-general in the case of a protocol buffer if or when this happens? It seems like since one of the recent goals as been improving performance, adding uncertainty around continuing to use ETF does a disservice to that goal if there won't be a replacement.

I can't speak for ETF plans at this time, but we care very much about the performance characteristics of changes we make to our infrastructure.

#

I can't speak for ETF plans at this time, but we care very much about the performance characteristics of changes we make to our infrastructure.

It was not my intention to imply that you didn't, just that with a new gateway version "around the corner" and public statements indicating ETF support might be dropped, you're putting people in a position where they may decide it's better to just take the performance hit of JSON (which is notoriously bad as a format for serialized data) to avoid...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

This has been a long time issue for me (not too long after release honestly) and its not specific to my system. On our server we often spend most of our time in a voice chat room. Whenever the system is under load (running programs, updates, uncompressing, etc) the sound of the voice room cuts in and out, varying from split seconds to several second pauses. Now here you could say "well maybe your computers cant handle all the load" but this is consistent on every computer i have used and ther...

chilly siloBOT
chilly siloBOT
#

Copy pasted from ?tag sslfix:

If you're getting the [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:1108) error on a Windows host do the following:

Download and install this certificate here: https://crt.sh/?id=2835394
--> It can be installed by double clicking the file and installing it to Local Computer, download link location: https://beans-took-my-kids.reeee.ee/38qB2n.png

For those curious, it was caused by this:
https://support...

chilly siloBOT
#

Dear Discord,
I've created a webpage on www.relog.rs that's protected by CloudFlare anti DDOS measures. The current settings that have been set by our WebHost provider on CloudFlare forces any request to go through a CAPTCHA solver in order to receive any information from our website.

I have had a problem to display og:metadata tags on Discord when linking a page hosted on our website, but we have managed to bypass the protection with whitelisting the DiscordBot useragent.

The problem ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Mason told me to suggest this here.

The view server insights permission should be displayed regardless of the community status on the server. The reasoning for doing this would be for bots like mine, where it is an analytics bot and could be tied to that permission instead of Manage Server.* This would allow admins and moderators to not need to give the manage server permission just for to see analytics now that this new permission has been released.

I was thinking that there could be a not...

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 devices/co...

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

It seems like organisation-wide webhooks for GitHub are correctly deployed to Discord, but only the repository events are actually executed. The organisation related events (ie. membership) seem to be silently dropped, seemingly because it is not supported/formatted by Discord yet. Therefore, I request proper support for organisation-wide webhook messages.

chilly siloBOT
chilly siloBOT
#

I am trying to add a user when authenticated via Discords Oauth2.

Techstack: Node.js, Javascript with Vue.js, Axios

The scopes are "identify email guilds.join"

My first two API calls work fine, giving me the bearer token, then the user with email and its userID.

But the third call is giving problems, being the 401 error.

Code:
axios.put( https://discord.com/api/guilds//members/${userID}}`,{

    headers: {
         'Content-Type': 'application/json',

...

#

Thanks for your response!

<img width="479" alt="image" src="https://user-images.githubusercontent.com/66954240/89167291-7f338d00-d57b-11ea-98f2-f225d6ebfa2b.png">

Changing it to data now produces a 403 error. I am testing with Postman next to the code, and it throws an error as well.
axios.put( https://discord.com/api/guilds/699300318868930720/members/620987747569500164}`,{

    headers: {
         'Content-Type': 'application/json',
        'Authorization...
chilly siloBOT
#

I feel like this wording is more correct, as it avoids broken english of "OR'ed (or ORd as documented) and makes it clear its a bitflag. This link is the same link that has been used previously under the permissions documentation.

Potential considerations would also to be named as Bit Field instead.

chilly siloBOT
#

Hi,
I have a bug when I try to use discord sdk for compilation of the game Empty Epsilon.
Last month, all was fine, but now, it seems to have a change in the file discord_game_sdk.h

discord/c/discord_game_sdk.h:5:10: fatal error: Windows.h: No such file or directory #include

the program mingw contains windows.h and not Window.h, so it is only a uppercase issue. Is it a choice from discord team, or just a bug ?

Thanks in advance

#

#1414 only briefly mentions that this endpoint exists but i do not quite understand the notion of the closing comment:

My mistake for making this issue on an undocumented endpoint,

Can this endpoint be documented?

We would love to add that to the libraries API, however work under the policy of just officially documented endpoints and feature sets are merged.

We were under the assumption that any images displayed on game presences where to be found in assets, however that is appar...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

It seems that when you make used of allowed_mentions and suppress embeds on it, the allowed_mentions get wiped and those who were mentioned will receive a border implying they were mentioned.

You can reproduce this by:

  • Create a message that has an embed (or a link that comes with a preview) and mention yourself.
  • Making use of allowed_mentions, ensure that no one is to be mentioned.
  • Send the message.
  • Supress embeds on the message.
  • Flick channels or reload the client.
    ...
chilly siloBOT
#

As it says on the tin. I'm the owner of a 35k member server, and we use Go Live/video permissions as an incentive for users to support the server via Nitro boosts. It would be nice to only allow users to share their screen as opposed to also allowing them to share their webcam. Especially since you can share both your screen and your webcam, having only a single video source to try to moderate at a time would be appreciated.

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I was wondering if there is a list of all currently supported locales that a Guild Object could have in their prefered_locale field.

It is quite useful for bots like mine that provide a per-guild language option, to automatically have the language set based on the prefered_locale of the Guild.
But without knowing what region/language codes are available is it not quite useful to set up something for this in the first place.

So is there a place/page to find all available codes? The clie...

chilly siloBOT
chilly siloBOT
#

It is a very common mistake for newbie bot developers to confuse the client secret with the bot token. I think this would be a lot less common if the client secret would instead be in the OAuth2 tab. That also seems to be the right place for it, since it's only used for OAuth flow anyway which is related to the other settings in that tab.

In the old dashboard the client secret also had a small note which explained that it's not a bot token. This could also be added back but then you have t...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I had one working bot so I tried to make my second bot and now both of the bots dont work,
(node:16660) UnhandledPromiseRejectionWarning: Error [TOKEN_INVALID]: An invalid token was provided.
at WebSocketManager.connect (C:\Users\M jr\Desktop\projects\discbot\node_modules\discord.js\src\client\websocket\WebSocketManager.js:135:26)
at Client.login (C:\Users\M jr\Desktop\projects\discbot\node_modules\discord.js\src\client\Client.js:221:21)
(node:16660) UnhandledPromiseRejectionWarni...

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

Init Curl With Header:

public function init_curl_with_header($url, $field, $request = "POST")
{
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_URL, "https://discord.com/api/v6/" . $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $request);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $field);
    $headers = array();
    $headers[] = 'Retry-After:...
chilly siloBOT
chilly siloBOT
#
// query:
{
  guild_id: '441319831392747531',
  limit: 1,
  presences: false,
  user_ids: ['9223372036854775807'], // (2^63) - 1
}

// response:
{
  "not_found": [ "9223372036854775807" ], // string
  "members": [],
  "guild_id": "441319831392747531",
  "chunk_index": 0,
  "chunk_count": 1
}
// query:
{
  guild_id: '441319831392747531',
  limit: 1,
  presences: false,
  user_ids: ['9223372036854775808'], // 2^63
}

// response:
{
  "not_found": [ 9...
chilly siloBOT
#

VoiceManager.OnSettingsUpdate (on_settings_update event) is not documented anywhere and probably should be.

(Side note: I'd like to comment it but my english isn't good enough for that, so I'll let someone more qualified comment it)

struct IDiscordVoiceEvents {
    void (*on_settings_update)(void* event_data);
};
public event SettingsUpdateHandler OnSettingsUpdate;
[MonoPInvokeCallback]
private static void OnSettingsUpdateImpl(IntPtr ptr)
{
...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I know this is closed, however I kinda fail to see how this is a duplicate of the mentioned issue. Per issue #1054 (and its PR), anything that doesn't classify as a bigint will be returned as a number (for instance, "123" will be returned as 123).

Most IDs on Discord right now are either 17 or 18 characters long (when converted into a string). The ID provided in the issue description (9223372036854775808) is 19 characters long. An ID that long WILL happen in 2084-09-06T15:47:35.552Z (...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Ok, our rate limit issue for us is we can last maybe 4-5 seconds on a bad day and a good 3hrs on a good day before discord hits us with a rate limit. Spawns have always been the issue when it comes to our requests to the API of discord. you got to think we are on 651 servers and the bot is constantly scanning all of those channels to decide where to put a spawn.
When it finds a channel it wants to put a spawn, they spawn in groupings of 1-5 but each one of those spawns is a request to the A...

chilly siloBOT
#

This issue doesn't contain any specific information that we can act on either to understand your issue, or fix it.

I'm acting on behalf of the developer, and limited on much information at this time. Can you tell me exactly what info exactly you would need to try and resolve this? All I can say is that we are experiencing high volumes of rate limits at least once a week, where the bot will virtually go offline for 3-7 days before allowing anyone to use commands.

chilly siloBOT
#

Hi! I'm really new to the world of coding, and only recently started self hosting nadeko bot (there's a doc on GitHub by ScarletKuro, which is what i used). Up until now, I rarely ran into any issues that couldn't be fixed, until a few days ago I get a notice from Discord letting me know my bot (the self hosted nadeko) has connected more than 1000 times. Since the token was reset, I also changed the information on Heroku to match with the new token. But then, the bot did it again and I got th...

chilly siloBOT
#

Oh, so he hasn't coded it himself... I should learn to read again :|

@snowzie In that case, the best option is to open an issue in ScarletKuro's NadekoBot repo, since it is a bot-specific issue, not an API issue.

Edit: Darn it, @advaith1 has beated me again 😠

I tried talking with ScarletKuro themselves on Discord, but they have only told me that: "my only guess is that your bot got rate limited, and thats why no response
so you g...

chilly siloBOT
#

Basically, something is wrong and makes it keep constantly restarting. It's either an issue with the code or an issue with the hosting. Unfortunately we can't really help diagnose it more than that.
Generally, instead of self-hosting a public open-source bot, it's better to add the official instance of the bot, and/or make your own bot from scratch.

Alright, thank you. Is there anything you suggest that I could do to try and figure out the issue?

chilly siloBOT
#

No such limitation exists on our end which would cause a bot to go down for 3-7 days if they hit a message/send rate limit. I'm not sure what the issue is here, but based upon that, I don't think it's an issue with Discord, but perhaps the code of the bot.

Good luck figuring it out. If you do have more concrete logs though that demonstrate that discord is telling you to retry after 3+ days, please open a new issue, complete with debug logs and timestamps.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

i got my token https://discord.com/api/oauth2/authorize?client_id=5*******4&redirect_uri=http********8000%2Fcallback.html&response_type=token&scope=identify%20guilds -> tried resonse type code as well

scopes are identify and guilds

lets say in simple in Postman my url is https://discordapp.com/api/v6/guilds/417208237142573056 -> guild id

and i got guild id from https://discordapp.com/api/v6/users/@me/guilds ->list all guild ids

my header is setup perfectly since i am ...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

These are the gotcha's that I know about:

  • Trying to crosspost a message that is already crossposted will result in the error response "40033: This message has already been crossposted"
  • You can crosspost your own messages if you can send them
  • You can crosspost other people's messages with MESSAGE_MANAGE permission
  • You cannot crosspost messages if the guild does not have the NEWS feature enabled
chilly siloBOT
#

No. I just tried with SDK 2.5.6 and SDK 2.5.8, with the C language, and 512, 1024 and 2048 are causing a result code 5, which is a DiscordResult_InvalidPayload.

This could be an issue with the Game SDK, but for now, 1024 is not supported. Feel free to test!

#include <iostream>
#include <assert.h>
#include "discord_game_sdk.h"
#ifdef _WIN32
#include <Windows.h>
#else
#include <unistd.h>
#include <string.h>
#endif

#define DISCORD_REQUIRE(x) assert(x ...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

There appears to be an entirely undocumented (and unreported in the API) rate limit of 2 channel renames/10 minutes. The first two name changes go through fine, with the expected/documented rate limit headers indicating that I can use the endpoint 5 times per 15 seconds:

x-ratelimit-bucket: 9852e1a53c06ffc5a89d65fef85ca4ce
x-ratelimit-limit: 5
x-ratelimit-remaining: 4
x-ratelimit-reset: 1597330030
x-ratelimit-reset-after: 15

However, the third request results in a 429 re...

#

Just to put this in writing here for documentation so it's not just sitting in a discord thread:

I have a bot that has been temporarily blocked three weeks running at our busiest time, and the only explanation we've come up with is that we are getting too many of these 429s. I really don't think that we are having 16/second for ten minutes, but since I've only added response code logging now, I have no way to be sure of that until we get blocked again. We are using discord.js, which does i...

chilly siloBOT
#

I'll write my specific situation here as well I guess. I have a channel where I post a youtube link, and it is deleted and reposted by a bot sending a webhook. I send a message here every couple days or so.
Every time I do this, my account's message will have an embed attached to it (until it is deleted, of course). The webhook message will generate an embed but then it will disappear, similarly to @DiscordCatto's example above.
If I send the same message again through my account - just th...

chilly siloBOT
#

We needs a read-DMs-only can't-even-read-channels no-bot-tag-indistinguishable-from-an-ordinary-user extra-verification-required API for creating honey pot bots to catch spammers quickly and efficiently.

Need an amount of these kinds of bots proportional to the number of users in a discord server; they need to not count toward the true pop-count of the server, they need to be distinguishable (and maybe by default hidden) from real users by users with some non-default-role flag.

Can we m...

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

Originally, when you use the create dm endpoint (POST /users/@me/channels) with a user you cannot DM, it returns a 403 Forbidden. Now, it returns a 400 bad request. Is this behavior expected indefinably, or is this just a bug? This happens on api v6, which also breaks how my bot works as I expect a 403 with code 50007. For this endpoint, the 400 status code gets handled as an internal error in my bot. If this is permanent, can I just expect it to always return a 400 for users you can't DM?

chilly siloBOT
chilly siloBOT
#

When generating the embeds for links in webhook messages discord seems to be including the leading ")" that completes the markdown in-line link in some cases in the generated embed's title leading to an invalid link. This can be seen in the following request

> POST /api/webhooks/744296114370641941/...=true HTTP/2
> Host: discordapp.com
> user-agent: insomnia/2020.3.3
> cookie: __cfruid=c2a75e2c298e988f234f56c2f3f58878ef6fdbd0-1597507189; __cfduid=dc9d3b3e492aebdb125da6c9c1ab739...
chilly siloBOT
#

When declaring just the intents GUILDS and GUILD_VOICE_STATES (129 raw) on the v6 gateway with the bot 658822586720976907 the gateway seems to be returning duplicated member objects in GUILD_CREATE payloads for members who have active voice states in said guild as shown by the following payload (where I shortened some fields for the sake of brevity) which was received on startup

{
    "t": "GUILD_CREATE",
    "s": 5,
    "op": 0,
    "d": {
        "large": false,
        ...
chilly siloBOT
#

Individual rate limits are generally not documented on our API docs, and that is for good reason: they can change at any time. We make no guarantees that rate limits will remain the same, and they may end up being variable per application at some point in the future. We understand some 429 errors are to be encountered, which is why we offer flexibility by allowing applications to still encounter them before being temporarily blocked from the API. I would recommend you start logging and/or tra...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

You fight spam by disabling DMs and reporting bot accounts to discord.
There are far better alternatives that can be done to the API itself than to allow "bots that are user bots but not actually".

They're not just scams, they're automated scams. Honey potting is how we effectively fight spam with emails and messaging.
The individuals compromised by the scams become unsuspecting scammers themselves. Discord hurts itself by allowing this sort of thing to propagate without a legiti...

#

You fight spam by disabling DMs and reporting bot accounts to discord.
There are far better alternatives that can be done to the API itself than to allow "bots that are user bots but not actually".

They're not just scams, they're automated scams. Honey potting is how we effectively fight spam with emails and messaging.
The individuals compromised by the scams become unsuspecting scammers themselves. Discord hurts itself by allowing this sort of thing to propagate without a legiti...

chilly siloBOT
#

Right now, the API documentation makes no mention of the existence of rate sublimits. Indeed, it seems to suggest that they do not exist (emphasis added):

Rate limits are applied on a per-route basis (meaning they can be different for each route called) and per-account performing the request (if you're using a bearer token the user associated to that token, or if you're using a bot token the associated bot), with the exception of an additional global rate limit spanning acros...

#

I agree with Kittens - I want documentation of some kind on sub limits in general, although obviously I would love documentation on this one in particular. To that end, I've opened #1909 to request that the official docs include the existence of sublimits (specified or unspecified). I spent over a week chasing my tail before uncovering that this particular sublimit existed from a post in the Discord Developers guild - if the official docs had simply said "other rate sublimits may exist based ...

chilly siloBOT
chilly siloBOT
#

I've sent a message with a bot in an announcement channel, and have then manually published it from my Discord client using my user account. A few minutes later I've made the bot edit the message and here we are: 2 hours later and the edit has only taken place in the original message while all the crossposted ones still have the original version without the edit. Is this a bug, a feature, an error on my side or does Wumpus just not like me?

#

And I take it you don't see a simple solution for that?

On Sun, Aug 16, 2020 at 12:01 PM kittens notifications@github.com wrote:

it's fairly simple as a spam bot author to just not DM inactive users, so
your solution of creating inactive users that can only receive DMs is quite
useless.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/discord/discord-api-docs/issues/1902#issuecomment-674544379,
or unsubs...

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

Hi everyone!

We have news about the Bot Verification program and the Verified Bot Developer badge.

For those of you who have already verified, thanks for being so ahead of the game. For those that still need to, October 7 is fast approaching! Remember you can still get verified after October 7, but that's when our restrictions will be enforced on non-verified bots in 100 or more servers.

When we announced the Bot Verification process, we promised that it wouldn't be a long and di...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I've recently needed to start checking the audit log for nickname changes, and I second this request for better filtering in the hope of seeing some implementation.

Being able to search by target_id would be really helpful (maybe make it so that it only works if you supply an action_type parameter, if that would make it easier?)

And also, in addition to being able to filter before a certain Id, it would be helpful to be able to search after an Id. This could seriously reduce the am...

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

I'd like to add this reply to an issue I opened some time ago about the difference between the two syntaxes.

The ! denotes a member with a nickname and thus hints the notification server to fetch the nickname for rendering the notification. It's an optimization hint for the server and has mostly no different message rendering effect for clients. If possible, you should always use the second form for member...

chilly siloBOT
chilly siloBOT
#

I've seen regular server video work but not Go Live.. discord voice servers do not stop you if you end up sending the correct packets.. but aside from one actual screenshot that I didn't make, I did see lots of stuff debug information to know that discord does not indeed block these packets from reaching your client.. I was just too dumb and got a bunch of decoding errors instead. However, none of this is documented or supported at all, just thought I'd send this here

chilly siloBOT
chilly siloBOT
#

Due to the complexity of video (and oh boy is getting real time video right complicated.) We are deliberately not supporting video or go live for bots as we are actively refining the protocol. It is very much a moving target - unlike voice which is orders of magnitude more simple and stable. Video is an entirely different beast.

In simple terms, audio can be treated as fire and forget of opus frames enveloped in an RTC payload with the right encryption.

Video however is not that straightf...

chilly siloBOT
chilly siloBOT
#

<!--
/* Font Definitions /
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/
Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
code
{mso-style-priority:99;
font-family:"Courier New";}
.MsoChpDefault
{mso-style-type:export-only...

chilly siloBOT
#

Hi, I have a bot and I was working on a canvas but I encountered this bug, when I add a image inside the embed, when the image is like 16:9 it gets cut off, but that just when we visulaize it from mobile, from PC there is no problem but from mobile it gets cut off.i add also the photos( I just hided my name and tag) ad also sorry for my bad English
This is the full image
![IMG_20200822_203750](https://user-images.githubusercontent.com/67744123/90963404-9baa5180-e4b7-11ea-83e0-3002e3534b12...

chilly siloBOT
#

Guild roles are always provided in the guild's roles arrays and they are kept current by GUILD_ROLE_* events. With a fully operational gateway connection, there is rarely a need to fetch roles via HTTP. However, after the introduction of intents and stateless client behaviors, it is more likely that objects may become stale and need to be re-fetched via HTTP. With this in mind, I'd like to request that a "Get Guild Role" endpoint be added for fetching individual roles by ID, consistent wi...

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

"The 204 (No Content) status code indicates that the server has successfully fulfilled the request" as per RFC 7231 (Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content). Therefore someone would assume, the request invoked some kind of processing on the server-side.

I understand that a 404 may be used to indicate a missing guild member/role etc. but sending a 2xx status code for something that is definitely an error on the requesting side, there should be some kind of signal, tha...

#

9.1.2 Idempotent Methods

Methods can also have the property of "idempotence" in that (aside from error or expiration issues) the side-effects of N > 0 identical requests is the same as for a single request. The methods GET, HEAD, PUT and DELETE share this property. Also, the methods OPTIONS and TRACE SHOULD NOT have side effects, and so are inherently idempotent.

However, it is possible that a sequence of several requests is non- idempotent, even if all of the methods executed i...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

On the Get User API endpoint, it does give a lot of information about a user but maybe it would be even better if the response included something to tell if the user ID you gave was a bot account or an actual user, as well as if it's a verified bot.

https://discord.com/developers/docs/resources/user#get-user

It could look a bit like this:

{
  "id": "80351110224678912",
  "username": "Nelly",
  "discriminator": "1337",
  "avatar": "8342729096ea3675442027381ff50dfe",
  "bot": t...
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

static void UpdatePresence()
{
DiscordRichPresence discordPresence;
memset(&discordPresence, 0, sizeof(discordPresence));
discordPresence.state = "Playing RJ HOMETOWN";
discordPresence.details = "OFFICIAL SERVER";
discordPresence.startTimestamp = 1507665886;
discordPresence.endTimestamp = 1507665886;
discordPresence.largeImageText = "RJ";
discordPresence.smallImageText = "Rogue - Level 100";
discordPresence.partyId = "ae488379-351d-4a4f-ad32-2b9b0...

chilly siloBOT
#

I just want to make a quick note for all those struggling on iOS (like myself)
Discord seems to have problems with custom schemes (read: anything not http/s). When working with redirect URIs using libraries like OAuthSwift, it's better to have a custom domain redirect that sends the client back to your app. Even though Discord's online OAuth settings accept a custom scheme like myapp://authorize, you will get this same 'invalid redirect_uri' error.

Instead, the solution I ended up wit...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

@alokt The link for the API support server is https://discord.com/invite/discord-api.

That said, if you think your bot is banned, you should create a ticket at https://dis.gd/support asking for information on if the bot is banned and why. They should be able to look up info on what's happening, and help you figure out what's wrong. Though keep in mind that it may take some time (a few days) for them to respond.

I've also seen staff (who are usually marked with "Member" at the top-ri...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Why is this closed? At the moment, you offer bots partial boost monitoring functionality and a user full functionality. If you were concerned about users being unfairly targeted, that was a discussion for when you guys decided to give a system role, server notification, and a badge to users who boost, wasn't it?

The current implementation is as though someone did the work for users, and wandered off halfway through implementing it for bots.

chilly siloBOT
#

The documentation suggests that the response will be a null code:

code will be null if a vanity url for the guild is not set.

But from my testing you get a 404 with this error response:

{
  "message": "Invite code is either invalid or taken.",
  "code": 50020
}

The wording of that error makes it seem like this is a bug. If it isn't a bug it's definitely unintuitive and the docs should be adjusted.

Apparently, this seems to be null only when the guild can ...

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

I'm interested in retrieving a user's list of friends and their friends' Presence data over OAuth.
It looks like this capability is possible through the GameSDK (https://discord.com/developers/docs/game-sdk/relationships#relationships), but I think It would be great to provide the ability to access this information without needing to be associated with a game.
Ideally, this would be accessible from an endpoint: /users/@me/relationships.

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hello 👋

I was hoping to request a way to be able to determine the message author on Reaction Events. A lot of bots have features that work with reactions. In order to work some of these features only allow reactions to be on messages that the bot itself sent. This helps eliminate a ton of unnecessary reactions from hitting the DB and getting the settings related to the feature. However, this pushes the burden from calling the DB to calling the API eating up rate limit requests. I could el...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Just so you know: your code is specific to a language/library (I think djs) and thus are not HTTP requests.

The code I wrote is based on Discordeno library, but that is irrelevant. The code's purpose is to show the use case and effectiveness of my request, being that it could save a ton of API requests.

What they are asking for is to get more information than simply ids (see http://discord.dev/topics/gateway#message-reaction-add-message-reaction-add-event-fields)

Actually, I'm ju...

chilly siloBOT
#

Attaching a file (video) works. Cannot however link to it in the text since links to attachments are not supported. Tried setting the image: to the embedded video. Shows error (probably tries to display the video in an <img/>)
Bots and webhooks obviously can send videos, its just the block from using video in embed. Probably would be able to use attached file as video field, as is possible with thumbnail, author image, and image fields.

chilly siloBOT
chilly siloBOT
#

When i succesfully authorize using oauth2 i want to exchange the returned code for an access token in my backend application. Every time i do this it will end up with the following error: {"error": "invalid_request", "error_description": "Invalid "code" in request."}

Since 'm not debugging my framework (and dependencies) I tried to obtain an access token using curl; following the developers tutorial [here](https://discord.com/developers/docs/topics/oauth2#shared-resources-oauth2-urls...

chilly siloBOT
#

Okay, just after sending in the issue light shine upon me.

I figgured out that my controller function (that is triggered per the redirect_uri) will do a fetchUser() on the (Discord client) user provider. This in turn allready seems to use (in background) the code to fetch user information from the Discord API, and therefore, the code is not longer valid to use for obtaining the access token.

It would be nice to make an addition in the documentation that the returned code is only valid...

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

try to connect to the gateway via a websocket, if that works, its a problem of your side

How?

Just go to the discord's website (otherwise because of the CSP it wont let you create the websocket) open dev console and type this

const token = "YOUR TOKEN"

const ws = new WebSocket("wss://gateway.discord.gg/")

ws.onopen = () => ws.send(JSON.stringify({ op: 2, d: { token, properties: { $os: "win32", $browser: "browser", $device: "desktop"  } } }))

ws.onmessage = () ...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I have my own Discord bot (based on Discord.js). The problem is that this Discord receives messages with a delay of 2-6 seconds and accordingly has a very bad ping. I have already tested a lot and have come to the conclusion that this problem only occurs when I use the token from this bot. The same code with another token is working fine.
It seems as if the bot is being permanently throttled by Discord and messages are only received with a delay.
I am aware that there are rate limits. But t...

chilly siloBOT
chilly siloBOT
#

When you retrieve someone's snowflake with \@user and that person has a nickname on that server, you will receive 2 different snowflakes based on the device.
Example:

In both situations the user has a nickname:

On pc, if you get someone's snowflake it gives you (correct) On mobile, if you get someone's snowflake it gives you (incorrect)

This applies to both the Discord application and the api.

chilly siloBOT
#

@Sardonyx78 shoudn't you wait for gateway hello payload before sending identify? Also, doesn't the gateway use query params to specify the encoding and version?

const token = "YOUR TOKEN"

const ws = new WebSocket("wss://gateway.discord.gg/?v=6&encoding=json")

ws.onmessage = ({ data }) => {

      data = JSON.parse(data)

      
      if (data.op === 10) ws.send(JSON.stringify({ op: 2, d: { token, properties: { $os: "win32", $browser: "browser", $device: "desktop...
chilly siloBOT
chilly siloBOT
#

There are several Discord objects that are associated with guilds. Some (e.g. channels, webhooks, and invites) innately have a guild_id or guild.id property, but others (e.g. roles, emojis, and messages) do not. This is not an issue when these objects are received via gateway events because the missing guild_id either accompanies the payload (as with roles and emojis) or is injected into the object (as with messages). Via HTTP, this is not an issue for roles or emojis because you need p...

#

(said this in discord but commenting here so others can see)

max_video_channel_users was documented in #1512, and looks like it was marked as undefined because that was before the feature rolled out to all guilds, so it was undefined for some. idk if it can still be undefined

premium_subscription_count was documented in #960, maybe it is undefined in some cases or it was a mistake

(we should wait for staff to confirm)

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

I'm quite sure messages do...

Here is an example payload from the get channel message endpoint. No guild_id.

{
  "flags":0,
  "edited_timestamp":null,
  "id":"750771635031638096",
  "mention_roles":[],
  "pinned":false,
  "mentions":[],
  "embeds":[],
  "timestamp":"2020-09-02T17:38:26.454000+00:00",
  "content":"test",
  "channel_id":"381896832399310868",
  "attachments":[],
  "type":0,
  "mention_everyone":false,
  "tts":false,
  "author":{
    "discrim...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hello 👋

Bots currently have a limit of 8MB upload limit. But users can upload up to 100MB. I need to be able to re-upload a user-provided image and this works for the most part but when a nitro user uploads an image that is too large it throws an error. Trying to deal with the headaches of compressing images before sending it is not something fun to do.

Use Case:

image

The...

chilly siloBOT
#

@MinnDevelopment I think sharing user content with third parties opens a whole other can of worms especially dealing with the legal ramifications that are best avoided when possible and much better to keep the content with Discord which the users themself intended.

I don't have an issue with it being available to all bots. I can however understand why it would be restricted to prevent every single bot from uploading 100MB requests. This is why I gave a possible solution to this is to allow...

#

If users understand that the image that they are uploading is going to be used elsewhere as shown to a number of people then what legal ramifications are you worried about? Uploading to a private folder with image hosts shouldn’t be a big issue. You could use Imgur with private folders only the devs have access to.

And like stated previously what is stopping you from using the url to the attachment from the user??

chilly siloBOT
#

@Lilwiggy#6969 I've left a message answering your question about the legal aspect on DDevs server as i don't think we should clutter this issue request for it. This is about whether bots can be given a higher limit not the legalities of sharing to third parties.

In regards to your other question:

And like stated previously what is stopping you from using the url to the attachment from the user??

From original post:

The reason that the bot needs to re-upload is that server owners...

chilly siloBOT
chilly siloBOT
#

@LikeLakers2 That's exactly what I am doing atm. I tell them to either use a smaller image or upload it to a DM with the bot and copy the link from that message. I don't recommend them going off platform though.

The main reason I ask for this request is user experience. It kind of sucks that the only users who have this problem are those who love and support Discord with Nitro. I actually give VIP features/access to users with nitro. My bot's entire VIP aspect is about encouraging users t...

chilly siloBOT
#

I apologize if this is the wrong place for this. I'm new to discord and have been setting up permissions and I'm wondering why @everyone permissions override other permissions since @everyone is the lowest permission level. For example. Turning off everything in @everyone requires that you must turn on @higher settings for catagory/channel in order for @higher role to work. Here is an example.

Roles:
@everyone - everything off.
@higher - allows members to see channels.

Catagory:
Test...

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

those are distinct topics all covered in the docs

api refers to just interacting with the api with a bot token, this is what bots do so can be used pretty interchangeably with "chatbot" (tough note getting events like messages goes over the gateway websocket connection, this is not required to use the REST api, some routes also requiring having connected once)

gamesdk is for integrating your games with discord, you can do things like rich presence, making lobbies and more with them.
...

chilly siloBOT
#

Hi
I learning Discord Game SDK, and I added it for my test project (c++). SDK work beautiful, but I noticed that it crashed (process finished with exit code 1) if Discord not launched. How I can catch it? It crashing in file "core.cpp" on line:
auto result = DiscordCreate(DISCORD_VERSION, &params, &((*instance)->internal_));

How should I handle this event correctly without crash?

chilly siloBOT
#

https://support.discord.com/hc/en-us/articles/214836687-Role-Management-101

Important note on adding roles: the @everyone role now serves as the basic template for all added roles. Want anyone in your server to add channels as they want? Assigning "Manage Channels" to @everyone will automatically grant that permission to all other roles created. Any role assigned to @everyone will be universal, regardless of assignment in higher roles.

Everyone has the @everyone role, so any permissio...

#

Discord only has a concept of denying permissions in channel/category overwrites (when you set to ❌); in server-wide role permissions, each permissions only has a switch for on or off, and if any of a user's roles has the permission set to on, then they have that permission.

In channel overwrites, anything set to ✔ overrides everything else; you should only use that if needed, and leave everything as / by default.

Also, any future changes done to permissions would need to be fully b...

chilly siloBOT
#

Thanks for the responses. Just to clarify and simplify. My question is I have set OFF for Read Text Channels & See Voice Channels channels for role @everyone but ON for @higher and then set the channel permissions so @everyone and @higher are all /. The problem I'm seeing is a user with @higher cannot Read Text Channels & See Voice Channels until I set the channel permission for @higher to ✔ even those it is explicitly set in the @higher role in System Settings.

If I understand correctly t...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Actual Request

POST /api/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: Basic [REDACTED]
Accept: */*
User-Agent: Example (https://example.com/, 0.1)
Host: discord.com
Content-Length: 29

grant_type=client_credentials

Expected Response

HTTP 200 with access token object

Actual Response

HTTP/1.1 500 Internal Server Error
Date: Mon, 07 Sep 2020 05:25:29 GMT
Content-Type: application/json
Content-Length: 52
Connecti...
#

Working Case

When at least one scope is supplied...

Request

POST /api/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: Basic [REDACTED]
Accept: */*
User-Agent: Example (https://example.com/, 0.1)
Host: discord.com
Content-Length: 44

grant_type=client_credentials&scope=identify

Response

HTTP/1.1 200 OK
Date: Mon, 07 Sep 2020 06:13:38 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: keep...
chilly siloBOT
#

أرسل Khalid إليك رسالة إلكترونية في وضع الحفاظ على السرّية في Gmail:

[image: شعار Gmail]Re: [discord/discord-api-docs] OAuth 2: Client Credential Grant process responds HTTP 500 if no scope is supplied (#2049) https://confidential-mail.google.com/msg/AA12eChbRO-4gLTGJRGX6UgJoswxcdtAgpzFdkbGwNtg4lP5fe64bne8mrdViCJiWZflUhJjRAeODIjCFzOY9qf9PGzUvstoruT2M_04ZrGx7UiiRpHcy2l-Hfnct4Egz56upLJZmxk_6pZi13T__ILVZonev9oaCAvUdumgKDOQPvxX23UYRtHOxcpS42exTZyo8vfPFknjBQ==

تم إرسال هذه الرسالة يوم 07‏/09‏...

chilly siloBOT
#

Actual Request

POST /api/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: Basic [REDACTED]
Accept: */*
User-Agent: Example (https://example.com/, 0.1)
Host: discord.com
Content-Length: 29

grant_type=client_credentials

Expected Response

HTTP 200 with access token object

Actual Response

HTTP/1.1 500 Internal Server Error
Date: Mon, 07 Sep 2020 05:25:29 GMT
Content-Type: appl...
chilly siloBOT
#

I overlooked a solution to this issue. You can maintain a mapping of known channel IDs to guild IDs. If an unknown channel ID is encountered, you can request the channel object once to get the guild ID and store the association. Future encounters could skip the request and use the cached association, and the entire channel does not have to be cached, if that's your goal. Maybe not ideal, but it's a decent compromise.

chilly siloBOT
#

Not sure if I'm reporting this in the right place, but ran into trouble with discord.js running in the browser. Simple reproduction steps follow...

This works as expected:

TOKEN="..."
curl -D - \
  -H "Authorization: Bot $TOKEN" \
  -H "Origin: http://localhost:3000" \
  https://discord.com/api/v7/gateway/bot

This does not work, it returns error code "1020", which doesn't appear to have any documentation.

TOKEN="..."
curl -D - \
  -H "Authorization: Bot $TOKEN" \
...
#

This would be great for two reasons in my case.

  1. We have a news channel that posts notifications of changelogs for a game, they are already hand edited and repaired… for the news to be useful it needs to be fresh. Any delays devalue the news.
  2. Timed announcements, sometimes it's useful to be able to have a post go out at a certain time.

Kinda feels like it defeats the purpose tbh. I think the philosophy here is a bit backwards.

chilly siloBOT
chilly siloBOT
#

Currently, attempting to delete a managed role for a bot results in error 50028 Invalid Role. While it makes sense that twitch/yt integration and booster roles can't be deleted, bot managed roles are annoying and result in a lot of clutter.

With the addition of role.tags, bot roles can be distinguished by other managed roles, so it would be very useful to be able to delete them without allowing deleting of other managed roles.

I currently don't include permissions in my bots' add links,...

chilly siloBOT
#

I'm not a fan of this idea for several reasons:

  1. It adds an inconsistency and another layer of checking when a bot manages a role, you have to check for managed and now you have to check for tags too.
  2. It's a breaking change because previous requests that would fail now don't fail.
  3. You can already not get a managed bot role by unticking everything in the bot page.
  4. This seems better off as a feature request to improve the UI in the add bot page to make the above more clear,...
chilly siloBOT
#

I'm just getting started writing a Discord bot and I am gettin this error.
Here is the code.

import discord

token=""
client=discord.Client()
client.run(token)

Below is the stack trace.

Traceback (most recent call last):
  File "FireGH.py", line 5, in 
    client.run(token)
  File "C:\Users\Jonathan\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra8p0\LocalCache\local-packages\Python38\site-packages\discord\client.py", line 678, in run
    ...
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hello!

Currently, in Gateway v6, the GUILD_CREATE payload will not include a filled members array if you don't specify GUILD_MEMBERS and GUILD_PRESENCES (of course, with having the intents already allowed and enabled on your app)

My question to you is why? presences and members are separate properties in the GUILD_CREATE payload, and if I specify GUILD_MEMBERS, my intent is to receive the member list instead of having to do an extra request PER GUILD, PER shard (that is n OP...

chilly siloBOT
#

My guild recently hit 500 users and we activated server insights (pretty excitedly) and have since been greeted with a whole lot of "no data" despite having insights definitely enabled. In fact, I have a second server that reached 500 a while back and enabled insights there too and have no trouble viewing them.

Am I missing something? Or is this a bug? I can provide the guild IDs if necessary but I didn't want to just post them willy nilly.

Appreciate it y'all!

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

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

My use case is - I'd like to auto-assign a role based on the invite link. I see that there is an open feature request already: #448
However, it's several years old, and it is locked for feedback.
There is a bot that uses a very unreliable approach: when a user joins, it gets the invites list and keeps track of which was incremented. But this won't work if there are multiple users joining, it is impossible now to figure out which invite link has been used.
I really think this is a useful sc...

chilly siloBOT
#

I already contact them they respond was
“Thanks so much for sending those IDs! I’ve shared that information with our engineering team to further our investigation along. Sadly, we don’t have an ETA for when this issue will be fixed, but rest assured that I’ll get back to you once a fix has been rolled out.

In the meantime, please don’t hesitate to let me know if you have any other questions or concerns.

Best”

And nothing happened till now

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Hello,
while writing a bot I found that when I try to read a multiline string via *args I get diffferent parsings of the newline delimiter depending on whether the triggering message has a picture attached.
For :
!command "This
multiline
string"

without attachement:
["This\nmultiline\nstring"]

with attachement:
["This\r\nmultiline\r\nstring"]

I can't really see where this comes from or what it's supposed to do, so may this be a bug?

chilly siloBOT
chilly siloBOT
#

The documentation is accurate. You can specify form fields as multipart form data too, but nested data structures like embeds are unsupported without using payload_json. While you can technically use any key as a file due to how werkzeug handles multipart files, only 1 file (at key file) is supported officially. Any usage not documented unsupported and could break in the future.

#

You can use attachments for images in embeds. Since you can set multiple images in an embed, it would make sense to also support sending multiple attachments officially. This is currently possible already, but not officially supported.

In the same breath, it could also be officially supported to set multiple images in one embed like used in twitter embeds. This also already possible but not officially supported.

chilly siloBOT
chilly siloBOT
#

I'm sorry if it is not right site for this problem, i have no exp with this.
There is a channel which @everyone can not see, only 3 roles are allowed to see or write in it. But there is a bug which shows user the channel even if he has a higher role(banned) that removes the permission to see it. So if a member has a role higher(banned) than 3 mentioned above and has one of the 3 roles, than he will still be able to see the channel even if he shouldn't.
![1](https://user-images.githubusercon...

chilly siloBOT
#

Currently, in order to use response_type=code with the bot scope and receive the guild you joined, you need to enable "REQUIRES OAUTH2 CODE GRANT" in the bot's dashboard.

I'd like to be able to know that a user added my bot to their server so I can tell them in the browser if there's some configuration they might want to do/the bot's missing some permissions (the permissions int is not enough for my purposes).

I do not mind if a user chooses to modify the URL to skip the code respo...

#
chilly siloBOT
#

Using the discord.py library, I was writing a bot to create channels, and wanted the channels to be created in a specific position, however when passing a position argument into the method call for creating a text channel, the channel would often be created in the wrong position. Occasionally, it works, but it usually doesn't. Editing the position of the channel with another POST through the library does affect the position of the channel.

I already submitted an issue to discord.py about t...

chilly siloBOT
#

Hey, so there is this dot email bug which lets users create so many verified fake discord accounts with just one email. For example, let's say my email is example@gmail.com. So what the dot trick does is, it makes a fake Gmail id (like e.xa.m.p.le@gmail.com) so when we use the fake ID, the verification email is delivered to the original mail (example@gmail.com). With this, now more people are making fake accounts and are raiding discord servers. By fixing this, we can stop the major of the di...

chilly siloBOT
#

Requiring OAuth2 code grant just requires the bot to use the full grant mode, but you are always optionally able to use the full grant even if it's not required. The only difference is that adding a bot with full grant required moves the bot joining until after token grant. Without it being required, we do not have guild information to provide you in the token response as it happened before token grant.

#

How are we able to use the guild id in the query string in a secure way, as our backend has no way of knowing if a request with that guild id is authorised to retrieve full information on that guild?

Currently, it seems that parameter is all but useless as there's no secure way to cross check on a backend that a browser/user was indeed the one to add a bot to a guild.

chilly siloBOT
chilly siloBOT
#

So this bug is there for over a year. Discord App is impossible to install on Windows 10 for some reason. There isn't a fix for it till today.

Setup Error Log :

14324> 2020-01-13 14:00:06> Program: Starting Squirrel Updater: --install .
14324> 2020-01-13 14:00:06> Program: Starting install, writing to C:\Users\ADMIN\AppData\Local\SquirrelTemp
14324> 2020-01-13 14:00:06> Program: About to install to: C:\Users\ADMIN\AppData\Local\Discord
14324> 2020-01-13 14:00:06> SingleGlobalInstance...

chilly siloBOT
chilly siloBOT
#

for a few days I was talking with but friends and all of a sudden all the microphone of the voc beug but when I say beug it's we hear nothing there we write in mp we say what's going on and the microphone comes back I don't know if it's a beug or something else and for info our microphones work very well all of a sudden it cut We haven't understood what happens if you have a solution for it and I don't know if it will start again. #1817

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description

Prevent web hooks from using external emojis and prevent bots from reacting with them (maybe if the server doesn’t have any nitro boosts or smth). This will stop non-nitro users from abusing the API and gaining an unfair advantage using bots like Not Quite Nitro to get nitro perks.

This feature request is basically blocking bots and webhooks from using external or animated emojis and reacting with then unless the server in question has nitro boosts or the bot dev...

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

Dear Taarek,

thanks for the link.
so far my requset looks this way:

 bot.login("NzU1MzIxMDc1Nzg0NjEzOTI4.X2BlkQ.NM16N7hOajUhqca9FPdSvbxgGs4")

You said I have to add user-agent, I read in the article that it has to look like that User-Agent: DiscordBot ($url, $versionNumber).

Could you please tell me how my final request should look like? an array or object?
I suppose the url I just need to take from the url bar, but where am I to find versionNumber?

Looking forward to ...

chilly siloBOT
#

You need to follow this https://discord.com/developers/docs/reference#user-agent otherwise Discord/CloudFlare might deny your request(s).

Dear Taarek,

thanks for the link.
so far my requset looks this way:

bot.login("NzU1MzIxMDc1Nzg0NjEzOTI4.X2BlkQ.NM16N7hOajUhqca9FPdSvbxgGs4")
You said I have to add user-agent, I read in the article that it has to look like that User-Agent: DiscordBot ($url, $versionNumber).

(the token has been changed)
Could you please tell me how my final...

chilly siloBOT
chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
Hey, so I made a bug report about this on your bug testers server, however they told me to email Technical Support about this issue, then Technical Support told me to make a bug report on here. So here we are.

To get to the point. Memuplay is an android emulator, it is mostly used for playing phone games on your computer.

However, when you have the Memuplay emulator open, and you live-stream it with Discord by selecting the application to stream (in a Server Voice C...

#

I would go back in there and check with them. However the bot appears to be bugged and says I need a tiered role to use any command except for !quiz. And when I use !quiz all it tells me is that I have completed the quiz.

Here is the reply I got after submitting the bug on the Discord Bug Testers server. https://prnt.sc/uir6ok

Here is the email I received when I made a support ticket. https://prnt.sc/uir5vo

chilly siloBOT
#

Our support team has unfortunately made a mistake in directing you here. This is not an API issue, but rather it sounds like an incompatibility between Discord's screenshare hook (which captures video and audio) and this application. Support is normally able escalate this behavior back to the correct team internally. I pinged someone on our support team about your ticket, but since it is after hours it will likely be a bit until they get back to you. Sorry for all the run around on this!

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

There was a discussion in DDevs a while ago, someone mentioned that removing sync access broke their bot, night said that they updated integration endpoints so bots can now only manage their own integration, but they would look into the sync issue more

To be honest "manage their own integration" seems a bit misleading based on the fact that from testing this only seems to apply to the delete guild integration endpoint (which will return a 403 with the message "Missing Access" if ...

chilly siloBOT
#

Description
In the audit log entry object in API v8, the type of a channel permission overwrite is a number inside a string ("1") instead of just a number (1)

In API v6, it is either "member" or "role"

Steps to Reproduce

  1. Update a channel permission overwrite
  2. GET /api/v8/guilds/:id/audit-logs

Expected Behavior
The type is just a number (like 1), as it is in /api/v8/channels/:id

Current Behavior
The type is a number in a string (like `"...

chilly siloBOT
chilly siloBOT
#

Description

The afk_channel_id and system_channel_id parameters should be integers instead of snowflakes in the Create Guild (POST /guilds) endpoint. Like parent_id, it can accept an integer ID of a channel specified in channels.

Using an integer works:

> curl https://discord.com/api/v7/guilds \
  -X POST \
  -H "Authorization: Bot $TOKEN" \
  -H 'Content-Type: application/json' \
  -d '{"name": "name", "channels": [{"name": "system-channel", "id": 0}, {"name":...
chilly siloBOT
#

Description
The Audit log should display when a user published a message in a news channel.

The message could be something like {user} published a message in {channel} and show details such as the content of the message.

Why This is Needed
Publishing news is imo an important thing to log. That way can a mod know who posted what message towards other channels.
This could also help finding a rogue mod/bot who publishes news, that aren't meant to be published towards other ser...

#

The integer error suggested by OP makes sense here.

When using the channels parameter, the id field within each channel object may be set to an integer placeholder, and will be replaced by the API upon consumption. (from the guild create endpoint docs)

Since this is a new guild creation, the only way for there to be a channel ID is through adding it to the channels array with an integer placeholder. This would mean it is not a snowflake.

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

These fields aren't snowflakes though

When using the roles parameter, the required id field within each role object is an integer placeholder, and will be replaced by the API upon consumption. Its purpose is to allow you to overwrite a role's permissions in a channel when also passing in channels with the channels array.

According to docs, snowflakes are a specific id format;
snowflakes are used for real channel ids, but...

chilly siloBOT
#

Ok, I guess that's fair. I just realised that supplying an invalid integer for id in channels also returns the error Value "something" is not snowflake, so I agree with @xaanit and I think the error message shouldn't be changed to say consistent.

However, I think that the documentation should be changed to integer, or at least clarify that an integer can be used for the following:

  • afk_channel_id
  • system_channel_id
  • id in channels
  • id in roles
  • id in `permis...
chilly siloBOT
#

Description

I was doing some memory optimizations on my library when I found what appeared to be a memory leak. Debugging it further, I realized it was caused by a guild that has almost 2K roles. I thought the limit was 250.

Note: I've also tested and confirmed this bug using other libraries as well so its not my library code bug (Discordeno, Eris, Discord.JS)

Steps to Reproduce

Check the roles on Guild: 726845521569775727
There are lots of guilds this occurs o...

chilly siloBOT
chilly siloBOT
#

Description
Hello, I would like, instead of returning the number of members that will be kicked, that the api gives us the members that will get kicked.

Why This is Needed

There is many things that could be possible with this:

  • Sending a message to each member that will get pruned with a permanent invite link to the server, so when they'll return from their inactive period, they can re join the server

  • Renaming every inactive person with [AFK]

  • Re...

chilly siloBOT
chilly siloBOT
#

Sending a message to each member that will get pruned with a permanent invite link to the server, so when they'll return from their inactive period, they can re join the server

This would be nicely solved if Discord had support for kick/ban messages. This is an old and popular feature request, but we don't have it yet.

Renaming every inactive person with [AFK]

This isn't to...

chilly siloBOT
#

@rxdn Yep. This specifically won't crash my bot. But i know a lot of devs who start coding their bots with about 1GB of ram on their vps as thats the cheapest model. Then it comes down to a matter of whether someone wants to abuse this. 2k role guild isn't bad but the problem is this is an uncontrolled ability to create roles. Eventually, your gonna have so many roles eating up memory. Thankfully this is not a huge issue as roles are relatively very small amount of memory. However, i still be...

#

@rxdn Yep. This specifically won't crash my bot. But i know a lot of devs who start coding their bots with about 1GB of ram on their vps as thats the cheapest model. Then it comes down to a matter of whether someone wants to abuse this. 2k role guild isn't bad but the problem is this is an uncontrolled ability to create roles. Eventually, your gonna have so many roles eating up memory. Thankfully this is not a huge issue as roles are relatively very small amount of memory. However, i still ...

chilly siloBOT
#

The problem is not having more than 250 bots. The problem is roles. You can invite bots without custom roles for them.

This isn't about managing memory or LRU cache. A complex attempt/solution to fixing something that Discord has a set limit of 250 for is silly. The fact is there is a bug that is allowing the documented limit of 250 max roles to be broken. This needs fixing.

Doesn't change the fact that the root of the issue is bot farms, not that integrations can cause >250 roles...

chilly siloBOT
#

According to #1528 and #1990, there may soon be a limit to the number of integrations/bots.

If caching every role is problematic, then just don't do it, and make a request for the roles when you need them. I have a request open for fetching one role at #1997 which might be helpful. Or if it's your library you're concerned about, maybe set a default limit to 250 and provide an option for users to change that.

#

I think you guys are missing the issue. A limit of bots on a server wont solve this. Even if there was a limit of 50 bots. You could create 250 roles and add 50 bots roles which make it bugged again.

Either the documentation is wrong and needs to be adjusted saying that there can be unlimited amount of roles in a server. Or this needs to be fixed preventing this bug of having >250 roles in a server. Moving the problem of eating up cache to eating up rate limits from fetching roles when nee...

chilly siloBOT
#

Description

The owners of a bot, and the owner of the team (possibly team members as well) should be able to add bots they own to servers they're in without having to enter a captcha to complete the oauth process.

Why This is Needed

When testing events such as on join/kick/ban, or joining a new server, it is often required to repeatedly invite a bot to a server to test code functionality. Often this happens very often in a short period of time. As an anecdote, I've cr...

chilly siloBOT
chilly siloBOT
chilly siloBOT
#

Description
Increase the per-channel webhook limit of 10, or make separate limits for Incoming and Channel Following webhooks.

Why This is Needed
In the past, the 10 webhook limit was sufficient. However, with Channel Following which uses a unique webhook for every followed channel, 10 is often not enough. Channels often follow many announcement channels, and it can impact bots' ability to use webhooks in them.

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

I know this is outside the scope of this PR, but I may as well ask here while on the topic of documenting new functionality.

Are there any plans to look into the voice API any time soon as part of these changes?

Namely details like how no port is documented to be sent on the endpoint but you still send us port 80 in the URI (even though we have to actually use port 443); how to receive audio (you say that we can receive audio but not how to do that), etc? Or is it better to just not use...

chilly siloBOT
#

could we possibly document the payloads you receive as part of a channel as examples per channel rather than a single thing?

Each type of channel has a different shape, and it would be nicer to be able to just know what you define as being expected on each type of channel rather than having to trial-and-error to work this out, especially if you are a library dev, as this affects the shape of the models you make.

chilly siloBOT
#

While some JSON parsers themselves might be able to automatically detect the numeric type, it is still incredibly helpful for library/bot devs to know which fields are integers and which are floats without having to manually inspect every possible response body. This is especially important for more strictly typed languages. The JSON parser is only a small part of the entire library/bot.

chilly siloBOT
chilly siloBOT
#

I guess my point was worded poorly; my mistake.

I was more getting at the point that perhaps this should just be documented as being a numeric value with a fractional part, not an or. Especially in static typed languages where integral types are treated as primitives, it probably is a bit silly to suggest that you have to implement a case that handles an integer type in this field and a case that handles a floating point type in this field. Especially when 1.0 would have the same meani...

#

I think you can safely imply millisecond precision is what the precision is in the response if it is a fractional value, unless you have access to a network that has latency of less than 1 millisecond to Discord.

Even in that case, rounding up to 1ms on a rate limit shouldn't harm you, unless you are excessively spamming the API to the point that this becomes an issue for you (which would possibly question what you are trying to do to it in the first place).

chilly siloBOT
#

^^ v7 too.

Technically v7 isn't released as they have said. The whole point of it was for it to be a development preview, so I don't know if there is any expectation that they will provide a deprecation period for undocumented behavior.

They'll probably do what they do with v6, but there isn't technically any reason to be using v7 other than for testing (so not in a production environment). I think there is just the unfortunate issue that a number of libraries made the choice to use t...

chilly siloBOT
chilly siloBOT
#

Description

This is not a request to add custom status for bots.

Bots are capable of setting a custom status in their presence -- both via IDENTIFY and STATUS_UPDATE -- but this is not reflected in the client, nor is a PRESENCE_UPDATE event emitted. However, requesting guild members + presences with OP 8 (request guild members) will show that the custom status has actually been set. As would be expected, this is not persisted across sessions.

Steps to Reproduce

Thi...

#

all activity types are intentionally allowed, it does show in the client: in the full profile, it has the CUSTOM STATUS header. it just doesn't show any useful information because neither state nor emoji is sent (because bots can't send them). sending this "empty" custom status was also possible via the client yesterday due to the API not supporting new emoji.

the only reason bots can't set custom status is that they can currently only send name, type, and url, which cannot make ...

chilly siloBOT
#

Description

The existing documentation for the attachment:// protocol for embed images only vaguely hints towards how it is supposed to be used, with no guidance on how to actually normalize filenames for this protocol.

Why This is Needed

The existing documentation here shows only an example with no explanation (attachment://filename.png).

This results in many us...

#

This PR changes many instances of the word "whitelist" in the documentation with more inclusive words such as allowlist and delimited. There are some instances where "allowlist" seems out of place, but I couldn't quite put my finger on a better replacement - any reviews addressing this would be greatly appreciated.

There are some things I couldn't quite change here due to dependencies that I cannot or should not change:

  • instances of "whitelist" in the Changelog file
  • "whitespace...
#

While I don't personally believe that "white space" correlates directly to how we use "whitespace" today, if we're going to change the word (as it seems is an increasingly popular move), some reasonable discussion is important to have before outright making the change to the first-proposed solution. The conversation in the API server on Discord is pretty intense right now but it seems that the change is something that for-sure will happen — so let's talk about the alternatives that are av...

chilly siloBOT
#

correlating the the notion or idea of "blank" or "nothingness" — as in a blank sheet of paper. In the same vein of thought, the most reasonable replacement in my opinion would be "blank space."

Of course, please feel free to tack on your opinions, but that's my input. ¯_(ツ)_/¯

You are correct. Using inclusive language does not mean that the documentation is less clear, or the writing less helpful. It should not mean that because it does not inherently mean that. That's why making...

chilly siloBOT
#

https://github.com/github/renaming

If you haven’t renamed your default branch yet, consider waiting until later this year. We’re investing in tools to make renaming the default branch of an existing repository a seamless experience for both maintainers and contributors.

This is great. I did not know about this, but yes, we should also move from master to main. This repo doesn't have quite as many active PRs and whatnot to cause too much headache if we were to manually swap, ...

#

Are you bulk DMing people for this to happen or is it just a really big bot that responds to help commands in DMs or something, if you don't mind me asking?

My bot is in about 550k servers. Trust me, I'm familar with the discord api and the (API) ToS.
Some features which send DM messages:

  • Reminders
  • Reaction-Roles (DM confirmation after role (un)assignment)
  • Lottery Results
  • Help Messages
  • Vote Reminders
  • Vote Messages (after a successful vote you'll get a DM confirmation, ...