首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Microsoft (bot框架)中自动加入会话

如何在Microsoft (bot框架)中自动加入会话
EN

Stack Overflow用户
提问于 2019-01-15 08:10:43
回答 1查看 2.1K关注 0票数 1

我用的是https://github.com/Microsoft/BotFramework-WebChat/blob/master/README.md

我想要机器人收到一个“加入”消息,每当网络聊天小部件显示在网站上。

这个想法是人类不需要开始谈话。机器人可以用一条欢迎的信息来回应加入对话的人。

这怎麽可能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-15 12:41:44

这个“欢迎功能”是自网络聊天v3以来的一个长期讨论和话题。看起来它在两天前就被修复了,使用这个拉请求:https://github.com/Microsoft/BotFramework-WebChat/pull/1286

现在有一个关于如何做到这一点的示例,位于这里:https://github.com/Microsoft/BotFramework-WebChat/blob/master/samples/15.d.backchannel-send-welcome-event/index.html

简单地说,演示如下:

代码语言:javascript
运行
复制
  (async function () {
    // In this demo, we are using Direct Line token from MockBot.
    // To talk to your bot, you should use the token exchanged using your Direct Line secret.
    // You should never put the Direct Line secret in the browser or client app.
    // https://learn.microsoft.com/en-us/azure/bot-service/rest-api/bot-framework-rest-direct-line-3-0-authentication
    const res = await fetch('https://webchat-mockbot.azurewebsites.net/directline/token', { method: 'POST' });
    const { token } = await res.json();

    // We are using a customized store to add hooks to connect event
    const store = window.WebChat.createStore({}, ({ dispatch }) => next => action => {
      if (action.type === 'DIRECT_LINE/CONNECT_FULFILLED') {
        // When we receive DIRECT_LINE/CONNECT_FULFILLED action, we will send an event activity using WEB_CHAT/SEND_EVENT
        dispatch({
          type: 'WEB_CHAT/SEND_EVENT',
          payload: {
            name: 'webchat/join',
            value: { language: window.navigator.language }
          }
        });
      }
      return next(action);
    });

    window.WebChat.renderWebChat({
      directLine: window.WebChat.createDirectLine({ token }),
      store
    }, document.getElementById('webchat'));

    document.querySelector('#webchat > *').focus();
  })().catch(err => console.error(err));

请注意,由于这个PR是非常新的,它没有嵌入到latest发行版中,所以您必须指向webchat.js文件的master版本,而不是latest

代码语言:javascript
运行
复制
<script src="https://cdn.botframework.com/botframework-webchat/master/webchat.js"></script>

它起作用了:在您的机器人端收到Event类型的活动通知后,您将能够在用户输入任何内容之前回复您的用户:

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54194878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档