if self.bot.is_admin(user_id):
# 执行主人特定逻辑
...
-
插件管理器已将
Bot
实例传递给了每个插件,插件可以调用其is_admin
方法来检查消息发送者是否为主人。 -
例如在echo插件中有如下片段在
__init__
方法中正确获取了 bot 实例,并将其赋值给了 self.bot:class P_echoPlugin(Plugin): def __init__(self, bot): self.bot = bot
-
一个简单的小例子,如何在 on_message 方法中调用 self.bot 实例的示例(每一次接收到消息都判断一次是否为主人账号):
class P_isadminPlugin(Plugin): def __init__(self, bot): self.bot = bot # 保存传入的 bot 实例 def on_message(self, message): user_id = message['user_id'] # 使用 self.bot 调用 Bot 类的方法 if self.bot.is_admin(user_id): logger.info("用户 %s 是管理员", user_id) # 你可以在这里添加管理员专用逻辑 else: logger.info("用户 %s 不是管理员", user_id) # 非管理员逻辑
这样,插件可以利用这个功能来判断消息是否来自主人账户。