机器人与多家公司数据库通信

bot with multiple companies db communication

我正在开发 bot,我们将为多家公司提供 bot 服务,每家公司都有自己的 db(SAS),但我们只会使用一个 bot,每当客户提出要求时,我们都会看看是哪家公司客户端属于,bot将分别连接到数据库,然后回复用户, 我们如何才能更好地处理这个问题。

我能想到一些场景:

  1. 如果每个公司的机器人程序逻辑都相同,并且部署的机器人程序实例应该是一个(每个公司都相同),那么您需要检查要与哪个公司数据库进行交易的代码,例如你说。这里可以做出多种设计选择,在内部使您的代码通用且 'company' 独立。

但是我想做的(为了避免每次都检查客户属于哪家公司)是让用户只验证一次,这样你就可以存储在某个地方,用户的 conversationID(标识您的 bot-specificUser 对话)与您应该为该用户点击的公司服务或数据库之间的映射。我会将其存储在 Azure Table 存储或 SQL 服务器数据库中。

以后每当该用户查询机器人时,您将查询该数据库并知道要重定向消息的服务。

  1. 如果每家公司的机器人程序逻辑都相同,但每个客户部署了一个特定的机器人程序实例(例如:不同的品牌形象、不同的名称、不同的产品),那么同样简单,只需以通用、可重用和可扩展的方式构建机器人,这样您就可以使用相同的机器人逻辑并使其适应特定场景

  2. 如果逻辑不同,则为每个公司构建一个自定义机器人。