<!DOCTYPE html>
<html>
<head>
<link href="https://cdn.botframework.com/botframework-webchat/latest/botchat.css" rel="stylesheet" />
</head>
<body>
<div>
<div id="bot" />
</div>
<script src="https://cdn.botframework.com/botframework-webchat/latest/botchat.js"></script>
<script>
var user = {
id: 'user-id',
name: 'user name'
};
var botConnection = new BotChat.DirectLine({
token: 'MYTOKENHERE',
user: user
});
BotChat.App({
user: user,
botConnection: botConnection,
bot: { id: 'bot-id', name: 'bot name' },
resize: 'detect'
}, document.getElementById("bot"));
botConnection
.postActivity({
from: user,
name: 'requestWelcomeDialog',
type: 'event',
value: ''
})
.subscribe(function (id) {
console.log('"trigger requestWelcomeDialog" sent');
});
</script>
</body>
</html>
我有处理来自机器人的任何事件/消息的代码。当我键入hi或任何消息时,它将起作用。但是,当我按照MS bot框架文档所承诺的那样将聊天机器人作为对话更新活动加载时,并不是自动进行的。 谁能帮忙吗?
答案 0 :(得分:0)
对于初学者来说,您似乎正在使用Web Chat v3,该版本已弃用,不再受支持。我建议您切换到Web Chat v4,尤其是在您刚刚入门时。请注意,Web Chat v4确实适用于v3 Bot。看一下Web Chat Samples,以开始使用v4。
此外,我假设您是在谈论Web聊天中未正确发送欢迎消息。如果是这种情况,请查看此GitHub answer。它讨论了如何在网络聊天中正确发送欢迎消息。如果您不打算切换到v4,则答案中讨论的某些原理仍然适用于Web Chat v3。
答案 1 :(得分:0)
您必须处理您的漫游器代码上的请求。像这样检查“ requestWelcomeDialog”。这应该在您的MainDialog中。
protected override async Task OnEventActivityAsync(ITurnContext<IEventActivity> turnContext, CancellationToken cancellationToken)
{
if (turnContext.Activity.Name == "requestWelcomeDialog")
{
//send activity here
}
}