如何让机器人只响应句子中存在的一个“事件”,而不是两个

Posted

技术标签:

【中文标题】如何让机器人只响应句子中存在的一个“事件”,而不是两个【英文标题】:How to make the bot respond for only one "event" the is present in the sentence, and no two 【发布时间】:2020-11-21 19:21:08 【问题描述】:

这很复杂,但请看例子:

我宣布了这个事件:

client.on('message', async message =>  
if (message.content.toLowerCase().includes("megumin"))
 
    message.channel.send("What's up?");

);

但我也宣布了这个事件:

client.on('message', async message =>  
if (message.content.toLowerCase().includes("thanks megumin"))
 
    message.channel.send("We are welcome UwU");

);

当我在聊天中输入:“thanks megumin”时,机器人会进行这两个事件!我要她只回答“thanks megumin”,不要回答句子中的“megumin”…… 有人可以帮帮我吗?

谢谢@Levi_OP!

【问题讨论】:

阅读discordjs.guide/command-handling 【参考方案1】:

您应该将其合并为一个,而不是使用两个 client.on。

client.on('message', async message =>  
  if (message.content.toLowerCase().includes("thanks megumin")) 
    message.channel.send("We are welcome UwU");
   else if (message.content.toLowerCase().includes("megumin")) 
      message.channel.send("What's up?");
  
);

【讨论】:

如果是你问题的答案,你能把它标记为答案吗?

以上是关于如何让机器人只响应句子中存在的一个“事件”,而不是两个的主要内容,如果未能解决你的问题,请参考以下文章

如何让我的不和谐机器人响应没有前缀的消息

如何让我的 discord.py 机器人只允许来自管理员和模组的 @everyone 和 @here,而不是来自普通成员的

我如何让机器人随机响应消息?

pandas:只替换单词而不是整个句子

我的 Discord 机器人多次响应一个命令,我想知道是不是有办法只发送一次

试图让我的 Discord 机器人响应“我不是婴儿潮一代 >:(”但它不会响应。我该如何修复代码?