如何解决使用 Python Rewrite 从 Discord 下载 PNG/GIF/MP3 文件
所以有人帮我使用 Python Rewrite (Bot) 下载了 discord 中的 Image/Gif 我的机器人为服务器/频道创建备份。
这是我的代码(直到我朋友写的部分我才明白)
async def history(ctx,channel_name,path,atcpath):
if channel_name == "Default":
channel_name = ctx.channel.name
files = glob.glob(f"{atcpath}/*")
for f in files:
os.remove(f)
channel = discord.utils.get(ctx.guild.channels,name=channel_name)
messages = await channel.history(limit=1000).flatten()
jsonstruct = getJson(path)
i = len(messages)
jsonstruct.clear()
for message in messages:
content = message.content
try:
if message.content == "":
jsonstruct[i] = f"."
else:
jsonstruct[i] = message.content
except:
print ("fail")
pass
#THE PORTION MY FRIEND WROTE
if (len(message.attachments) > 0):
async with aiohttp.ClientSession() as session:
url = message.attachments[0].proxy_url
async with session.get(url) as resp:
if resp.status == 200:
f_data = await resp.read()
f_path = f"{i}.png"
print (atcpath)
f = open(atcpath + "/" + f_path,mode='wb')
f.write(f_data)
f.close()
i -= 1
它工作正常,但问题是它甚至将 GIF 文件下载为 png。 我想将所有图像类型转换为 png 但不是 GIF。 甚至音乐文件也没有通过此代码下载。 所以我的代码应该知道它是什么类型的文件,MP3,PNG,GIF,然后根据那个名称文件的路径?但是我不知道该怎么做,因为我朋友写的代码让我无法理解。
任何帮助将不胜感激,并为我的英语蹩脚感到抱歉。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。