我想打开我在网站上实现的widgets.getsitecontrol.com/ javascript页面。每当我在漫游器中键入“帮助”时,小部件都应打开。可以打开吗?谢谢。我正在使用节点js版本。如果有可能,请向我提供解决此问题的方法。
答案 0 :(得分:0)
我不确定您的窗口小部件的确切功能,但是当用户向机器人发送“帮助”消息时,您可以向WebChat发送反向通道事件以触发打开窗口小部件。看看下面的代码片段。
批注代码-NodeJ
当漫游器从用户接收到“帮助”消息时,漫游器可以通过发送类型设置为“事件”的活动来发送事件。我们还可以给传出活动一个name属性,这样就可以将多种类型的事件发送到WebChat。在这种情况下,我们将外出活动命名为“ helpEvent”。
async onTurn(turnContext) {
if(turnContext.activity.type === ActivityTypes.Message) {
if (turnContext.activity.text.toLowerCase() === 'help') {
// Send Back Channel Help Event
await turnContext.sendActivity({ type: 'event', name: 'helpEvent'});
}
...
}
}
WebChat定制中间件
在WebChat中,我们将创建一个自定义中间件来检查传入的活动。当我们遇到具有可识别的名称和类型的活动时,请在网页上触发您的事件。在下面的示例中,我只是警告用户他们寻求帮助,但这是您启动小部件的地方。
const store = window.WebChat.createStore(
{},
({ dispatch }) => next => action => {
if (action.type === 'DIRECT_LINE/INCOMING_ACTIVITY') {
const { name, type } = action.payload.activity;
if (type === 'event' && name === 'helpEvent') {
// Activate Widget
alert("You asked for help.");
}
}
return next(action);
}
);
window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ token }),
store,
}, document.getElementById('webchat'));
有关反向渠道事件和在WebChat中创建自定义中间件的更多详细信息,请在WebChat存储库中检出this sample。
希望这会有所帮助!