我的自适应卡不能识别Web应用程序机器人上的点击,但可以在我的本地机器人模拟器上工作
受保护的重写异步任务OnMessageActivityAsync(ITurnContext turnContext,CancellationToken cancelToken) { Logger.LogInformation(“正在运行带有消息活动的对话框。”);
if (turnContext.Activity.Type == ActivityTypes.Message)
{
string temp1 = turnContext.Activity.ChannelData.ToString();
string boolean = "false";
Logger.LogInformation(temp1.Length.ToString());
int len = temp1.Length;
if (len > 70)
{
if (temp1.Substring(70, 4) != null)
boolean = temp1.Substring(70, 4);
Logger.LogInformation(temp1.Substring(70, 4));
if (boolean.Equals("true"))
boolean = "True";
else { boolean = "True"; }
Logger.LogInformation(boolean);
bool entry = System.Convert.ToBoolean(boolean);
if (entry)
{
JToken commandToken = JToken.Parse(turnContext.Activity.Value.ToString());
string command = commandToken["action"].Value<string>();
string commandPrompt = command;
/ *这是单击识别的地方* ////
if (commandPrompt.Equals("order"))
{
string[] paths = { ".", "Cards", "orderCard.json" };
string fullPath = Path.Combine(paths);
var welcomeCard = CreateAdaptiveCardAttachment(fullPath);
var response = CreateResponse(turnContext.Activity, welcomeCard);
await turnContext.SendActivityAsync(response, cancellationToken);
}
else if (command.ToLowerInvariant() == "inventory")
{
string[] paths = { ".", "Cards", "InventoryCard.json" };
string fullPath = Path.Combine(paths);
var welcomeCard = CreateAdaptiveCardAttachment(fullPath);
var response = CreateResponse(turnContext.Activity, welcomeCard);
await turnContext.SendActivityAsync(response, cancellationToken);
}
else if (command.ToLowerInvariant() == "somethingelse")
{
commandPrompt = "somethingelse";
await Dialog.Run(turnContext, ConversationState.CreateProperty<DialogState>("DialogState"), cancellationToken);
}
else if (command.ToLowerInvariant() == "ordernumber")
{
string[] paths = { ".", "Cards", "orderNumberCard.json" };
string fullPath = Path.Combine(paths);
var welcomeCard = CreateAdaptiveCardAttachment(fullPath);
var response = CreateResponse(turnContext.Activity, welcomeCard);
await turnContext.SendActivityAsync(response, cancellationToken);
}
else if (command.ToLowerInvariant() == "upsordernumber")
{
string[] paths = { ".", "Cards", "upsOrderNumberCard.json" };
string fullPath = Path.Combine(paths);
var welcomeCard = CreateAdaptiveCardAttachment(fullPath);
var response = CreateResponse(turnContext.Activity, welcomeCard);
await turnContext.SendActivityAsync(response, cancellationToken);
}
else if (command.ToLowerInvariant() == "trackingnumber")
{
string[] paths = { ".", "Cards", "trackingNumberCard.json" };
string fullPath = Path.Combine(paths);
var welcomeCard = CreateAdaptiveCardAttachment(fullPath);
var response = CreateResponse(turnContext.Activity, welcomeCard);
await turnContext.SendActivityAsync(response, cancellationToken);
}
else if (command.ToLowerInvariant() == "trackingnumber")
{
string[] paths = { ".", "Cards", "trackingNumberCard.json" };
string fullPath = Path.Combine(paths);
var welcomeCard = CreateAdaptiveCardAttachment(fullPath);
var response = CreateResponse(turnContext.Activity, welcomeCard);
await turnContext.SendActivityAsync(response, cancellationToken);
}
else if (command.ToLowerInvariant() == "skunumber")
{
string[] paths = { ".", "Cards", "skuNumberCard.json" };
string fullPath = Path.Combine(paths);
var welcomeCard = CreateAdaptiveCardAttachment(fullPath);
var response = CreateResponse(turnContext.Activity, welcomeCard);
await turnContext.SendActivityAsync(response, cancellationToken);
}
else if (command.ToLowerInvariant() == "ponumber")
{
string[] paths = { ".", "Cards", "poNumberCard.json" };
string fullPath = Path.Combine(paths);
var welcomeCard = CreateAdaptiveCardAttachment(fullPath);
var response = CreateResponse(turnContext.Activity, welcomeCard);
await turnContext.SendActivityAsync(response, cancellationToken);
}
else
{
await turnContext.SendActivityAsync($"I'm sorry, I didn't understand that. Please try again", cancellationToken: cancellationToken);
}
}
}
else
{
await Dialog.Run(turnContext, ConversationState.CreateProperty<DialogState>("DialogState"), cancellationToken);
}
}
// Run the Dialog with the new message Activity.
}
}
}
/*Json File*/
{
"type": "AdaptiveCard",
"selectAction": {
"type": "Action.Submit"
},
"body": [
{
"type": "Container",
"items": [
{
"type": "TextBlock",
"size": "Medium",
"weight": "Bolder",
"text": "Hi How can I help you today?"
}
]
},
{
"type": "Container",
"items": [
{
"type": "TextBlock",
"text": "Please select one of the following options to get started",
"wrap": true
}
]
}
],
"actions": [
{
"type": "Action.Submit",
"id": "orderButton",
"title": "Order",
"data": {
"action": "order"
}
},
{
"type": "Action.Submit",
"id": "inventoryButton",
"title": "Inventory",
"data": {
"action": "inventory"
}
},
{
"type": "Action.Submit",
"id": "somethingelseButton",
"title": "Something Else",
"data": {
"action": "somethingElse"
}
}
],
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"version": "1.0"
}
/ Json文件 /
webappbot上没有错误输出,只是不会打开下一张卡。但是正在使用我的机器人模拟器
答案 0 :(得分:0)
问题在于,“在Web聊天中测试”和Web聊天iFrame代码仍然使用WebChat V3,它不能很好地支持自适应卡。 WebChat V4应该在接下来的几周内同时推广到这两个平台。
同时,您可以从<embed>
切换到WebChat Samples之一