命令引发异常:属性错误:'File'对象没有属性'to_dict' Discord 机器人


@bot.command()
async def catto(ctx):
choice = ["1","2"]
print(random.choice(choice))
if choice == 1:
r = requests.get("APILINK").json()
cat_embed = discord.Embed()
cat_embed.set_image(url=r["url"])
await ctx.send(embed=cat_embed)
else:
file = discord.File("FILEPATH")
file2 = discord.File("FILEPATH")
cats = (file, file2)
await ctx.send(embed = random.choice(cats))

它在else位我有问题,它给了我标题中所说的错误。

建议的完整回溯:

忽略命令catto中的异常:

Traceback(最近一次调用):文件"C:UsersOneDriveDocumentsProgramming-Extralibsite-packagesdiscordextcommandscore.py",第85行Ret = await coro(*args, **kwargs)文件"c:UsersOneDriveDocumentsProgramming-ExtraDiscord Bot botname",第46行,中文等待ctx。Send (embed = random.choice(cats))文件"C:UsersOneDriveDocumentsProgramming-Extralibsite-packagesdiscordabc.py",第1017行,在发送Embed = Embed .to_dict()AttributeError: 'File'对象没有'to_dict'属性

上述异常是导致以下异常的直接原因:

Traceback(最近一次调用):文件"C:UsersOneDriveDocumentsProgramming-Extralibsite-packagesdiscordextcommandsbot.py",第939行,在调用等待ctx.command.invoke (ctx)文件"C:UsersOneDriveDocumentsProgramming-Extralibsite-packagesdiscordextcommandscore.py",第863行,在调用等待(* ctx注入。args, * * ctx.kwargs)文件"C:UsersOneDriveDocumentsProgramming-Extralibsite-packagesdiscordextcommandscore.py",第94行从exc抛出CommandInvokeError(exc)discord.ext.commands.errors.CommandInvokeError:命令引发异常:AttributeError: 'File' object has no attribute 'to_dict

修复


错误在最后一行:

await ctx.send(embed = random.choice(cats))

应该是这样的:

await ctx.send(embed=discord.Embed(file=random.choice(cats))

或者像这样:

await ctx.send(file=random.choice(cats))

相关内容

  • 没有找到相关文章

最新更新