Могу ли я иметь несколько контроллеров в боте?? если да, то как я могу обрабатывать конечные точки

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


person Monika Rani    schedule 09.07.2017    source источник
comment
Конечно, вы можете иметь несколько контроллеров в одном проекте. Вам нужно будет подключить коннектор к этому контроллеру. Делать это с чем-либо еще, кроме Directline, кажется невозможным. Но я не вижу смысла в использовании более одного контроллера. ваша разговорная логика идет не в контроллер, а в корневой диалог вашего бота.   -  person meq    schedule 09.07.2017
comment
хорошо, спасибо за ваш ответ, не могли бы вы просто указать мне какой-либо ресурс, где я могу правильно понять цепочку диалогов с использованием luis, потому что я использую намерение LUIS ... это будет более полезно для меня. Я прочитал документы бота, и они дают просто обычную цепочку диалогов, а не LUIS. Надеюсь, вы поможете мне в этом.   -  person Monika Rani    schedule 10.07.2017


Ответы (1)


Предполагая, что вы используете С#:

вы можете вызвать несколько диалогов, и есть несколько способов сделать это. Некоторую документацию по диалоговым окнам можно найти в этом блоге< /а>. Также есть отличная информация и ссылки в этой записи о переполнении стека. Вот несколько примеров того, как использовать несколько диалогов.

использование Chain при вызове формы, где PizzaOrderDialog — это форма:

internal static IDialog<PizzaOrderDialog> MakeFormDialog()
{
            return Chain.From(() => FormDialog.FromForm(PizzaOrderDialog.BuildForm));
} 

Это пример переадресации диалога:

await context.Forward(new SomeDialog(), ResumeAfterSomeDialog, context.Activity.AsMessageActivity(), CancellationToken.None);

В вашем случае вам может понадобиться использовать Scoreables, а также отличное видео здесь.

person D4RKCIDE    schedule 10.07.2017