加载Discord.py Cog时触发TypeError:cogs必须派生自Cog
问题解决办法
错误核心原因:你的
help.py中定义的Cog类未正确继承discord.ext.commands.Cog基类,Discord.py要求所有Cog必须从该基类派生。修正步骤:
- 在
help.py顶部导入Cog模块:from discord.ext import commands - 定义Cog类时必须继承
commands.Cog,示例代码:class Help(commands.Cog): def __init__(self, bot): self.bot = bot # 自定义帮助命令示例 @commands.command() async def help(self, ctx): await ctx.send("这是自定义帮助内容") # 必须添加setup函数供主程序加载Cog def setup(bot): bot.add_cog(Help(bot)) - 核对
program.py中加载Cog的路径是否正确:# 若help.py在commands文件夹下,使用此路径 bot.load_extension("commands.help") # 若在根目录则用:bot.load_extension("help")
- 在
额外检查项:
- 确保
help.py文件名与加载路径的大小写、名称完全匹配(Linux/macOS系统对文件名大小写敏感)。 - 确认
help.py中的setup函数参数为bot,且内部正确执行bot.add_cog()传入Cog实例。
- 确保
内容的提问来源于stack exchange,提问作者Azurik
相关产品推荐
相关产品推荐

