我们正在建立一个机器人,要求我们的每个客户都拥有自己的短信频道(他们的唯一电话号码)。从我们可以用bot框架的文档告诉我们的一切都没有办法做到这一点。我们希望我们的每个客户都能够通过twilio将机器人添加到他们自己的SMS号码中。这可能吗?
答案 0 :(得分:4)
我们可以通过机器人框架的文档告诉我们没有办法做到这一点。
是的,你是对的。
我们希望我们的每个客户能够通过twilio将机器人添加到他们自己的SMS号码中。这可能吗?
不,实际上这是不可能的:)
很快,BotFramework由三部分组成:
因为每个通道每个通道只能关联一次,因此每个bot都可以通过bot连接器进行多租户。
一种解决方案是通过为每个客户创建端点,通过Web API服务端创建多租户。可维护性将很困难,因为多个端点最终会使用相同数量的机器人来管理机器人管理员。每个机器人都会与您的客户编号相关联。
更新:(我没有测试过,但我确信它可以正常工作)
另一种解决方案是使用它暴露的DirectLine频道及其Rest API。如果您选择此解决方案,则意味着您需要做很多事情才能在创建直线渠道后正常工作:
希望它有所帮助。
答案 1 :(得分:0)
你绝对可以这样做。
您实施ICredentialProvider,负责通过AppId查找appPassword并验证密码是否正确。这意味着您可以拥有一个端点服务的bot AppId / Passwords数据库,并查找appid / secret并验证呼叫。
[BotAuthentication(CredentialProviderType = typeof(SimpleCredentialProvider))]
这是一个简单的示例实现 https://docs.botframework.com/en-us/csharp/builder/sdkreference/d3/dde/_credential_provider_8cs_source.html