【发布时间】:2019-06-12 22:04:01
【问题描述】:
所以,我目前正在使用这个:
<!DOCTYPE html>
<html>
<body>
<div id="webchat"></div>
<script src="https://cdn.botframework.com/botframework-webchat/preview/botchat.js"></script>
<script>
window.WebChat.renderWebChat({
directLine: window.WebChat.createDirectLine({ secret: 'YOUR_BOT_SECRET_FROM_AZURE_PORTAL' })
}, document.getElementById('webchat'));
</script>
</body>
</html>
它工作正常,但是我有多个用于不同客户端应用程序的 QnA 知识库。所以我想在 OnTurnAsync 方法中传递“applicationname”的自定义参数来决定我的 BOT 框架(V4)中的 QNA KB。
我试过了
var d1 = window.WebChat.createDirectLine({ token })
window.WebChat.renderWebChat({
directLine: d1,
styleSet,
postActivity: activity => {
var newActivity = Object.assign({}, activity, {channelData: { "userparam": "test" } });
return dl.postActivity(newActivity);
}
}, document.getElementById('webchat'));
})();
但机器人中的 Context.Activity.ChannelData 返回 Null
也试过了
var d1 = window.WebChat.createDirectLine({ token })
window.WebChat.renderWebChat({
directLine: d1,
user: { id: 'userid', userparam:'test'},
styleSet
}, document.getElementById('webchat'));
})();
仍然 Context.Activity.From.Properties["userparam"] 返回 Null
【问题讨论】:
标签: azure bots azure-bot-service direct-line-botframework