【问题标题】:How to create an azure chat bot which can send chat messages without any user input如何创建一个无需任何用户输入即可发送聊天消息的 azure 聊天机器人
【发布时间】:2018-06-28 14:20:44
【问题描述】:

我之前尝试过开发 azure 机器人。目前我正在尝试找出是否有任何方法可以设置一个机器人,该机器人可以持续监控某些内容并向特定用户发送消息,而无需用户发起聊天。

例如,机器人监控系统并发现问题并向用户发送聊天消息(在这种情况下是机器人发起聊天)。我做了一些研究,但还没有找到任何方法来实现这一点。

提前致谢,

私信

【问题讨论】:

  • 您的目标是哪个渠道?这仅适用于某些频道

标签: bots botframework azure-bot-service microsoft-skype-bot


【解决方案1】:

这个概念在 Bot Framework 中被称为 Proactive Messaging。这里有一些 C# 示例:https://github.com/Microsoft/BotBuilder-Samples/tree/master/CSharp/core-proactiveMessages 和 node.js 这里:https://github.com/Microsoft/BotBuilder-Samples/tree/master/Node/core-proactiveMessages

需要注意的是,不同的渠道对何时可以向用户发送主动消息有不同的限制。例如,在 Facebook 上,从用户向机器人发送消息开始,您有 24 小时的窗口。 24 小时后,如果用户未向机器人发送消息,则不允许主动发送消息。

更多信息可以在这个文档中找到:https://docs.microsoft.com/en-us/bot-framework/dotnet/bot-builder-dotnet-proactive-messages

编辑:

您还可以使用 Proactive 模板在 Azure 中创建一个 Functions Bot,它将创建一个具有 BasicProactiveEchoDialog.csx 的机器人,用于演示如何将 CloudQueueMessage 排队到 CloudStorageAccount。该模板还将创建一个由添加到队列中触发的 Azure 函数。当该函数被触发时,它会将排队的消息发送给频道上的用户。

【讨论】:

  • 非常感谢埃里克。我的场景略有不同。我的机器人应该能够持续监控某些东西,并且只有在需要时才通知用户。例如,系统出现问题,然后通过 Skype 等渠道向用户发送消息。因此,机器人仅在需要时才发起聊天。我做了一些研究,似乎可以从 Azure 功能启动聊天机器人。但我仍然找不到一个好的 c# 示例/让它工作。首先,我正在尝试从 Azure 函数触发时间 - 即:在特定时间间隔调用我的机器人。还不能让它工作。
  • @D.Manjali 我已经用 Azure 中的主动模板的一些信息更新了我的答案。
  • 非常感谢埃里克。感谢您的支持。我会试试这些。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 2018-01-09
  • 2021-09-03
  • 1970-01-01
相关资源
最近更新 更多