如何解决在Skype频道中显示英雄卡和表格流的问题?

时间:2016-07-22 06:09:12

标签: botframework botbuilder

我正在研究僵尸框架技术,在项目中我实现了Hero卡和缩略图卡的代码。

在我添加了上述概念的代码后,接下来我在Bot Framework Channel Emulator中测试了它的工作正常并成功显示了Hero卡。但是在我将代码发布到azure并将skype频道添加到我的机器人之后,现在我开始与我的机器人聊天以显示英雄卡片图像,但它没有显示任何英雄卡片图像,如下图所示。 enter image description here

类似地,我实现了Form Flow Concept它在Bot Emulator中工作正常,但它不能在skype频道中工作,它显示与上图相同的问题。

请告诉我们如何解决此问题。 我认为Skype中可能存在显示Hero Card和Form Flow对话框的错误。

与Pradeep

2 个答案:

答案 0 :(得分:7)

这不是Skype中的错误,而是缺少的功能。普通的Skype客户端(桌面,网络,移动)尚未更新为包含HeroCard,因此除iOS设备外无法显示(请参阅http://blogs.skype.com/2016/07/20/skype-6-20-for-ios-find-bots-improved-notifications-and-chat/

正如botbuilder项目所示,您可以使用{listStyle: builder.ListStyle["inline"]}作为解决方法,将您的内容显示为选项列表而不是卡片。请参阅:https://github.com/Microsoft/BotBuilder/issues/720

否则您现在可以做的就是安装包含该功能的开发人员版本或等待更新版本(很快就会推出)。

答案 1 :(得分:0)

有效。 Skype是另一个渠道。在大多数情况下,使用bot框架开发的代码将在skype上运行,某些功能需要特定于skype。因此,为了使您的卡工作,您将不得不用Skype替换botbuilder。请参阅下面的示例,该示例取自Microsoft hero card并修改为在Skype中工作 skype hero card result

Replace builder by skype
//var builder = require('botbuilder');

var skype = require('botbuilder');

var msg = new skype.Message(session);
    msg.attachmentLayout(skype.AttachmentLayout.carousel)
    msg.attachments([
        new skype.HeroCard(session)
            .title("Classic White T-Shirt")
            .subtitle("100% Soft and Luxurious Cotton")
            .text("Price is $25 and carried in sizes (S, M, L, and XL)")
            .images([skype.CardImage.create(session, 'https://avatars1.githubusercontent.com/u/6422482?v=4&s=460')])
            .buttons([
                skype.CardAction.imBack(session, "buy classic white t-shirt", "Buy")
            ]),
        new skype.HeroCard(session)
            .title("Classic Gray T-Shirt")
            .subtitle("100% Soft and Luxurious Cotton")
            .text("Price is $25 and carried in sizes (S, M, L, and XL)")
            .images([skype.CardImage.create(session, 'https://avatars1.githubusercontent.com/u/6422482?v=4&s=460')])
            .buttons([
                skype.CardAction.imBack(session, "buy classic gray t-shirt", "Buy")
            ])
    ]);
    session.send(msg);