我们正在构建一个 ActionType.Postback 无法正常工作的机器人。 机器人中的某些地方确实可以工作,但所附的示例却不能。 该示例是使用 Bot 框架 4.1.5 构建的。 任何帮助表示赞赏。
if (turnContext.Activity.Type == ActivityTypes.Message)
{
if (turnContext.Activity.Text == "help")
{
var reply = turnContext.Activity.CreateReply();
reply.Text = $"Hello {turnContext.Activity.From.Name}! How can i help you today? ";
var welcomeCard = new HeroCard
{
Buttons = new List<CardAction>
{
new CardAction {Title = "option1", Value = "option1", Type = ActionTypes.PostBack},
new CardAction {Title = "option2", Value = "option2", Type = ActionTypes.PostBack},
new CardAction {Title = "option3", Value = "option3", Type = ActionTypes.PostBack}
}
}.ToAttachment();
reply.Attachments.Add(welcomeCard);
await turnContext.SendActivityAsync(reply, cancellationToken);
}
else
{
最佳答案
这似乎只是 Bot Framework Emulator 中的一个错误,如果您将机器人发布到另一个 channel ,应该可以正常工作。我已经将其作为错误提交给开发团队。 https://github.com/Microsoft/BotFramework-Emulator/issues/1140
请注意,PostBack Action 仅在某些 channel 中有效,如果不支持,则默认为 ImShow。在不支持回发的 channel 中,响应文本值将对对话中的所有参与者可见。
关于botframework - V4 Botframework ActionTypes.PostBack 在聊天中显示所选选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53592266/