3

チェーン インターフェイスをルート ダイアログとして使用して、ユーザー メッセージによって会話を切り替えたいと考えています。

私の問題は、LuisDialog がユーザーからのメッセージを待つことです。そのため、チェーン環境では、Luis が意図の 1 つを返す前に、ユーザーは入力を 2 回書き込む必要があります。

これは私のコード例です:

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 を Chain で使用することは可能ですか? または複数のダイアログを一緒に使用するにはどうすればよいですか?

ありがとうマルコ

4

1 に答える 1