Проблема с кнопкой действия диалогового окна бота node.js - PullRequest
1 голос
/ 07 мая 2020

Я пытаюсь создать бота для MS Teams через Microsoft Bot Framework, используя некоторые примеры из Inte rnet.

Я создал карточку пользователя с кнопкой «Просмотреть отчет»

function userCard(session, connector, name, workingStatus, TeamsID) {

    var card = new builder.HeroCard(session)
        .title(name)
        .subtitle(workingStatus.toString())
        .buttons([
            builder.CardAction.dialogAction(session, 'userReport', TeamsID, 'See Report')
        ]);
    return card;
}

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

//Begins the userReport dialog if the button on the userCard is pressed
bot.beginDialogAction('userReport', '/userReport');

Эта функция отлично работает, когда я тестирую ее в эмуляторе Bot Framework. В MS Teams вместо запуска диалогового окна userReport он переходит в основной диалог (тот, который используется при отправке сообщения). Чтоб эта кнопка вообще не работала.

Подскажите, пожалуйста, что нужно настроить / добавить, чтобы эта кнопка работала в MS Teams?

Заранее спасибо!

1 Ответ

0 голосов
/ 07 мая 2020

Слава богу, вы только начали. Похоже, вы используете Bot Framework V3, который сильно устарел. Вы обязательно должны переключиться на V4 .

У Teams есть свои дополнительные хитрости. Я рекомендую попробовать и изучить каждый из этих примеров:

Затем прочтите сообщение в блоге Adaptive Cards .

Обычно ответ от адаптивной карты возвращается в формате activity.value, поэтому в onTurn(), вы захотите использовать оператор if для отслеживания activity.value значения, отправляемого в адаптивную карту, когда пользователь нажимает «Просмотреть отчет». Затем используйте beginDialog или dialog.run(), в зависимости от ситуации, чтобы начать диалог.

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