Как создать Azure чат-бот, который может отправлять сообщения в чате без участия пользователя
Я пытался разработать лазурные боты раньше. В настоящее время я пытаюсь выяснить, можем ли мы каким-либо образом настроить бота, который может постоянно что-то отслеживать и отправлять сообщения конкретным пользователям без запуска чата.
Например, бот контролирует систему и обнаруживает, что что-то не так, и отправляет сообщение чата пользователю (в этом случае бот инициирует чат). Я провел некоторое исследование, но пока не смог найти способ достичь этого.
Заранее спасибо,
DM
1 ответ
Эта концепция называется Упреждающий обмен сообщениями в Bot Framework. Вот некоторые примеры в 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
Редактировать:
Вы также можете создать бот функций в Azure, используя шаблон Proactive, и он создаст бота с файлом BasicProactiveEchoDialog.csx, который демонстрирует, как добавить в облако CloudQueueMessage в CloudStorageAccount. Шаблон также создаст функцию Azure, которая запускается при добавлении в очередь. Когда функция сработает, она отправит сообщение в очередь пользователю на канале.