【发布时间】:2019-01-10 06:22:48
【问题描述】:
我正在使用 node.js 的 bot builder sdk 创建聊天机器人。还将它连接到facebook频道。我正在使用以下代码来问候用户:
var bot = new builder.UniversalBot(connector, [
(session, result, next) => {
let text = '';
switch(session.message.address.channelId) {
case 'facebook':
text = 'Hi ' + session.message.user.name + ' !';
break;
default:
text = 'Hi !';
}
session.sendTyping();
session.say(text);
next();
},
(session, say) => {
}
]);
上面的代码工作正常,但我想在输入栏中添加“开始”按钮来调用上面的代码。请注意,此按钮仅出现一次。请在下面找到输入栏的图片:
有没有办法使用 bot builder sdk for node.js 来实现这一点?
谢谢
【问题讨论】:
-
当您说要添加一个按钮时,您是指在实际的文本输入部分(其中显示“键入消息”)还是在其上方的聊天框中?
-
@JJ_Wailes 我可以看到图像中的输入栏有 6 个停靠在右侧的按钮。我想这就是按钮应该去的地方。
-
@AshyAshcsi 任何给定输入栏中可用的按钮往往特定于您正在聊天的网站、应用程序等,因此在很大程度上超出了 Bot Framework 的范围。自定义按钮必须是托管聊天系统的服务的一项功能。我认为做你想做的事情的最好方法是让机器人在其初始消息之一中显示一个“开始”按钮,也许当用户寻求帮助时。或者,如果您真的想控制输入栏中的按钮,您可以考虑制作自己的网站。
-
@AshyAshcsi 我想你的截图是从 Facebook 截取的。我还没有找到任何方法来自定义 Facebook 中的聊天按钮,如果我不能以普通用户的身份做到这一点,那么我就不希望机器人能够做到这一点。请记住,机器人大多只是以普通用户的方式交谈,并且对其环境没有重大控制。作为普通用户,请考虑您是否希望能够通过聊天窗口访问并影响其他用户机器上的环境设置! (续)
-
@KyleDelaney,我希望按钮出现在输入栏中。我已经为其他信使聊天机器人看到了它。如果不是,我想显示消息和开始按钮,甚至在会话开始之前。如下所示:builder.Prompts.choice(session, "Welcome", "Get Started");我问是因为我已经看到其他几个聊天机器人的按钮出现了。谢谢
标签: node.js azure botframework facebook-messenger