问题描述
所以有人帮我使用 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 (将#修改为@)