2017-05-06 41 views
-3

我正在研究bot,我们将向多家公司提供bot服务,每家公司都会有自己的数据库(SAS),但只要使用单个机器人,每当客户请求时,我们都会看,哪个公司客户端属于,并且bot将分别连接到db然后给用户回复, 我们如何以更好的方式处理这个问题。bot与多个公司数据库通信

+0

你问的是如何认证用户?请参阅AuthBot示例:https://github.com/MicrosoftDX/AuthBot –

回答

1

我能想到的一些场景:

  1. 如果机器人的逻辑将是每家公司一样,和部署机器人实例应该ONE(同样为每家公司),那么你需要检查代码与哪个公司数据库进行交易,就像你说的那样。这里可以进行多种设计选择,在内部使您的代码具有通用性和“公司”独立性。

但我会尝试做(避免检查每哪家公司客户端属于时间)是使用户进行身份验证一次,所以你可以在一些地方保存,的的conversationId之间的映射用户(识别您的机器人专用用户对话)以及您应该为该用户创建的公司服务或数据库。我会将其存储在Azure表存储或SQL Server数据库中。

每次将来,用户都会查询机器人,您将查询该数据库并知道重定向消息的服务。

  • 如果机器人逻辑将是每家公司的相同,但有每个客户端部署(例如特定漫游实例:不同品牌形象,不同的名称,不同的产品),那么也很简单,只需以通用,可重用和可扩展的方式构建机器人,就可以使用相同的机器人逻辑并将其适应于特定场景。每个公司的bot。

  • +0

    我对所有公司都使用相同的bot逻辑。 –