首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Microsoft Bot Framework,web聊天平台上的快速回复

Microsoft Bot Framework,web聊天平台上的快速回复
EN

Stack Overflow用户
提问于 2017-09-10 08:03:34
回答 2查看 1.7K关注 0票数 4

我在Facebook和网络聊天平台上使用MS框架。有没有办法在网上聊天中使用快速回复?

因为MS框架不支持web聊天框架的快速回复。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-09-10 20:49:37

您可以使用建议的操作,这些操作在单击时会消失。下面是一个从Bot框架文档中修改的示例,介绍了如何做到这一点:

代码语言:javascript
复制
var reply = activity.CreateReply("Hi, do you want to hear a joke?");
reply.Type = ActivityTypes.Message;
reply.TextFormat = TextFormatTypes.Plain;

reply.SuggestedActions = new SuggestedActions()
{
    Actions = new List<CardAction>()
    {
        new CardAction(){ Title = "Yes", Type=ActionTypes.ImBack, Value="Yes" },
        new CardAction(){ Title = "No", Type=ActionTypes.ImBack, Value="No" },
        new CardAction(){ Title = "I don't know", Type=ActionTypes.ImBack, Value="IDontKnow" }
    }
};
票数 3
EN

Stack Overflow用户

发布于 2017-09-10 14:06:07

您可以使用HeroCard来实现这样的功能。HeroCard可以在bot框架上全局使用,对话框的出现取决于平台的设计。

就你的情况而言,你需要这样的东西:

代码语言:javascript
复制
 private async void HiMessage(IDialogContext ctx)
    {
        List<CardAction> list = new List<CardAction>();
        list.Add(new CardAction { Title = "Yes", Type = ActionTypes.ImBack, Value = "yes" });
        list.Add(new CardAction { Title = "No", Type = ActionTypes.ImBack, Value = "no" });
        list.Add(new CardAction { Title = "I don't know", Type = ActionTypes.ImBack, Value = "dontknow" });
        HeroCard hero = new HeroCard();
        hero.Title = "Hi";
        hero.Text = "Do you want to hear a joke?";
        hero.Buttons = list;
        var msg = ctx.MakeMessage();
        msg.Attachments.Add(hero.ToAttachment());
        await ctx.PostAsync(msg);
    }

您可以进一步探索中的富卡。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46138575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档