【问题标题】:Send a typing indicator in bot-framework v4 using DirectLine and webchat (Node.js)使用 DirectLine 和 webchat (Node.js) 在 bot-framework v4 中发送打字指示器
【发布时间】:2020-08-13 00:45:28
【问题描述】:

Microsoft bot-framework SDK v4 的官方文档没有演示如何发送打字指示符(而 v3 has these instructions)。我正在使用 DirectLine 和 botframework-webchat。

我该怎么做?谢谢!

【问题讨论】:

    标签: node.js botframework direct-line-botframework


    【解决方案1】:

    您可以通过发送typing 类型的活动来发送打字指示符。详细了解如何send a typing indicator

    await context.sendActivities([
                { type: ActivityTypes.Typing },
                { type: 'delay', value: 3000 },
                { type: ActivityTypes.Message, text: 'Finished typing' }
            ]);
    

    showTypingMiddleware 也可用于自动发送打字指示符。如果您正在寻找更多示例代码,此 sn-p 还将显示如何发送打字指示符。

    【讨论】:

      【解决方案2】:

      我相信你应该这样做

      await context.sendActivities([
          { type: 'typing' },
          { type: 'delay', value: 2000 },
          { type: 'message', text: 'Your message here' }
      ]);
      

      【讨论】:

      • 嗨 @Han 它在本地工作,但是当我在 azure 中部署机器人时,打字 (....) 没有出现。它延迟了 3 秒,如 code.await step.context.sendActivities([ { type: 'typing' }, { type: 'delay', value: 3000 }, ]);
      • 我在heroku服务器和skype上使用了这个。它完美地工作
      • @Hans 我已经改变了 webSocket: true,它解决了这个问题。 stackoverflow.com/questions/58518661/…
      【解决方案3】:

      我认为你可以在 await base.OnTurnAsync(turnContext, cancelToken); 之前添加 OnTurnAsync 函数:

      await turnContext.SendActivityAsync(new Activity { Type = ActivityTypes.Typing }, cancellationToken);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-27
        相关资源
        最近更新 更多