2016-09-15 2 views
0

저는 Microsoft BotFramework로 Skype 용 봇에서 일하고 있는데, 권한있는 사람들에게만 공유하는 방법을 찾고 있습니다. 예를 들어 개인 페이지에 봇을 추가하는 링크를 표시 할 수 있지만 누구나이 링크를 공유하고 봇을 Skype 계정에 추가 할 수 있다고 생각합니다.Skype 봇 설치 제한

누구나 이미 해 보았습니까? 어떤 생각?

고맙습니다.

답변

1

허용 된 사람들의 데이터베이스를 만들고이 사람들에게만 응답을 제한 할 수 있습니다. session.agent 변수를 사용하여 허용 된 사용자 목록에 사용자가 있는지 여부를 결정하려면 사용자 이름을 확인해야합니다. 봇은 누구에게나 표시되지만 원하는 사람과 만 대화 할 수 있습니다.

+0

동의합니다. 인증 된 서비스가있는 경우 인증 패턴 (사용자에게 파란색 링크를 전달하고 클릭하고 로그인 한 다음 해당 액세스 토큰을 해당 채널 계정에 매핑)을 따를 수도 있습니다. –

+0

그게 내가하고 싶었던,하지만 내 사용자 테이블에 저장하기 위해 스카이프 사용자에 대한 고유 한 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] } } } 

가 어떻게 내 databas에서 사용자와 일치하기 위해 스카이프의 고유 식별자를 얻을 수는? 이상적으로 내 사용자 테이블에 "skypeId"필드를 추가하고 싶습니다.

감사합니다.

관련 문제