我正在使用 IActivityLogger 来记录机器人和用户之间的对话。这里记录器正在记录除 PromptDialog.Choice() 生成的文本之外的所有消息我已经测试了 PromptDialog 的其他方法,例如PromptDialog.Confirm()PromptDialog .Text()这些正在工作,我的意思是正在记录来自这些方法的文本,只有 PromptDialog.Choice 文本没有击中 IActivityLogger。记录器public class Logger : IActivityLogger { public async Task LogAsync(IActivity activity) { Debug.WriteLine(activity.AsMessageActivity()?.Text); } }RootDialog.cspublic async Task StartAsync(IDialogContext context) { string[] choices = new string[]{ "choice 1" , "choice 2"}; PromptDialog.Choice(context, resumeAfterPrompt, choices, "please choose an option."); } private async Task resumeAfterPrompt(IDialogContext context, IAwaitable<object> result) { await context.PostAsync((await result).ToString()); context.Done<object>(null); }除了来自 RootDialog 的 PromptDialog.Choice() 之外,所有其他的来往消息都通过 Logger 类。
2 回答
- 2 回答
- 0 关注
- 160 浏览
添加回答
举报
0/150
提交
取消