Python discord.py重写:类型错误:Cog必须从Cog派生

Python discord.py重写:类型错误:Cog必须从Cog派生,python,typeerror,discord,discord.py,Python,Typeerror,Discord,Discord.py,随着我的机器人越来越大,我正在尝试实现cogs,但是我遇到了一个问题。我已经准备好了我的全部代码,但出于某种奇怪的原因,我一直出现这个错误: Traceback (most recent call last): File "C:\Users\Lauras\Desktop\Akagi Bot\main.py", line 107, in <module> bot.add_cog("cogs.fun") File "C:\Users\Lauras\AppData\

随着我的机器人越来越大,我正在尝试实现cogs,但是我遇到了一个问题。我已经准备好了我的全部代码,但出于某种奇怪的原因,我一直出现这个错误:

    Traceback (most recent call last):
  File "C:\Users\Lauras\Desktop\Akagi Bot\main.py", line 107, in <module>
    bot.add_cog("cogs.fun")
  File "C:\Users\Lauras\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\ext\commands\bot.py", line 477, in add_cog
    raise TypeError('cogs must derive from Cog')
TypeError: cogs must derive from Cog
“乐趣”重心如下所示:

import discord
from discord.ext import commands

bot = commands.Bot(command_prefix='~')

class FunCog:
    def __init__(self, bot):
        self.bot = bot

    @commands.command()
    async def hug(self, ctx):
        await ctx.send('has been hugged by', file=discord.File('iloveyou.gif'))
        pass


def setup(bot: commands.Bot):
    bot.add_cog(FunCog(bot))

有什么问题吗?我还使用discord.py重写。谢谢

感谢@Ellisein在
类FunCog(commands.Cog):
代码字符串方面的帮助。帮助我修复代码的另一件事是将main.py中的
bot.add\u cog(“cogs.fun”)
替换为
bot.load\u扩展(“cogs.fun”)

我建议退房 这将帮助您更好地了解齿轮

首先,您需要将
bot.add\u cog(“cogs.fun”)
更改为
bot.load\u扩展(“cogs.fun”)

这不是必需的,但您不需要再次定义
bot
。 将
def设置(bot:commands.bot):
更改为
def设置(bot):

您还需要将
class FunCog:
更改为
class FunCog(commands.Cog):

我建议在重写版本出现新的更新时保持更新。下面是一个简单的示例。
希望这有帮助!Max.

您的cog不是从cog继承的。。。错误很明显。我不太明白,我遗漏了什么?将
class Funcog:
替换为
class Funcog(commands.Cog):
。我确实这样做了,但我仍然得到了相同的错误:/I我假设bot.add\u Cog(“cogs.fun”)这一行不知何故造成了问题,不是吗?cogs的工作方式最近发生了变化,您可以在此处找到这些更改的文档:
import discord
from discord.ext import commands

bot = commands.Bot(command_prefix='~')

class FunCog:
    def __init__(self, bot):
        self.bot = bot

    @commands.command()
    async def hug(self, ctx):
        await ctx.send('has been hugged by', file=discord.File('iloveyou.gif'))
        pass


def setup(bot: commands.Bot):
    bot.add_cog(FunCog(bot))