如果我发送普通消息,可以将ChannalData添加到消息中:

IMessageActivity message = Activity.CreateMessageActivity();
message.ChannelData = JObject.Parse("{'messaging_type':'RESPONSE'}");


但是,如果我使用的是FormBuilder,

return new FormBuilder<SandwichOrder>()
    .Message("Welcome to the sandwich order bot!")
    .
    ...
.Build();


我不知道如何添加ChannelData。

以下信息在Facebook开发文档中找到,这也是我问这个原因的原因。


  变更通知
  从2018年5月7日开始,将需要messages_type属性,并且没有传递的所有消息都不会传递。

最佳答案

您可以通过在OnCompletion委托中实现它来实现。填写表格后触发。

    return new FormBuilder<SandwichOrder>()
        .Message("Welcome to the simple sandwich order bot!")
        .OnCompletion((context, state) => context.Activity.ChannelData = JObject.Parse("{'messaging_type':'RESPONSE'}"))
        .Build();

10-06 01:00