2016-09-15 67 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」。

謝謝