Python不协调机器人消息.内容
问题描述
我正在尝试让我的Discord机器人在有人发送特定单词时自动响应,问题是该命令只有在单词是句子中第一件事的情况下才起作用。我希望即使指定的单词在句子的中间或任何位置,机器人也能响应消息。
是否可以进行任何更改以使其正常工作?
@client.event
async def on_message(message):
words = ['test']
if message.content in words:
await message.channel.send("test1")
解决方案
在Python中,格式为if substring in string:
因此,如果您有要查找的单词列表,则需要首先迭代该单词列表,然后检查它是否在主字符串中:
for word in words:
if word in message.content:
或者,您可以偷偷地:
if any(map(message.content.__contains__, words)):
如果words
中的任何单词在邮件内容中,则返回TRUE。
相关文章