javascript - 使用带有 bot 框架的网络聊天客户端时如何发送自定义 channel 数据?

标签 javascript botframework

我正在尝试将自定义数据与发送到我的机器人的每条消息一起传递。似乎有一种方法可以实现这一点,但示例代码不完整,因为我是 Javascript 的新手,所以我不知道如何正确地做到这一点:-)

这是我用来设置所有内容的脚本:

const botConnection = new BotChat.DirectLine({
  secret: '@directLineSecret',
});

BotChat.App({
  bot: bot,
  botConnection: botConnection,
  user: user,
  resize: 'detect'
}, document.getElementById('bot'));

我正在尝试应用此处显示的内容:

var dl = new BotChat.DirectLine({secret});

BotChat.App({botConnection: {
    … dl,
    postActivity: activity => dl.postActivity({
        … activity,
        channelData: // your data goes here 
    }),
        // other Chat props
});

上面的代码似乎拦截了对postActivity 的所有调用并添加了自定义 channel 数据。但它也包含了这些不幸的“……”。我将如何更改我的初始化代码,以便它拦截调用并将一些键/值添加到 channelData 对象?

最佳答案

通过网络聊天客户端的Github页面找到了答案。 “...”没有省略任何代码,而是 Javascript spread syntax

正确的代码:

BotChat.App({
  botConnection:
  {
    ...botConnection,
    postActivity: activity => {
      // Add whatever needs to be added.                  
      activity.channelData.MyKey = "MyValue";
      return botConnection.postActivity(activity)
    }
  },
  bot: bot,
  user: user,
  resize: 'detect',
}, document.getElementById('bot'));

关于javascript - 使用带有 bot 框架的网络聊天客户端时如何发送自定义 channel 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45743062/

相关文章:

javascript - Rails : file nested fields, 显示在每个字段上选择的文件的名称

javascript - JQuery/Backbone 删除在 Jasmine 中不起作用

node.js - 如何使用 azure bot 框架向 skype 组发送通知消息?

c# - 当用户提交字段名称作为值时,FormFlow 禁用字段之间的切换

azure - botframework 网络聊天 V4 构建并生成自定义 CSS 和 JS 文件

javascript - 无法获取未定义或空引用的属性 'indexOf'

javascript - 在特定页面位置更改 div css

javascript - Jest 测试 .toBeInstanceOf(Error) 失败

c# - 在机器人中启动对话框而不提示(适用于 C#)

node.js - 如何让 MS bot 与 Hapi 一起工作