【问题标题】:How do I stop bots from triggering my bots commands?如何阻止机器人触发我的机器人命令?
【发布时间】:2021-04-14 07:05:46
【问题描述】:

我有一个具有一些基本自动响应功能的机器人。我有一个具有相似功能的单独机器人,并且两个机器人之间有一些共享的自动响应。如何在 discord.py 中阻止机器人相互触发?

我当前的代码是这样的:

if discord.User.bot == True:
    return

这被放置在我的 on_message() 事件中,一开始,在检查机器人是否是触发事件的消息之后。这目前不起作用。我对导入东西和使用类系统的想法很陌生,所以任何帮助/说明都是有用的!

【问题讨论】:

    标签: python python-3.x discord discord.py


    【解决方案1】:

    您指的是类本身,而不是实例

    async def on_message(message):
        if message.author.bot:
            return 
    
        # rest of the code here
    

    此外,这仅适用于 on_message 事件,如果您希望它适用于需要创建全局检查的命令:

    @bot.check # or client.check,
    async def is_bot(ctx):
        return not ctx.author.bot
    

    参考:

    【讨论】:

      猜你喜欢
      • 2021-05-11
      • 2021-09-02
      • 1970-01-01
      • 2020-02-09
      • 2021-10-05
      • 2020-08-14
      • 2019-06-29
      • 2011-03-23
      • 2023-01-13
      相关资源
      最近更新 更多