如何让Discord Bot回复特定消息,而不是每条消息都包含一个单词



我有一个机器人,我想回复一个特定的单词,它确实回复了。但是,如果您键入任何包含该单词的消息,它也会回复。我该如何阻止它?

例如。如果我说";谁";,机器人会回复";走开卢卡斯;然而,如果我说";这个人是谁"机器人仍然会回复";走开卢卡斯;

有什么解决办法吗?谢谢

async def on_message(message):
if message.content.startswith('who'):
msg = 'who'.format(message)
await message.channel.send('go away lucas')
await bot.process_commands(message)

我看到您正在使用startswitch((。

如果消息以所需字符串开头,则命令startswitch((返回True,例如:

a = "who"
b = "who is lucas"
print(a.startswith("who"))
print(b.startswith("who"))

输出为:

True
True

如果您希望该命令仅在消息的内容为";谁";,试试这个:

async def on_message(message):
if message.content == "who":
msg = 'who'.format(message)
await message.channel.send('go away lucas')
await bot.process_commands(message)

相关内容

最新更新