如何在cog python discord中添加cog?

时间:2021-02-01 11:47:23

标签: python discord

我的代码有问题,无法在 cog 中添加 cog

这是我的第一个齿轮(工作):

import CogTalkClient
import discord
from discord.ext import commands
class ListenerDeal(commands.Cog):
    def __init__(self, bot):
        self.bot = bot

@commands.Cog.listener()
    async def on_ready(self):
        self.bot.add_cog(CogTalkClient.TalkClient(self.bot))
        print("AFTER/ BOT : "+str(self.bot))
        print("AFTER/ COG TALKCLIENT : "+str(self.bot.get_cog('TalkClient')))
        print("AFTER/ COG ListenerDeal : "+str(self.bot.get_cog('ListenerDeal'))+"\n")

这是我的第二个齿轮(不工作):

import discord
from discord.ext import commands
class TalkClient(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        print("INIT/ BOT : "+str(bot))
        print("INIT/ COG TALKCLIENT : "+str(self.bot.get_cog('TalkClient')))
        print("INIT/ COG ListenerDeal : "+str(self.bot.get_cog('ListenerDeal')))

我有任何编译错误,但 cog TalkClient 无法工作(on_ready、on_message 等...)

我展示了执行的打印:

--> BOT IS CONNECTED <--
INIT/ BOT : <discord.ext.commands.bot.Bot object at 0x0000017C6CC0AFD0>
INIT/ COG TALKCLIENT : None
INIT/ COG ListenerDeal : <Listener.ListenerDeal object at 0x0000017C6FAA7F40>

AFTER/ BOT : <discord.ext.commands.bot.Bot object at 0x0000017C6CC0AFD0>
AFTER/ COG TALKCLIENT : <CogTalkClient.TalkClient object at 0x0000017C6F8ACBB0>
AFTER/ COG ListenerDeal : <Listener.ListenerDeal object at 0x0000017C6FAA7F40>

这个bot在TalkClient类中没有cog TalkClient,但是在TalkClient类之外,他有TalkClient cog,很奇怪。而且bot的内存地址是一样的。

我已经简化了代码,我不想在 Listener 的同时添加 TalkClient。

0 个答案:

没有答案