如何让不和谐机器人对具有同一组句子的一组不同单词做出反应?



现在我可以让机器人对单个单词做出反应,是否有可能在一段代码中使机器人对具有相同句子的不同单词集做出反应?

例如,我尝试在 message.content 中使用"X"、"Y"和"Z":当然它没有反应,但我不知道为什么以及如何让它成为可能?我被告知要使用 any((,但我不知道如何使用它。

xyz_quotes = ['QuotesX','QuotesY','QuotesZ']
if 'X' in message.content:
response = random.choice(xyz_quotes)
await message.channel.send(response)

您可以使用简单的 for 循环来执行此操作:

xyz_quotes = ['QuotesX','QuotesY','QuotesZ']
trigger_words = ['X', 'Y', 'Z']
for word in trigger_words:
if word in message.content:
response = random.choice(xyz_quotes)
await message.channel.send(response)
break

这将循环访问您定义的单词列表,然后检查这些单词是否在消息中。发送消息后,break会停止循环,否则当同一消息中出现多个单词时,机器人将发送多条消息。

最新更新