C# Bot框架中未显示英雄卡';s仿真器
我是Bot框架的新手,我正在使用C#编写一个简单的Bot,它应该返回一张英雄卡样本作为回复。问题是英雄卡没有出现在Bot框架通道模拟器中。代码如下:C# Bot框架中未显示英雄卡';s仿真器,c#,.net,bots,botframework,C#,.net,Bots,Botframework,我是Bot框架的新手,我正在使用C#编写一个简单的Bot,它应该返回一张英雄卡样本作为回复。问题是英雄卡没有出现在Bot框架通道模拟器中。代码如下: public async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> arg) { var referenceMessage = await arg as IMessageActivity; va
public async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> arg)
{
var referenceMessage = await arg as IMessageActivity;
var msg = (Activity)context.MakeMessage();
Activity replyToConversation = msg.CreateReply($"Buscando resultados para {referenceMessage.Text}");
replyToConversation.Recipient = msg.From;
replyToConversation.Type = "message";
replyToConversation.ReplyToId = referenceMessage.Id;
replyToConversation.AttachmentLayout = "carousel";
replyToConversation.Attachments = new List<Attachment>();
List<CardImage> CardImages = new List<CardImage>();
CardImages.Add(new CardImage()
{
Url = "https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/BMW-Z4_diagonal_front_at_IAA_2005.jpg/243px-BMW-Z4_diagonal_front_at_IAA_2005.jpg"
});
CardAction btnWebsite = new CardAction()
{
Type = "openUrl",
Title = "Open",
Value = "http://bmw.com"
};
HeroCard plCard = new HeroCard()
{
Title = $"{referenceMessage.Text}",
Subtitle = $"Resultados de busqueda para {referenceMessage.Text}",
Images = CardImages,
Tap = btnWebsite
};
var attachment = plCard.ToAttachment();
replyToConversation.Attachments.Add(attachment);
await context.PostAsync(replyToConversation);
//var connector = new ConnectorClient(new Uri(msg.ServiceUrl));
//var reply = connector.Conversations.SendToConversationAsync(replyToConversation);
}
public异步任务消息receivedAsync(IDialogContext上下文,IAwaitable参数)
{
var referenceMessage=wait arg作为IMessageActivity;
var msg=(活动)context.MakeMessage();
Activity replyToConversation=msg.CreateReply($“Buscando resultados para{referenceMessage.Text}”);
replyToConversation.Recipient=msg.From;
replyToConversation.Type=“message”;
replyToConversation.ReplyToId=referenceMessage.Id;
replyToConversation.AttachmentLayout=“旋转木马”;
replyToConversation.Attachments=新列表();
List CardImages=新列表();
添加(新的CardImage()
{
Url=”https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/BMW-Z4_diagonal_front_at_IAA_2005.jpg/243px-BMW-Z4_diagonal_front_at_IAA_2005.jpg"
});
CardAction btnWebsite=新的CardAction()
{
Type=“openUrl”,
Title=“打开”,
值=”http://bmw.com"
};
HeroCard plCard=新HeroCard()
{
Title=$“{referenceMessage.Text}”,
Subtitle=$“Resultados de busqueda para{referenceMessage.Text}”,
图像=心脏图像,
Tap=btnWebsite
};
var attachment=plCard.ToAttachment();
replyToConversation.Attachments.Add(附件);
wait context.PostAsync(replyToConversation);
//var connector=newconnectorclient(新Uri(msg.ServiceUrl));
//var reply=connector.Conversations.SendToConversationAsync(ReplyToConversationAsync);
}
如您所见,我一直在尝试使用上下文和连接器,但卡没有显示。我调试了应用程序,可以看到输入信息被正确捕获
对此有何想法?我将发布您可能的解决方案 *如果您的函数在某个IDialog类中,并且希望得到如下结果:
private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
使用
希望有帮助:)我将发布您可能的解决方案 *如果您的函数在某个IDialog类中,并且希望得到如下结果:
private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> argument)
使用
希望有帮助:)有时问题来自图像的url。将图像url更改为此“”。如果有效,请告诉我们。有时问题来自图像的url。将图像url更改为此“”。如果它有效,让我们知道。嗨,鲍勃,非常感谢你的回答,它非常有效,帮助我简化了代码。干杯听到这个消息很高兴嗨,鲍勃,非常感谢你的回答,它非常有效,帮助我简化了代码。干杯听到这个消息很高兴
replyToConversation.AttachmentLayout = "carousel",
replyToConversation.AttachmentLayout = AttachmentLayoutTypes.Carousel;