Заставить бота перевести активность с помощью Microsoft Bot SDK - PullRequest
0 голосов
/ 05 ноября 2018

У меня есть прогресс режима на моем боте, но я не решил мою проблему. Вы можете просмотреть мой новый пост, который более подробно (и имеет реальный код) здесь.

Ранее я использовал Telegram в качестве службы обмена сообщениями, у него был RESTful API, где я мог заставить бота пересылать сообщение определенному разговору, идентифицированному идентификатором чата. Я пытался найти способ тиражировать аналогичные функции для команд с помощью Microsoft Bot SDK. Я изучил документацию MS по проактивному обмену сообщениями и RESTful API, но я не думаю, что они выполняют аналогичную задачу.

Чтобы быть более подробным, моя цель заключается в следующем: Из моего приложения отправьте запрос POST на мой бот, который содержит

  • необходимые учетные данные
  • Сообщение / вложение для пересылки
  • Идентификатор разговора, кому переслать это сообщение на

По запросу, пошаговое объяснение рабочего процесса:

  1. Пользователь в моем веб-приложении вызывает тревогу.
  2. Этот сигнал тревоги вызывает запрос POST с сообщением, которое отправляется боту для отправки пользователям MS Teams.
  3. Бот получает запрос POST и отправляет сообщение на указанные разговоры
    • Пользователи и групповые чаты будут указаны в запросе POST или сохранены в базе данных, которую бот может достичь

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

Если кто-то может дать совет или указать мне ресурсы, которые, по его мнению, будут полезны, я был бы очень признателен.

Редактировать: В настоящее время я изучаю стратегию отправки запроса POST боту с дополнительным полем JSON, которое указывает, что сообщение будет переслано и кому. Будет ли обновление, если я найду, что это работает.

Спасибо.

1 Ответ

0 голосов
/ 08 ноября 2018

Вы можете опубликовать свое сообщение для определенного разговора, используя Упреждающее сообщение .

    var parameters = new ConversationParameters
    {
        Bot = new ChannelAccount(botId, botName),
        Members = new ChannelAccount[] { new ChannelAccount(userId) },
        ChannelData = new TeamsChannelData
        {
            Tenant = channelData.Tenant
        }
    };

    var conversationResource = await connectorClient.Conversations.CreateConversationAsync(parameters);

Примечание: отправка ответа из комментариев.

...