如何在discord.py库中设置多个前缀或使前缀不区分大小写?

时间:2019-07-22 20:35:26

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

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

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

3 个答案:

答案 0 :(得分:0)

您可以传递可迭代的字符串以具有多个前缀,也可以传递带有BotMessage的函数:

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

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

bot = Bot(check)

有关更多详细信息,请参见the documentation

答案 1 :(得分:0)

帕特里克·豪(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作为每个前缀的键进行存储,则此代码应该有效。

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

答案 2 :(得分:0)

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

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

列出您要使用的前缀