如何在 discord.py 库中设置多个前缀或使前缀不区分大小写?
Posted
技术标签:
【中文标题】如何在 discord.py 库中设置多个前缀或使前缀不区分大小写?【英文标题】:How to set multiple prefixes or make prefix case insensitive in discord.py library? 【发布时间】:2019-11-30 20:42:49 【问题描述】:我正在使用 discord.py 库在 python 中创建一个不和谐机器人。 我的问题是我不能不区分前缀大小写。 有什么办法让它不区分大小写或有多个前缀?
我尝试将前缀设置为“”并将前缀添加到命令中 但这将使机器人处理每条消息! 有什么办法吗?
【问题讨论】:
【参考方案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】:您可以传递一个可迭代的字符串以具有多个前缀,或者传递一个采用Bot
和Message
的函数:
bot = Bot(('ab', 'Ab', aB', 'AB'))
或
def check(bot, message):
return message.content[:2].lower() == 'ab'
bot = Bot(check)
详情请见the documentation
【讨论】:
以上是关于如何在 discord.py 库中设置多个前缀或使前缀不区分大小写?的主要内容,如果未能解决你的问题,请参考以下文章