【发布时间】:2019-04-25 23:25:04
【问题描述】:
我正在创建一个带有标题、显示文本、文本和值的消息反馈按钮(v3 SDK)。运行机器人时标题设置正确,点击按钮后没有出现显示文本。
我已经设置了两张卡片动作。
CardAction yesBtn = new CardAction()
{
Type = ActionTypes.MessageBack,
Title = "Yes",
DisplayText = "OK",
Text = "Yes",
};
CardAction noBtn = new CardAction()
{
Type = ActionTypes.MessageBack,
Title = "No",
DisplayText = "No",
Text = "No",
};
我找不到任何解决此问题的方法。 最相似的是: CardAction DisplayText doesn't seem to work 但没有答案。
微软bot框架的文档说
显示文本
可选的。执行操作时由用户在聊天流中回显。此文本不会发送到您的机器人。
但单击按钮后没有任何反应。
我也试过imBack ActionType,结果是一样的。
我在 bot 模拟器和 azure 门户上测试它,都不起作用。
【问题讨论】:
-
您使用的是什么渠道?您是否尝试过使用 PostBack 而不是 MessageBack?查看CardActions 文档。
-
感谢您的回复。我正在使用模拟器进行测试。而且 PostBack 也不起作用。
-
卡行为本质上是特定于渠道的,因此实际上您为哪个渠道构建此机器人非常重要。即使您在模拟器中获得了所需的行为,它可能仍然无法在您的目标通道中工作。您可以在目标通道中进行测试,同时仍使用ngrok 在本地运行机器人。那么这个机器人是用于什么渠道的呢?
-
感谢@KyleDelaney 的回复,我正在为facebook messenger 构建这个机器人。稍后我将在目标频道上测试我的机器人。那么,因为卡片行为是“通道特定的”,一些卡片功能比如 messageBack 可能无法在 Emulator 通道上测试?顺便说一句,感谢您提供的信息。
-
这不是能不能在模拟器中测试的问题。关键是模拟器的行为不可能与每个通道都相同,因为并非所有通道都以相同的方式处理给定类型的动作。仅仅因为某些东西在模拟器中有效并不意味着它会在您的目标频道中以相同的方式工作。
标签: c# botframework