javascript - 如果消息仅以标签开头,如何使 slackbot 回复
问题描述
所以我正在用 Nodejs 编写一个很酷的 slackbot。但我希望机器人仅在命令以标签开头后跟机器人名称的情况下回答,例如:
@joe 向我打招呼
目前我有这样的事情:
if (msg.toLowerCase() == "greet me")
bot.postMessageToChannel('general',"wazzup");
问题是它只有在消息完全是“问候我”时才会回复。我不是在寻找 include() 函数。我只希望机器人在标记并跟随特定命令时回答。谢谢
解决方案
这个问题的一个非常优雅的解决方案是使用事件 API并订阅app_mention
事件。然后,您的机器人将仅在频道中明确提及他时才会收到消息事件,例如@my_bot hi
.
此外,您可能还想订阅该message.im
事件,这样您就可以对来自用户的直接消息做出反应。
推荐阅读
- python - 如何倒带比特流指针?
- c# - 如何在路径中创建每个不存在的文件夹?
- python-3.x - 如何正确配置教练预设
- android - 如何使用 ScrollView 设置布局?
- firebase - 以“用户名”作为提供者的 Firebase 身份验证
- vb.net - 无法编译此 Visual Basic 程序
- python - DateTimeIndex.to_period 为许多偏移别名引发 ValueError 异常
- android - Android自定义通知声音不适用于Redmi和Vivo等中国手机
- java - 线程。停止服务器
- java - Kurento 生成的 MP4 文件无法在 Safari 浏览器上播放