Как создать лазурного чат-бота, который может отправлять сообщения в чате без какого-либо вмешательства пользователя

Раньше я пробовал разрабатывать лазурных ботов. В настоящее время я пытаюсь выяснить, можно ли каким-либо образом настроить бота, который может постоянно что-то отслеживать и отправлять сообщения определенным пользователям, не инициируя чат.

Например, бот отслеживает систему, находит что-то не так и отправляет пользователю сообщение чата (в этом случае бот инициирует чат). Я провел небольшое исследование, но пока не нашел способа добиться этого.

Заранее спасибо,

DM


person D. Manjali    schedule 19.01.2018    source источник
comment
На какой канал вы ориентируетесь? Это возможно только для некоторых каналов   -  person Nicolas R    schedule 20.01.2018


Ответы (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, которая запускается добавлением в очередь. Когда функция запускается, она отправляет сообщение из очереди пользователю на канале.

person Eric Dahlvang    schedule 19.01.2018
comment
Большое спасибо, Эрик. Мои сценарии немного отличаются. Мой бот должен иметь возможность постоянно что-то отслеживать и уведомлять пользователя только в случае необходимости. Например, что-то не так в системе, а затем отправляется сообщение пользователю через такие каналы, как Skype. Таким образом, бот запускает чат только тогда, когда это необходимо. Я провел небольшое исследование, и похоже, что с помощью функции Azure можно запустить чат-бота. Но я все еще не мог найти хороший образец С # / заставить его работать. Для начала я пытаюсь использовать триггер времени из функции Azure, то есть: вызывать моего бота через определенные промежутки времени. Пока не удалось заставить его работать. - person D. Manjali; 20.01.2018
comment
@ D.Manjali Я обновил свой ответ, добавив некоторую информацию о шаблоне Proactive в Azure. - person Eric Dahlvang; 24.01.2018
comment
Большое спасибо, Эрик. Ценю твою поддержку. Я попробую это. - person D. Manjali; 25.01.2018