识别用户何时使用 skype web 控件 - 在 botframework 上

Identify when a user is using the skype web control - on botframework

我正在寻找一种方法来识别用户是否正在使用 Skype Web 控件而不是通过标准客户端发送消息。 是否有任何参数附加到 session 对象或任何其他方式? 或者可能是像 Facebook Messenger 那样的 ref 参数?

我还想知道用户是否经过身份验证 - 我可以看到该名称始终是 Guest,但它似乎不是一种非常可靠的检查方法。

您可以通过 bot receive 中间件事件检测到它,例如

bot.use({
  receive: function (event, next) {
    // handle `event.entities` for your needs
    console.log(event.entities)
    next();
  },
}); 

event.entities 应该是这样的:

 [ { locale: 'en-US',
       country: 'US',
       platform: 'Web',
       type: 'clientInfo' } ],

对于网络版 Skype,platform 属性 是 Web,对于 windows 客户端,platform 属性 是 Windows.