机器人框架移除卡行动
bot framework remove cardaction
我正在为我的一个聊天机器人使用 Bot Framework(版本 3.0,ASP.NET Bot Framework 模板),并使用 HeroCard 和 CardAction 来获取用户的反馈。我有以下问题:
CardAction 在 Telegram 频道上转换为内联键盘。这很好用,并且用户可以在聊天区域多次使用。用户使用该按钮执行操作后,如何从聊天区域中删除按钮?
我可以将 CardAction 翻译成回复键盘 (reply_markup) 而不是内联标记吗?
CardAction 在 Telegram 中运行良好,但在 Skype 中无法运行。 Skype 将它们显示为外部媒体。
Bot Framework 不直接支持 Telegram 的回复键盘功能,但您仍然可以通过消息的 channelData 字段发送它。 ChannelData 用于发送未直接出现在 Bot Framework 中的特定于通道的消息。在BotBuilder/NodeJS中,这个字段是使用message.sourceEvent方法设置的:
示例(未经测试):
var msg = new builder.Message(session);
msg.sourceEvent({
telegram: {
method: "sendMessage",
parameters: {
text: "This is a reply keyboard",
parse_mode: "Markdown",
reply_markup: JSON.stringify({
"keyboard": [
[{ text: "1" }, { text: "2" }, { text: "3" }],
[{ text: "4" }, { text: "5" }, { text: "6" }],
[{ text: "7" }, { text: "8" }, { text: "9" }],
[{ text: "*" }, { text: "0" }, { text: "#" }]
]
})
}
}
});
session.send(msg);
channelData 字段文档:https://docs.botframework.com/en-us/csharp/builder/sdkreference/channels.html
我正在为我的一个聊天机器人使用 Bot Framework(版本 3.0,ASP.NET Bot Framework 模板),并使用 HeroCard 和 CardAction 来获取用户的反馈。我有以下问题:
CardAction 在 Telegram 频道上转换为内联键盘。这很好用,并且用户可以在聊天区域多次使用。用户使用该按钮执行操作后,如何从聊天区域中删除按钮?
我可以将 CardAction 翻译成回复键盘 (reply_markup) 而不是内联标记吗?
CardAction 在 Telegram 中运行良好,但在 Skype 中无法运行。 Skype 将它们显示为外部媒体。
Bot Framework 不直接支持 Telegram 的回复键盘功能,但您仍然可以通过消息的 channelData 字段发送它。 ChannelData 用于发送未直接出现在 Bot Framework 中的特定于通道的消息。在BotBuilder/NodeJS中,这个字段是使用message.sourceEvent方法设置的:
示例(未经测试):
var msg = new builder.Message(session);
msg.sourceEvent({
telegram: {
method: "sendMessage",
parameters: {
text: "This is a reply keyboard",
parse_mode: "Markdown",
reply_markup: JSON.stringify({
"keyboard": [
[{ text: "1" }, { text: "2" }, { text: "3" }],
[{ text: "4" }, { text: "5" }, { text: "6" }],
[{ text: "7" }, { text: "8" }, { text: "9" }],
[{ text: "*" }, { text: "0" }, { text: "#" }]
]
})
}
}
});
session.send(msg);
channelData 字段文档:https://docs.botframework.com/en-us/csharp/builder/sdkreference/channels.html