Фреймворк Microsoft Bot сессия. - PullRequest
0 голосов
/ 24 апреля 2018

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

Теперь я попытался пойти по пути к endDialog (), а затем replaceDialog ();

callRequest.GetWebAPICall(session, urlData, function (body) {
        if(body.statusCode == 200) { 
            if(body.data == undefined) { 
                builder.Prompts.choice(session,Want to Select List?", "Yes|No",{listStyle: builder.ListStyle.button});
            } else { 
                session.endDialog();
                session.replaceDialog('/Show List');                
            }
        } else {
            session.send('Something went wrong. You can use the back or top command.');
            session.replaceDialog('/menu');
        }
    });

Требуется знать, заменяю ли я строки ниже

session.endDialog();
session.replaceDialog('/Show List');  

на

session.endDialog('/Show List');

1 Ответ

0 голосов
/ 25 апреля 2018

Нет.endDialog() не имеет функциональности для запуска нового диалога.Вы можете обратиться к интерфейсу определения функции endDialog(message?: TextOrMessageType, ...args: any\[\]): Session;.

В вашем случае, '/Show List' будет отправлено пользователю в виде сообщения.

И есть также недоразумение по поводу replaceDialog().

Завершает текущий диалог и начинает новый на его месте.Родительский диалог не будет возобновлен, пока не завершится новый диалог.

Если вам нужно сохранить предыдущее диалоговое окно, вы можете использовать beginDialog()

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