Как добавить второй SMS-канал Twilio в одно приложение Microsoft Bot Framework v4? - PullRequest
0 голосов
/ 19 мая 2019

У меня есть бот Microsoft Bot Framework v4.Имеется SMS-канал Twilio.Оба работают.Моя цель - добавить второй номер телефона Twilio SMS, который указывает на того же бота.

Я написал код на сервере, чтобы прочитать RecipientId и RecipientName.Я хочу, чтобы сервер распознал, с какого числа пользователь отправил SMS-сообщение, и ответил в зависимости от этих данных.

Я написал класс (MyBotCredentialProviderStd), который реализует ICredentialProvider.Он выделяет и хранит экземпляр SimpleCredentialProvider и передает вызовы этому объекту.Когда он получает вызов IsValidAppIdAsync, он сравнивает идентификатор приложения со статическим значением (на данный момент), соответствующим регистрации второго бота для того же серверного приложения.Если совпадение, верните true.Если не совпадают, позвоните в класс MS.То же самое для метода GetAppPasswordAsync.

Этот код работает.Я могу отправлять текстовые сообщения на два SMS-сообщения Twilio.Сервер считывает номер целевого телефона и отвечает.

Есть ли способ сделать это на портале Azure?Есть ли лучший или более простой подход?

Спасибо,

Адам Лефферт www.leffert.com

1 Ответ

0 голосов
/ 20 мая 2019

Есть ли способ сделать это на портале Azure?

К сожалению, нет. Каждую регистрацию каналов бот / ботов веб-приложения можно связать только с одним номером Twilio.

Есть ли лучший или более простой подход?

Подход, который вы используете, вероятно, самый простой. Единственный возможный вариант, о котором я могу подумать, это использовать Twilio SMS API . Поток будет примерно таким:

  1. Создайте сервер, использующий код API SMS Twilio, который в основном просто пересылает сообщения боту через DirectLine API . Пользователь отправляет сообщение на этот сервер

  2. Для каждого действия, отправленного боту, укажите число: Activity.ChannelData = new { fromNumber: <555-555-5555> }. Сервер пересылает сообщение боту

  3. Обработайте активность вашего бота и заново присоедините fromNumber к исходящей активности бота, чтобы ваш сервер Twilio API знал, куда отправлять исходящее сообщение. Бот отправляет ответ на сервер

  4. Затем сервер API Twilio отправляет пользователю Activity.Text. Сервер пересылает сообщение от бота пользователю

Опять же, маршрут, который вы используете, вероятно, самый простой в разработке и обслуживании.

...