首页 > 解决方案 > 如何在没有 azure 的情况下发布和部署多渠道机器人?

问题描述

一旦我阅读了 Microsoft bot 框架,我就意识到它是一个编写一次代码并随处运行的平台...... 我对 Microsoft bot 框架的理解是否正确?还是我期望太高?

然后我为我的 Windows 笔记本电脑下载了 Bot Composer 并创建了一个机器人。它适用于模拟器。

我的问题/问题是如何在没有 azure 的情况下发布和部署我的机器人?

我在 Hetzner 上有一个 VPS,我想在那个 vps 中托管我的机器人。机器人作曲家只有使用 azure 的选项,我没有 Microsoft 应用 ID 和 Microsoft 应用密码。我该怎么办 ?

在此处输入图像描述

这张图表中,可以看到有的社交平台使用azure,有的使用sdk,例如Telegram -->> SDK,是什么意思?!?!?

这是否意味着您必须为 Azure 付费才能为 Telegram 发布您的机器人?

这个链接中,我必须注册一个机器人,那里有一个按钮,上面写着:创建 Microsoft App ID 和密码。

我点击它并创建了一个,里面有Microsoft App ID,但没有密码。 在此处输入图像描述

我知道我写的太多了 :)) 但我很困惑,因为我认为文档非常不清楚,付费服务和非付费服务之间的界限也不清楚......

谁能告诉如何在没有 azure 的多个平台的 VPS 上部署一个简单的 echo bot 的说明?

谢谢你。

标签: c#botframework

解决方案


那是一堆问题,将尝试综合。

  1. 是的,它是一次代码,可从多个渠道使用……但并非所有渠道都具有相同的功能。

  2. 机器人应用程序“只是”具有 REST API 端点的状态机,用于接收消息并将回复发送回(从 30,000 英尺处观察)

  3. 你可以在任何地方托管你的应用程序,它只需要一个有效的公共 https 地址,你可以在 Azure 的机器人通道注册中配置该地址。

  4. Azure Bot Service 是一个通道聚合器,它处理您提到的图表中列为“Azure”的通道的所有连接详细信息。这些通道由机器人框架“自动”处理。

    您可能想阅读我前段时间写的一篇博文,它有点过时但在概念上仍然有效:
    Bot Builder v4 bot 是如何工作的?

  5. 对于那些不在 Azure 中的频道,你必须在你的 Web 应用程序中使用提供商提供的 SDK 来处理每个频道。当然,你也可以自己实现授权和所有细节,毕竟它只是一个 API 端点。

  6. 如果您使用标准频道,您实际上不必为使用机器人服务频道付费 Azure ,而且付费频道的成本很低。

  7. 至于在 Azure 之外部署,假设您仍将使用免费或接近免费的 Bot 服务:

    • 按照部署您的机器人中的第 1-3 节

    • 在任何你想要的地方部署网络应用程序(甚至在本地使用ngrok,类似于我在另一篇博文中展示的内容。

    • 完成上述所有操作后,您应该能够从频道网络聊天甚至 Telegram 测试该机器人,一旦您启用它,同时您的应用程序在 VS 中运行


推荐阅读