是否可以使用我的机器人在 discord.py 中附加大于 150Mb 的文件
Posted
技术标签:
【中文标题】是否可以使用我的机器人在 discord.py 中附加大于 150Mb 的文件【英文标题】:Is it possible to attach a file bigger than 150Mb in discord.py using my bot 【发布时间】:2021-02-25 22:11:36 【问题描述】:我是 discord.py 的新手,因此我试图了解它是如何工作的 好奇我们是否可以通过机器人发送大文件 我可以发送小于 8Mb 的文件,但对于较大的文件会显示错误
discord.ext.commands.errors.CommandInvokeError:命令引发异常:HTTPException:413 Payload Too Large(错误代码:40005):请求实体太大
有没有办法解决这个问题?
【问题讨论】:
【参考方案1】:这个错误是由于 Discord 自身的文件上传限制造成的。
作为普通用户或机器人,您最多只能上传 8MB 的文件。 如果您使用的服务器提升到了 2 级,您可以上传最多 50MB 的文件,即使使用您的机器人(我自己已经测试过)。如您所知,上述情况均不允许您上传大于 150MB 的文件,因此如果您想上传文件,则需要减小文件大小。你可以做以下两件事之一:
-
尝试捕获
Payload Too Large
异常,然后忽略上传过大的文件
如果文件太大并且是图像,请使用 PIL 将文件大小减小到 8MB(或 50MB 对于增强型服务器)。这个问题是一个很好的起点How to reduce the image file size using PIL
【讨论】:
从技术上讲,有一个选项 3;将文件上传到外部服务并链接。 是的,这绝对是另一种选择。如果是图像,imgur 可能会起作用。如果没有,dropbox 或 mega 可能会工作(假设它们都有您可以从 python 使用的 API)。 有什么办法可以减小视频文件的文件大小?我实际上希望机器人从某个 url 下载视频,然后将其发布到我的服务器中,但我没有任何方法可以将视频文件大小减少到 8Mb 或更小,而不是降低质量 我怀疑有没有一种方法可以将 150MB 的视频减少到 8MB 而不会显着降低质量。您最好只发布 URL。如果它是 mp4 的直接 URL,Discord 应该正确嵌入它,但 Discord 并不总是能很好地自动嵌入 @pigeonburger 查看编辑。遗憾的是,它不适用于您的机器人以上是关于是否可以使用我的机器人在 discord.py 中附加大于 150Mb 的文件的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在 discord.py 中为不同的前缀使用不同的命令?
您能否确定是不是可以使用 discord.py 直接向用户发送消息?