Skip to content

Latest commit

 

History

History
39 lines (30 loc) · 1.29 KB

判断主人消息.md

File metadata and controls

39 lines (30 loc) · 1.29 KB

插件如何访问 is_admin

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)
                # 非管理员逻辑

这样,插件可以利用这个功能来判断消息是否来自主人账户。