Платформа ботов Microsoft с signalr

Мне интересно, как бы я связал бота Microsoft, написанного на С#, с чатом signalr. Чтобы быть конкретным: у меня есть сигнальный чат, в котором пользователи могут общаться с «тренерами». Но бот должен слушать эти чаты на случай, если пользователь что-то спросит у бота (или по другим причинам, по которым боту нужно что-то сделать). Как бы я это сделал?


person Tom Esendam    schedule 28.11.2019    source источник
comment
Вы пытались передать этот чат боту OnMessageActivityAsync контекст?   -  person Md Farid Uddin Kiron    schedule 28.11.2019
comment
Нет. Как мне это сделать? Мне не разрешено отправлять вызовы API из сигнального концентратора боту. Бот должен действовать как клиент.   -  person Tom Esendam    schedule 28.11.2019


Ответы (1)


Ознакомьтесь с этими ресурсами, которые должны предоставить вам достаточно объединенной информации для создания соединителя для вашего бота для взаимодействия с SignalR.

  • Это руководство Подробно о том, как создать приложение ASP.NET Core, которое интегрирует SignalR. Использует клиентскую библиотеку SignalR.
  • В этом документе обсуждается, как для создания функции Azure, которая «может использовать привязки службы Azure SignalR для добавления возможностей в реальном времени». Я не знаю, используете ли вы вариант SignalR для Azure и не упомянули ли вы функции Azure, но это может дать представление о том, как спроектировать и реализовать.
  • Возможно, вам потребуется использовать API-интерфейсы REST BotFramework (документы здесь), чтобы перенаправлять и получать действия вашего бота (в зависимости от того, как вы все это структурируете). Если вы создаете коннектор как часть того же проекта, что и ваш бот, то это менее вероятно.
  • Вам нужно будет понять activity схема, чтобы вы правильно интерполировали данные, передаваемые вашему боту и обратно.
  • Наконец, вот некоторые коннекторы из репозитория Botbuilder-Community. который вы можете использовать в качестве эталона (Alexa, Google, Twitter) для разработки.

Как вы, вероятно, знаете, вам необходимо создать службу, которая позволит вашему боту подключаться к SignalR. Это означает аутентификацию в службе SignalR для получения токена или аналогичного. Как только это будет завершено, дело за передачей данных. Если вы можете успешно передавать данные, значит, ваш бот настраивается на ответ и отправку действий, которые SignalR может принять (например, карта героя может отображаться, а адаптивная карта — нет).

Надежда на помощь!

person Steven Kanberg    schedule 02.12.2019