【发布时间】:2017-08-16 15:52:41
【问题描述】:
我正在使用 Microsoft 的 botframework 和 LUIS 以及 Node.js 在 slack 中创建一个机器人。目前,每当有人在频道中说些什么时,我的机器人都会回复,但是我希望我的机器人只在我的松弛频道中提到它的名字时回复。即@my-bot do this
我将如何处理这个问题?我是否必须添加 slack api 才能做到这一点?
我正在考虑的一种方法是创建一个实体来检查是否提到了@my-bot,如果是则回复,如果不是则不要。不过,我觉得有更好的方法来做到这一点。
谢谢。
编辑:
dialog.onDefault(function (session) {
var msg = new builder.Message(session).entities();
console.log(msg);
console.log(session);
session.endDialog('Default Dialog');
});
我查看了msg 和session 两者的实体都是空的。
【问题讨论】:
-
我看过了,但是当用户提到机器人时,我没有看到
mentioned字段。 -
你用的是什么版本的botbuilder?
-
我使用的是 3.7.0。我搜索了
mentioned,似乎只有 C# 有它,而不是 node.js。我只想让我的机器人只有在有人提到它时才会回复,而不是每次有人在我的松弛频道中输入。我可以做愚蠢的方式,只搜索单词@mybot,但我宁愿不这样做。 -
您需要查找 Entities 属性。请参阅我之前提到的帖子中的屏幕截图。
标签: node.js botframework slack azure-language-understanding