簡體   English   中英

在 python 中使用 Discord API 下載附件

[英]Downloading attachments with Discord API in python

我正在創建一個機器人來從不和諧頻道中抓取圖像。 圖像可以通過兩種方式出現:

1) 一個鏈接如: https : //cdn.discordapp.com/attachments/XXXXXXXX

在這種情況下,我直接從 URL 下載圖像,沒有問題。

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,以便我可以將其插入第一種方法? 如果沒有,我使用什么命令來遍歷消息附件/下載它們?

您可以使用

url = ctx.message.attachments[0].url
if url[0:26] == 'https://cdn.discordapp.com':
    await ctx.send(url)

要獲取消息中的任何附件,請獲取 cdn.discordapp.com 鏈接並在聊天中發送。 我還沒有測試過,但您應該能夠通過更改ctx.message.attachments[0].url的列表索引來從消息中獲取多個附件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM