Как соединить два проекта? Один для машинописного текста, а другой написан в рамках бота c# - PullRequest
1 голос
/ 09 марта 2020

Я использую Microsoft Bot Framework, и я застрял в одном приложении.

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

this.router.navigateByUrl("/the link I want")

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

Единственный атрибут, который я получил от внешнего интерфейса для этой кнопки приглашения в чат-бот, - это его aria-label и className.

Может кто-нибудь предложить какую-нибудь помощь или пережил ту же ситуацию?

1 Ответ

0 голосов
/ 16 марта 2020

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

Что касается диалога компонента, посмотрите образец 13.core-bot в репозитории BotBuilder-Samples. Если вы заметили, класс BookingDialog (в BookingDialog.cs) расширяет CancelAndHelpDialog. CancelAndHelpDialog фильтрует входящие действия в поисках указанных c введенных пользователем значений (например, "help") и воздействует на них при попадании. В вашем сценарии пользователь вводит некоторое значение, которое будет перехвачено вашим «RedirectDialog» и отправлено обратно на страницу как событие (или другой тип активности), когда диалоговое окно / logi c завершится.

Далее ...

Что касается веб-чата, просмотрите образец 04.api / c .incoming-activity-event в репозитории BotFramework-WebChat. Здесь, если предположить, что ваш бот отправил событие (содержит значение пользователя), веб-чат отреагирует, когда получит указанное событие c, вызвав событие страницы. Вы бы настроили прослушиватель событий, чтобы он отвечал на событие страницы, которое при запуске могло бы открыть перфоманс (), или модал, или все, что вы решили использовать для обработки перенаправления, запрошенного пользователем.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...