【问题标题】:How to set multiple prefixes or make prefix case insensitive in discord.py library?如何在 discord.py 库中设置多个前缀或使前缀不区分大小写?
【发布时间】:2019-11-30 20:42:49
【问题描述】:

我正在使用 discord.py 库在 python 中创建一个不和谐机器人。 我的问题是我不能不区分前缀大小写。 有什么办法让它不区分大小写或有多个前缀?

我尝试将前缀设置为“”并将前缀添加到命令中 但这将使机器人处理每条消息! 有什么办法吗?

【问题讨论】:

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


    【解决方案1】:

    是的,我实际上通过篡改代码找到了一种方法

    bot = commands.Bot(command_prefix=["hi ","Hi "])
    

    列出你想使用的前缀

    【讨论】:

      【解决方案2】:

      Patrick Haugh 的答案很可能是您想要的,但我个人会使用一种方法,您可能会使用该方法为多个公会设置自定义前缀。

      with open('prefix.json', 'r') as f:
          prefixList = json.load(f)
      
      async def getPrefix(bot, message):
          return prefixList.get(str(message.guild.id), "Enter a default prefix here")
      

      如果您在同一目录中为前缀创建 JSON 数据库并将其与公会 ID 作为每个前缀的键一起存储,则此代码应该可以工作。

      然后,您可以在为机器人定义前缀时调用此函数。 编码愉快!

      【讨论】:

        【解决方案3】:

        您可以传递一个可迭代的字符串以具有多个前缀,或者传递一个采用BotMessage 的函数:

        bot = Bot(('ab', 'Ab', aB', 'AB'))
        

        def check(bot, message):
            return message.content[:2].lower() == 'ab'
        
        bot = Bot(check)
        

        详情请见the documentation

        【讨论】:

          猜你喜欢
          • 2021-04-12
          • 2021-06-02
          • 1970-01-01
          • 2021-04-08
          • 2021-02-03
          • 2021-04-04
          • 1970-01-01
          • 2021-04-04
          • 2020-03-17
          相关资源
          最近更新 更多