Python不协调机器人消息.内容

2022-02-26 00:00:00 python discord bots discord.py

问题描述

我正在尝试让我的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。

相关文章