我的代码有问题,无法在 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。