체인 메시지를 루트 대화 상자로 사용하여 대화를 사용자 메시지로 전환하고 싶습니다. 예를 들어 사용자가 '도움말'을 작성하고 다른 입력을 LuisDialog에서 관리하게하면 HelpDialog를 호출 할 수 있습니다.체인 유창한 대화 상자에서 LuisDialog를 사용하는 방법?
내 문제는 LuisDialog가 사용자로부터 메시지를 기다리므로 체인 환경에서 사용자는 Luis가 의도 한 것을 반환하기 전에 두 번 입력해야한다는 것입니다.
이 내 예제 코드입니다 :
public static readonly IDialog<string> dialog = Chain
.PostToChain()
.Switch(
new Case<IMessageActivity, IDialog<string>>(msg =>
{
var regex = new Regex("^help$", RegexOptions.IgnoreCase);
return regex.IsMatch(msg.Text);
},
(ctx, msg) =>
{
return new HelpDialog();
}),
new DefaultCase<IMessageActivity, IDialog<string>>(
(ctx, msg) => {
return new MyLuisDialog();
})
)
.Unwrap().PostToUser();
이 체인으로 LuisDialog를 사용하는 방법 또는 여러 개의 대화 상자가 함께 사용할 수있는 수 있습니까? 마르코
필요한 경우 대화 상자 내에서 context.forward와 context.call을 사용할 수 있습니다. – OmG