第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

一個(gè)簡(jiǎn)單的提示需要 WaterfallDialog 嗎?

一個(gè)簡(jiǎn)單的提示需要 WaterfallDialog 嗎?

我是來(lái)自 v3 的 BotFramework v4 的新手,很難理解 v4 的對(duì)話概念我試圖詢問(wèn)用戶,例如他的年齡,然后我想結(jié)束對(duì)話我試圖動(dòng)態(tài)地將對(duì)話框添加到DialogSet但兩者ContinueDialogAsync都ResumeDialogAsync不會(huì)被調(diào)用。對(duì)話在提示后立即結(jié)束,無(wú)需等待答案。這是 TextPrompt 的調(diào)用:dialogContext.Dialogs.Add(new TextPrompt("age"));return await dialogContext.PromptAsync("age", new PromptOptions{    Prompt = MessageFactory.Text("How old are you?")});我真的需要一步實(shí)現(xiàn) WaterfallDialog 來(lái)實(shí)現(xiàn)這一點(diǎn)嗎?
查看完整描述

2 回答

?
蝴蝶刀刀

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊

您不需要使用瀑布對(duì)話框。Simple Prompt Bot Sample應(yīng)該可以幫助您入門(mén)。

相關(guān)代碼片段

if (results.Status == DialogTurnStatus.Empty)

{

    // A prompt dialog can be started directly on the DialogContext. The prompt text is given in the PromptOptions.

    await dialogContext.PromptAsync(

        "name",

        new PromptOptions { Prompt = MessageFactory.Text("Please enter your name.") },

        cancellationToken);

}


// We had a dialog run (it was the prompt). Now it is Complete.

else if (results.Status == DialogTurnStatus.Complete)

{

    // Check for a result.

    if (results.Result != null)

    {

        // Finish by sending a message to the user. Next time ContinueAsync is called it will return DialogTurnStatus.Empty.

        await turnContext.SendActivityAsync(MessageFactory.Text($"Thank you, I have your name as '{results.Result}'."));

    }

}

}

有關(guān)更多信息,我在此問(wèn)題上發(fā)布了類似的答案,并且我有一位同事在此處給出了類似的答案。



查看完整回答
反對(duì) 回復(fù) 2022-10-15
?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊

好的,我想自己回答這個(gè)問(wèn)題:botframework v4 有一個(gè)IBot接口,每條消息都通過(guò)你實(shí)現(xiàn)的接口的單例實(shí)例進(jìn)行路由。所以我的想法是,啟動(dòng)的對(duì)話會(huì)直接得到用戶的響應(yīng)。相反,您的實(shí)現(xiàn)IBot需要?jiǎng)?chuàng)建一個(gè) dialogContext 并且還需要在OnTurnAsync方法中繼續(xù)活動(dòng)對(duì)話框:


var dialogContext = await _dialogs.CreateContextAsync(context, cancellationToken);


if (dialogContext.ActiveDialog is null)

{

    await dialogContext.BeginDialogAsync(nameof(AgeDialog),

        cancellationToken: cancellationToken);

}

else

{

    await dialogContext.ContinueDialogAsync(cancellationToken);

}



await _accessor.ConversationState.SaveChangesAsync(context, false, cancellationToken);



查看完整回答
反對(duì) 回復(fù) 2022-10-15
  • 2 回答
  • 0 關(guān)注
  • 87 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)