【发布时间】:2023-01-18 23:47:28
【问题描述】:
我的问题是我需要从cogs/invite_moduly.py 文件中的gift_bot.py 文件获取self.tracker 变量。但遗憾的是,我不知道如何做到这一点。我尝试了一些方法,比如self.bot.tracker、tracker等等,但都没有用。
如何在invite_module.py 中访问这个变量?
gift_bot.py:
class GiftBot(commands.Bot):
def __init__(self):
self.tracker = InviteTracker(self)
super().__init__(command_prefix="*", intents=intents, case_insensitive=True)
async def on_ready(self):
try:
await self.tracker.cache_invites()
except:
pass
齿轮/invite_module.py:
class InviteModule(commands.Cog):
def __init__(self, bot: commands.Bot):
self.bot = bot
self.last_member: list = []
@commands.Cog.listener("on_member_join")
async def on_member_join(self, member: discord.Member):
invite_info = await get_inviter(self.tracker, member)
使用此代码,我得到 Unresolved attribute reference 'tracker' for class 'InviteModule'。
【问题讨论】:
-
self只是一个名字。它绑定到GitBot方法中的GiftBot实例;你需要一些其他方法来在InviteModule.on_member_join中获取GiftBot的实例。 (或通过其他方式获取InviteTracker的实例以传递给get_inviter。) -
是的,我知道,但我不知道如何获得实例。
标签: python discord.py