使用Prompter方法在FormFlow中发送自定义卡片。查看代码时发现有一个GenerateMessages()方法,对于下面的代码总是返回false。有人可以澄清为什么/何时使用这种方法?
.Prompter(async (context, prompt, state, field) => {
var preamble = context.MakeMessage();
var promptMessage = context.MakeMessage();
if (prompt.GenerateMessages(preamble, promptMessage))
{
await context.PostAsync(preamble);
}
else
{
promptMessage.Text = prompt.Prompt;
var attachment = Helper.GetAttachment();
promptMessage.Attachments.Add(attachment);
await context.PostAsync(promptMessage);
}
答案 0 :(得分:0)
.GenerateMessages的代码可以在这里找到:https://github.com/Microsoft/BotBuilder/blob/497252e8d9949be20baa2cebaa6ce56de04461cf/CSharp/Library/Microsoft.Bot.Builder/FormFlow/IPrompt.cs#L248
除非有:
,否则似乎会返回false我没有亲自使用过它,但是在使用FormFlow定义多行提示消息时,这种方法似乎很有用。由于并非所有渠道都支持markdown,因此此方法提供了一些解决方法:启用多行消息。