discord / discord-api-docs

Official Discord API Documentation
https://discord.com/developers/docs/intro
Other
5.99k stars 1.26k forks source link

Raise Bots Upload Limits #2037

Closed Skillz4Killz closed 3 years ago

Skillz4Killz commented 4 years ago

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 reason that the bot needs to re-upload is that server owners wish to have the messages users send to create the message be deleted and sent in a clean way.

I was hoping to request the ability to have that limit raised for bots. I can understand why it would be wise to limit this higher limit only to verified bots to prevent abuse/spam of large sizes.

EDIT: Another idea that came to me is to have this as another whitelisted part. Bots who need this higher limit can request it and if the use case is valid and Discord approves they can be given a higher limit.

MinnDevelopment commented 4 years ago

Upload your images to a pomf host? The embed uses URLs anyway so I don't see why you need to upload them to discord. Locking limits or features behind verification is not something I want to really see in the API. Making unverified hobby bots second class citizens sounds like a bad path to take.

Rapptz commented 4 years ago

I'd like to mention that just like users, bot's upload limit depends on the boosting status of the server so it's not strictly 8MB.

Skillz4Killz commented 4 years ago

@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 verified bots who are as stated by discord " a trusted bot partner." There is a well-established practice of giving certain bots access to higher limits for example bigger bots get higher rate limits. This isn't taking away a feature from unverified bots, it's just giving them a lower limit(the same limit they currently have). But I think the blog post says it best:

Verification is a big step in the world of Discord bots. It’s the secure foundation we need to unlock new features and visibility for developers. Verification means that we can release features that give developers more control over Discord.

That said, I really don't have an issue with Discord raising the limit to all bots. But if that is a concern, then a possible solution is to support larger bots with a higher upload limit.

@Rapptz You are right, but that does not stop nitro users from not uploading higher size images on non-boosted servers.

Lilwiggy commented 4 years ago

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??

Skillz4Killz commented 4 years ago

@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 wish to have the messages users send to create the message be deleted and sent in a clean way.

LikeLakers2 commented 4 years ago

If you don't mind me asking -- what's stopping you from just implementing a 8MB limit on uploads that the bot will take? Beyond 8MB, the bot could recommend that they upload the image(s) to imgur, and provide the bot with the relevant imgur link.

Skillz4Killz commented 4 years ago

@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 to have nitro. Why do they have to take extra steps because they support Discord? That should not be happening.

So, why shouldn't bots be able to request a higher upload limit the same way as if they need a higher rate limit? I figure the easiest solution to implement is a simple conditional check if a bot is verified because verified bots signifies that they are most likely operating at scale in a relatively safe and secure way. This can be automated but if necessary it can also be done manually by a similar system when bots need to request higher rate limits. The method of implementation of a higher limit is up to Discord, I just hope there is a way to raise bot upload limits.

EmanueleSpadaro commented 4 years ago

As far as I know, Discord Bots were able to upload larger files previously, but a funny guy decided to develop a so called "Upload Bot" to let people avoid their free Discord account upload limitations. Honestly, I think 8MB isn't bad at all, why don't you embed the image sent by the user using its cdn.discordapp.com link?

Skillz4Killz commented 4 years ago

@EmanueleS2 Once a message is deleted the cdn link no longer works.

From my original post:

The reason that the bot needs to re-upload is that server owners wish to have the messages users send to create the message be deleted and sent in a clean way.

LoSunny commented 3 years ago

If the server boost raises the server level to allow all members to upload larger files, are bots also allowed to upload larger files in that specific server?

advaith1 commented 3 years ago

yes

lever1209 commented 3 years ago

i have this problem also, i made an unconventional command that allows users to upload code in .java files to add to the bot, and yes, i read before i add it, but the bot is open source and i added a way to download .java files also, the bot cant upload any source thats over 8mb in size, the command also allows for storing up to 10mb in other types of files per user, zips are denied due to zip bombs, and sometimes a user uploads a file over 8mb and might want it back, so they cant get it

maybe if someone on the applications team has nitro the bot can get up to 100mb?

OoLunar commented 3 years ago

maybe if someone on the applications team has nitro the bot can get up to 100mb?

But then the funny guy who created the upload bot will be back... I personally think verified bots should get higher upload limits, as the bot is trusted by Discord.

OoLunar commented 3 years ago

Since my last comment was disliked in such a short amount of time, here's two other suggestions:

  1. Bump the bot max upload size to 50mb. This is the same max upload size as Nitro Classic. While this doesn't solve the entire issue for Nitro users, this does help the Nitro Classic group. In reality, who uploads 100mb files? The only real answer I can think of is just uploading game ISO's.
  2. Bot file upload quota. Each bot gets 10GB of file uploads per guild. If the guild is boosted, so is the quota. Sure, it'd be a pain to implement, but it's a solution.
AL1L commented 3 years ago

If nothing else, maybe have a way for developers to request an increased upload limit. Maybe you could try emailing discord support for it to be raised for you specifically?

OoLunar commented 3 years ago

Well that just sounds like special privileges... I don't think Discord wants to manage custom rate limits for individual bots either...

night commented 3 years ago

Discord is not intended to be a file host, and it is not clear how larger attachments would be used. Bots do get increased upload limits in guilds which have increased server boost level, but we do not have plans to increase the upload limits for bots at this time.

AL1L commented 3 years ago

Well that just sounds like special privileges... I don't think Discord wants to manage custom rate limits for individual bots either...

@OoLunar except that Discord already has systems in place to raise the rate limits for other endpoints on an application or guild basis. This probably wouldn't be much harder

advaith1 commented 3 years ago

Discord can only raise the global ratelimit per bot, not per-route ratelimits.

AL1L commented 3 years ago

Discord can only raise the global ratelimit per bot, not per-route ratelimits.

That's a bold statement, considering Discord made the app and API, they can do whatever they want.

advaith1 commented 3 years ago

https://discord.com/channels/613425648685547541/697489244649816084/780899689037824041

The only thing that helps with rate limits on a specific endpoint would be raising limits on that specific endpoint, which we can't do :/ Not even a "won't" do, like do not have the technical capability to do

Happyllama25 commented 1 year ago

Now that the default upload size is 25 MB, I assume this has been given to bots too?

advaith1 commented 1 year ago

yes, the docs were updated in #6078