我正在使用Microsoft BotFramework为Skype制作机器人,而我正在寻找一种方法,只能将其分享给授权人员。 我知道我可以举例说明在私人页面上添加机器人的链接,但我认为任何人都可以共享此链接并将机器人添加到他的Skype帐户。
有没有人这样做过?有什么想法吗?
谢谢
答案 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”。
谢谢