我正在使用discord.py库在python中创建一个discord机器人。 我的问题是我不能使前缀不区分大小写。 有什么办法可以使其不区分大小写或具有多个前缀?
我尝试将前缀设置为“”并将前缀添加到命令中 但这将使机器人处理每条消息! 有什么办法吗?
答案 0 :(得分:0)
您可以传递可迭代的字符串以具有多个前缀,也可以传递带有Bot
和Message
的函数:
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 "])
列出您要使用的前缀