discord.py 2.0发送Embed消息报错:'Embed'对象无'_files'属性
问题原因与解决方法
你的代码报错是因为混用了discord.py和disnake库。从错误栈可以看到,代码运行在disnake环境中(路径里的disnake包),但你创建的是discord.Embed对象,而disnake的send方法只兼容自身的disnake.Embed类型,所以会抛出'Embed' object has no attribute '_files'的错误。
修复步骤:
- 把代码里的
discord.Embed替换为disnake.Embed - 确保导入语句是
import disnake,而非import discord
修复后的代码:
import disnake import random from disnake.ext import commands Bot = commands.Bot(command_prefix="你的命令前缀") @Bot.command() async def agent(ctx): agent_list = ["Neon", "Reyna"] # 避免用list作为变量名,会覆盖Python内置列表类型 await ctx.message.delete() emb = disnake.Embed(title="Agent Picker") emb.set_footer(text=f"Used by: {ctx.author.name}") emb.add_field(name="Agent:", value=f"{random.choice(agent_list)}") await ctx.send(embed=emb) # 记得添加Bot启动代码 # Bot.run("你的机器人Token")
内容的提问来源于stack exchange,提问作者MrToastre
相关产品推荐
相关产品推荐

