Skype机器人安装限制

时间:2016-09-15 12:49:22

标签: node.js skype botframework

我正在使用Microsoft BotFramework为Skype制作机器人,而我正在寻找一种方法,只能将其分享给授权人员。 我知道我可以举例说明在私人页面上添加机器人的链接,但我认为任何人都可以共享此链接并将机器人添加到他的Skype帐户。

有没有人这样做过?有什么想法吗?

谢谢

2 个答案:

答案 0 :(得分:2)

您可以尝试创建允许人员的数据库,并仅将响应限制为此人。 您需要使用session.agent变量来查看用户的姓名,以确定用户是否在您允许的人员列表中。 因此,任何人都可以看到您的机器人,但它只会与您想要的人聊天。

答案 1 :(得分:0)

我试图获得session.agent var - >未定义。     这是我的会话转储:

 { domain: 
       { domain: null,
         _events: { error: [Function: onError] },
        _maxListeners: undefined,
     members: [ [Object], [Object] ] },
  _events: { error: [Function] },
  _maxListeners: undefined,
  options: 
   { localizer: undefined,
     autoBatchDelay: 250,
     library: { name: '*', dialogs: [Object], libraries: [Object] },
     actions: { actions: {} },
     middleware: [],
     dialogId: '/',
     dialogArgs: undefined,
     dialogErrorMessage: undefined,
     onSave: [Function],
     onSend: [Function] },
  msgSent: true,
  _isReset: false,
  lastSendTime: 1474355048875,
  batch: 
   [ { type: 'message',
       agent: 'botbuilder',
       source: 'skype',
       address: [Object],
       text: ' help lastMsg lastUser' } ],
  batchStarted: true,
  sendingBatch: false,
  inMiddleware: false,
  library: 
   { name: '*',
     dialogs: { '/': [Object] },
     libraries: { BotBuilder: [Object] } },
  userData: {},
  conversationData: {},
  privateConversationData: {},
  sessionState: 
   { callstack: [ [Object] ],
     lastAccess: 1474355048876,
     version: 0 },
  dialogData: 
   { 'BotBuilder.Data.Intent': '/^help/i',
     'BotBuilder.Data.WaterfallStep': 0 },
  message: 
   { type: 'message',
     timestamp: '2016-09-20T07:04:03.723Z',
     text: 'help',
     entities: [],
     attachments: [],
     address: 
      { id: '2jdYO5OjjEja1zH6',
        channelId: 'skype',
        user: [Object],
        conversation: [Object],
        bot: [Object],
        serviceUrl: 'https://skype.botframework.com',
        useAuth: true },
     source: 'skype',
     agent: 'botbuilder',
     user: 
      { id: '29:1MPrjjbaPcCccdu9BMdA154jiuHUIH4nR7EK9_0p64iEUg',
        name: 'Séverin' } },
  batchTimer: 
   { _idleTimeout: 250,
     _idlePrev: 
      { '0': [Function: listOnTimeout],
        _idleNext: [Circular],
        _idlePrev: [Circular],
        msecs: 250 },
     _idleNext: 
      { '0': [Function: listOnTimeout],
        _idleNext: [Circular],
        _idlePrev: [Circular],
        msecs: 250 },
     _idleStart: 364730333,
     _onTimeout: [Function],
     _repeat: false,
     domain: 
      { domain: null,
        _events: [Object],
        _maxListeners: undefined,
        members: [Object] } } }

我如何从Skype获取唯一标识符,以便与我的数据库中的用户匹配?理想情况下,我想在我的用户表中添加一个字段“skypeId”。

谢谢