我现在正在制作一个不和谐的机器人,如果我使用大写字母/不使用大写字母,它不会响应。有没有办法让机器人检测消息,即使它们是大写/小写?还有一种方法可以让机器人对空格做同样的事情(如果我不小心忘记放空格,或者不小心将两个单词合并在一起......)?
或者我是否必须无休止地跟踪 if 语句?
下面是如何实现此目的的示例代码。
from discord.ext import commands
client = commands.Bot(command_prefix='!')
@client.event
async def on_ready():
print('client ready')
@client.command()
async def ping():
await client.say('Pong')
@client.event
async def on_message(message):
message.content = message.content.lower().replace(' ', '')
await client.process_commands(message)
client.run('TOKEN')
注意如何message.content
被替换为message.content.lower().replace(' ', '')
。自从ping
命令是小写的,这意味着当用户键入例如!PinG
,该命令仍然会被执行。
不过,您应该小心删除空格,因为您将来可能创建的某些命令可以将参数作为输入,在这种情况下,在调用命令时需要空格来分隔参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)