【发布时间】:2016-09-15 12:49:21
【问题描述】:
我正在使用 Microsoft BotFramework 为 Skype 开发一个机器人,我正在寻找一种仅与授权人员共享它的方法。 例如,我知道我可以显示一个链接以在私人页面上添加机器人,但我认为任何人都可以共享此链接并将机器人添加到他的 Skype 帐户。
有人已经这样做了吗?有什么想法吗?
谢谢
【问题讨论】:
标签: node.js skype botframework
我正在使用 Microsoft BotFramework 为 Skype 开发一个机器人,我正在寻找一种仅与授权人员共享它的方法。 例如,我知道我可以显示一个链接以在私人页面上添加机器人,但我认为任何人都可以共享此链接并将机器人添加到他的 Skype 帐户。
有人已经这样做了吗?有什么想法吗?
谢谢
【问题讨论】:
标签: node.js skype botframework
您可以尝试创建一个包含允许人员的数据库,并将回复限制为仅限此人。
您需要使用session.agent 变量来查看用户名,以确定该用户是否在您允许的人员列表中。
因此,任何人都可以看到您的机器人,但它只会与您想要的人聊天。
【讨论】:
我试图获取 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 获取唯一标识符,以便将其与我数据库中的用户匹配?理想情况下,我想在我的用户表中添加一个字段“skypeId”。
谢谢
【讨论】: