首页 > 解决方案 > 当消息包含特定字母/字符时,如何让我的不和谐机器人回复消息?

问题描述

所以基本上,我希望我的机器人回复为其他机器人输入命令的人,例如当他们输入 -p(play) (在此处插入歌曲)时,我不希望我的机器人播放歌曲,而是希望它播放回复他们就像人们喜欢用各种各样的答案来表达他们对某人意见的看法一样。我已经输入了一个命令,当人们写 $w 时它会回复他们,但我想要的是让我的机器人在他们在 $w 之后添加其他内容时回复。

const replies = [
    "nice", "I like it", "We have the same tastes", "lucky!", "I wish I were you",
]

client.on("message", gotMessage);

async function gotMessage(msg) {

    if (msg.content === "$w"){
        const index = Math.floor(Math.random() * replies.length);
        msg.channel.send(replies[index]);
     }
}

标签: javascriptnode.jsdiscorddiscord.jsbots

解决方案


因此,如果我理解正确,您想检查消息中是否包含单词。为此,您可以使用String.includes().

if (msg.content.includes("$w"){
    //do stuff
}

编辑:

您还可以检查消息是否以它开头

if(msg.content.startsWith("$w")){
//do stuff
}```

推荐阅读