Botframework 如何在bot首次启动时实现欢迎活动-NLP来自Google Dialogflow
如何在机器人第一次启动时实现欢迎活动-NLP来自Google Dialogflow 我从Google Dialogflow设计了chatbot-intent、entities和NLP,并成功地将botframework webchat集成到url上的html文件中 机器人的设计和反应都很好。我最期待的是,我没有首先得到机器人的响应 GoogleDialogFlow的欢迎意图必须根据上面给出的链接从以下代码中获取触发器 但我无法在这里首先触发机器人 如何从中触发Google Dialogflow事件 我期待着同样的结果Botframework 如何在bot首次启动时实现欢迎活动-NLP来自Google Dialogflow,botframework,dialogflow-es,direct-line-botframework,dialogflow-es-fulfillment,Botframework,Dialogflow Es,Direct Line Botframework,Dialogflow Es Fulfillment,如何在机器人第一次启动时实现欢迎活动-NLP来自Google Dialogflow 我从Google Dialogflow设计了chatbot-intent、entities和NLP,并成功地将botframework webchat集成到url上的html文件中 机器人的设计和反应都很好。我最期待的是,我没有首先得到机器人的响应 GoogleDialogFlow的欢迎意图必须根据上面给出的链接从以下代码中获取触发器 但我无法在这里首先触发机器人 如何从中触发Google Dialogflow事
注意:当用户加入WebChat时,一个会话更新活动将被发送到bot。收到活动后,您可以检查是否添加了成员,并相应地发送欢迎消息 如果您使用的是v4.3中发布的活动处理程序,那么只需添加一个onMembersAdded处理程序并从那里发送欢迎消息即可
class Bot extends ActivityHandler{
constructor() {
super();
this.onMembersAdded(async (context, next) => {
const { membersAdded } = context.activity;
for (let member of membersAdded) {
if (member.id !== context.activity.recipient.id) {
await context.sendActivity("Welcome Message!");
}
}
await next();
});
...
}
}
如果未使用活动处理程序,则可以在bot的onTurn方法中检查传入的活动处理程序是否是会话更新,以及是否已添加成员
async onTurn(turnContext) {
if (turnContext.activity.type === ActivityTypes.ConversationUpdate) {
if (turnContext.activity.membersAdded && turnContext.activity.membersAdded.length > 0) {
for (let member of turnContext.activity.membersAdded) {
if (member.id !== turnContext.activity.recipient.id) {
await turnContext.sendActivity("Welcome Message!");
}
}
}
} ...
}
有关发送欢迎信息的更多详细信息,请查看此
希望这有帮助 嘿,你提到了ActivityHandler。我在谷歌上搜索了一下,确实找到了任何参考资料。你能提供一个链接吗?文档有点稀疏啊!你从MS Botkit打电话给dialogflow只是为了NLP?我相信这就是@MRANKHAN K正在做的,是的。是的@tdurnford。。正确,但是我已经从dialogflow处理了触发事件的html页面中的所有内容。而是调用我从Botframework调用dialogflow的意图训练短语文本的事件。。我还隐藏了我们在UI中触发bot的文本消息。。最后,看起来我们有了从botframework到Dialogflow NLP的触发器事件。看起来您收到了一个很好的答案。有关如何从webhook添加事件的DialogFlow文档位于以下位置:。