Проактивный обмен сообщениями с использованием Bot Framework 4 - PullRequest
0 голосов
/ 06 декабря 2018

Я использую C # (.NET Core) с Bot Framework v4 для разработки службы бота.Я новичок в Bot Framework.

Формулировка проблемы выглядит следующим образом:

  • Я хочу иметь возможность хранить некоторые вопросы по подписке o365 SharePoint в списке.В структуре данных списка будет столбец, содержащий пользователей, которые являются целевой аудиторией для вопроса.
  • Когда вопрос будет добавлен в список, я хочу, чтобы мой бот отправлял вопросы предполагаемым пользователям в Microsoft.Команды.
  • Даже если пользователь не подключен к группам, я бы хотел отправить ему уведомление в чате Команды, что-то вроде «Пропущенный разговор».

СейчасЯ понимаю, на самом начальном уровне, что ключ здесь - Проактивная передача сообщений с использованием бота.Что я не могу выяснить или найти в каких-либо статьях на форуме, так это то, как мне написать своего бота для перехода в SharePoint (может быть с использованием опроса или событий) и получения информации, а затем отправлять извлеченные данные пользователям в личном кабинете 1-Командный чат to-1?

На данный момент я сделал следующее:

  • Я написал свою бизнес-логику SharePoint для получения информации.
  • Бот вызывает этобизнес-логика, когда он получает активность от пользователя.то есть, скажем, пользователь говорит «Привет», и бот отправляется и получает информацию из SharePoint и возвращает ее пользователю в окне чата.

Любая помощь будет принята с благодарностью.

Ура,

Йогеш

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Мне удалось выполнить вышеупомянутые задачи.Для начала я слишком много думал, и решение было простым.

Я написал бесконечный цикл с асинхронным вызовом SharePoint через регулярные промежутки времени, используя простой Task.Delay ( миллисекунды ), и задал вопросызаблаговременно при обнаружении.

Что касается обмена сообщениями 1: 1, я использую расширение Teams для Bot Framework, чтобы хранить индивидуальную информацию о канале и отправлять сообщения в приватном чате пользователям по мере необходимости, когда есть что отправлять на основеФункциональность опроса выше.

Надеюсь, что это прояснит ситуацию для кого-то, кто может надеяться на что-то подобное.

Приветствия, Y

0 голосов
/ 07 декабря 2018

Я предполагаю, что вы должны быть в состоянии достичь поставленных целей, но при поиске помощи обязательно разбейте их на более мелкие проблемы.Для достижения этих целей вам могут потребоваться и другие слои.

Как вы обнаружили, проактивные сообщения - это то, что вы хотите использовать со стороны бота, чтобы отправлять сообщения пользователям, чтобы они не вовлекали бота в первую очередь.Вы не добьетесь успеха (особенно в командах), если пользователи никогда ранее не взаимодействовали с ботом, так как необходимо, чтобы бот знал, как с ними связаться (прежний разговор и т. Д.),Пожалуйста, найдите больше информации здесь и здесь .

Что я не могу выяснить или найти в каких-либо статьях на форуме, так это то, как я пишу своего ботаперейти в SharePoint (может быть с использованием опроса или событийного управления) и получить информацию, а затем отправить полученные данные пользователям в личном командном чате 1-к-1?

Я написал свою бизнес-логику SharePoint для извлеченияИнформация.Бот вызывает эту бизнес-логику, когда получает активность от пользователя.то есть, скажем, пользователь говорит «Привет», и бот отправляется и получает информацию из SharePoint и возвращает ее пользователю в окне чата.

Итак;кажется, что часть, которую вы пропускаете, является промежуточным слоем, который выполняет опрос или тому подобное. упреждающий пример просто использует события поворота, чтобы затем «упреждающе» отправить сообщение пользователю.Возможно, вам придется проявить творческий подход.Иметь какую-то другую функцию service / timerjob / без сервера, которая может помочь.

Это статья для v3, но общее представление о проактивных сообщениях хорошо и помогает понять, как лучше всего подходить к парадигме проактивных сообщений.и обеспечить хороший пользовательский опыт: https://docs.microsoft.com/en-us/azure/bot-service/dotnet/bot-builder-dotnet-proactive-messages?view=azure-bot-service-3.0#send-a-dialog-based-proactive-message

...