2016-09-15 41 views
0

我正在与微软BotFramework一起使用Skype的机器人,我正在寻找一种方式将其分享给授权人员。 我知道我可以例如显示一个链接来将bot添加到私人页面上,但我认为任何人都可以分享此链接并将bot添加到他的Skype帐户。Skype机器人安装限制

有没有人已经这样做?任何想法 ?

谢谢

回答

1

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

+0

同意。如果您有认证服务,则还可以遵循认证模式(向用户传递蓝色链接,他们单击并登录,然后将该访问令牌映射到他们的channelAccount)。 –

+0

这就是我想要做的,但我不知道如何获得Skype用户的唯一ID,以便将其存储在我的用户表中。我会尝试使用“session.agent”。谢谢 –

0

我试图让session.agent var - > undefined。 这里是我的会话的转储:

{ 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的一个唯一的标识符,以便在我databas用户搭配呢?理想情况下,我想在我的用户表中添加一个字段“skypeId”。

谢谢