javascript - 当消息包含特定字母/字符时,如何让我的不和谐机器人回复消息?
问题描述
所以基本上,我希望我的机器人回复为其他机器人输入命令的人,例如当他们输入 -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]);
}
}
解决方案
因此,如果我理解正确,您想检查消息中是否包含单词。为此,您可以使用String.includes()
.
if (msg.content.includes("$w"){
//do stuff
}
编辑:
您还可以检查消息是否以它开头
if(msg.content.startsWith("$w")){
//do stuff
}```
推荐阅读
- jenkins-pipeline - 詹金斯 | 并行| 运行类实例的问题
- java - 如何对链表中的整数求和
- zerotier - 运行 zerotier 时的限制
- c# - C# 中的嵌套 JSON 解析
- jquery - 光滑滑块上的灯箱并将内容添加到与图像一起弹出的灯箱
- javascript - 使用 jquery 函数播放或暂停视频
- python-3.x - 就像我们在 scala 中一样,如何在 python 中一次性完成 Groupby 和 map
- python - 两个类似文件之一无法识别 date_parser 格式
- python - 使用多 GPU 和多线程、Pytorch 的对象检测推理
- python-3.x - 为什么使用 opencv 进行图像屏蔽会返回“输入参数的大小不匹配”?