问题描述
我正在努力让这段代码更简单,但 Python 是区分大小写的。有没有让这段代码更干净????
@client.event
async def on_message(msg):
if 'marcelo' in msg.content:
print('Keyword found in message')
await msg.channel.send("oh this shit again!")
if 'marcelo' in msg.content:
print('Keyword found in message')
await msg.channel.send("oh this shit again!")
if 'marcELO' in msg.content:
print('Keyword found in message')
await msg.channel.send("oh this shit again!")
解决方法
您可以使用 <str>.lower
,如下所示:
@client.event
async def on_message(msg):
if 'marcelo' in msg.content.lower():
print('Keyword found in message')
您也可能不想使用 in
关键字,因为这意味着如果您输入“Hey Marcello”,它仍会输出。鉴于打印语句,我不知道这是否是您想要的,但大多数情况下使用 msg.content.lower().startsWith('marcelo')
或 msg.content.lower() == 'marcelo'