【发布时间】:2019-11-30 20:42:49
【问题描述】:
我正在使用 discord.py 库在 python 中创建一个不和谐机器人。 我的问题是我不能不区分前缀大小写。 有什么办法让它不区分大小写或有多个前缀?
我尝试将前缀设置为“”并将前缀添加到命令中 但这将使机器人处理每条消息! 有什么办法吗?
【问题讨论】:
标签: python-3.x discord discord.py
我正在使用 discord.py 库在 python 中创建一个不和谐机器人。 我的问题是我不能不区分前缀大小写。 有什么办法让它不区分大小写或有多个前缀?
我尝试将前缀设置为“”并将前缀添加到命令中 但这将使机器人处理每条消息! 有什么办法吗?
【问题讨论】:
标签: python-3.x discord discord.py
是的,我实际上通过篡改代码找到了一种方法
bot = commands.Bot(command_prefix=["hi ","Hi "])
列出你想使用的前缀
【讨论】:
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 作为每个前缀的键一起存储,则此代码应该可以工作。
然后,您可以在为机器人定义前缀时调用此函数。 编码愉快!
【讨论】:
您可以传递一个可迭代的字符串以具有多个前缀,或者传递一个采用Bot 和Message 的函数:
bot = Bot(('ab', 'Ab', aB', 'AB'))
或
def check(bot, message):
return message.content[:2].lower() == 'ab'
bot = Bot(check)
【讨论】: