【发布时间】:2022-04-17 22:01:20
【问题描述】:
我正在创建一个机器人来从不和谐的频道中抓取图像。图片有两种方式:
1) 链接如:https://cdn.discordapp.com/attachments/XXXXXXXX
这种情况下我直接从网址下载图片没有问题。
2) 在第二种情况下,没有 URL,图片直接作为附件。
我正在使用 Python API,有没有一种简单的方法可以下载在频道中发送的任何附件?
我用于第 1 部分的代码是:
if(string[0:26] == "https://cnd.discordapp.com"):
r = requests.get(string, stream = True)
with open("image1.png",'wb') as out_file:
shutil.copyfileobj(r.raw, out_file)
有什么方法可以从聊天中未列出 URL 的附件中提取 URL,以便我可以将其插入第一种方法?如果没有,我使用什么命令来遍历邮件附件/下载它们?
【问题讨论】:
-
Python API 是
discord.py吗?您应该共享您正在使用的代码。您可以通过message.attachments获取邮件附件 -
太好了,message.attachments 会返回一个我可以直接保存的附件对象,还是会返回一个类似上面的 URL?如果是前者,有什么特殊的命令可以保存吗?
-
我不认为 discord.py 的异步分支有附件对象,所以它可能只是一个表示底层 JSON 的字典列表。您可以在此处查看该对象的规范 discordapp.com/developers/docs/resources/…