【问题标题】:How to implement a welcome activity when the bot first starts - NLP is from Google Dialogflow如何在机器人首次启动时实施欢迎活动 - NLP 来自 Google Dialogflow
【发布时间】:2019-09-22 06:09:43
【问题描述】:

如何在机器人首次启动时实施欢迎活动 - NLP 来自 Google Dialogflow。

我已经从 Google Dialogflow 设计了聊天机器人意图、实体和 NLP,并且在引用 this url 的 html 文件中成功地与 botframework 网络聊天集成。

机器人设计和机器人响应都很好。我最期待的是这里没有首先得到 Bot 响应。

Google Dialogflow 的欢迎意图必须根据上面给出的链接从以下代码中获取触发。

但我无法在这里首先获得机器人触发器。

如何从code触发Google Dialogflow的事件。

我期待像this一样的东西

注意:也称为this url

【问题讨论】:

标签: botframework dialogflow-es direct-line-botframework dialogflow-es-fulfillment


【解决方案1】:

当用户加入网络聊天时,对话更新活动将被发送到机器人。收到活动后,您可以检查是否添加了成员​​并相应地发送欢迎消息。

如果您使用的是在 v4.3 中发布的 Activity 处理程序,您可以简单地添加一个 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();
        });

        ...
    }
}

如果您没有使用活动处理程序,在机器人的 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!");
                }
            }
        }
    } ...
}

有关发送欢迎消息的更多详细信息,请查看此sample

希望这会有所帮助!

【讨论】:

  • 嘿,你提到了ActivityHandler。我用谷歌搜索并确实找到了任何参考资料。能给个链接吗?
  • 啊!您只是为了 NLP 而从 MS Botkit 中调用 dialogflow?
  • 我相信这就是@MRANKHAN K 所做的,是的。
  • 是的@tdurnford .. 正确,但是我已经处理了html页面中的所有内容,以便从对话框流中触发事件。那是调用事件,我从 Botframework 调用了对话流的意图训练短语文本。此外,我还隐藏了我们在 UI 中触发机器人的文本消息。最后似乎我们有从 botframework 到 Dialogflow NLP 的触发事件。跨度>
猜你喜欢
  • 1970-01-01
  • 2017-11-19
  • 1970-01-01
  • 2021-06-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多