当前位置:  开发笔记 > 编程语言 > 正文

回复Microsoft botframework中的"正在键入"消息

如何解决《回复Microsoftbotframework中的"正在键入"消息》经验,为你挑选了1个好方法。

我正在使用c#.net和LUIS认知服务上的MicrofsoftBotFramework开发一个聊天机器人.

我希望当用户输入时它应该回复为打字或机器人正在输入..

 public async Task Post([FromBody]Activity activity)
            {
                Trace.TraceInformation($"Type={activity.Type} Text={activity.Text}");

                if (activity.Type == ActivityTypes.Message)
                {
                    //await Microsoft.Bot.Builder.Dialogs.Conversation.SendAsync(activity, () => new ContactOneDialog());

                    //Implementation of typing indication
                    ConnectorClient connector = new ConnectorClient(new System.Uri(activity.ServiceUrl));
                    Activity isTypingReply = activity.CreateReply("Shuttlebot is typing...");
                    isTypingReply.Type = ActivityTypes.Typing;
                    await connector.Conversations.ReplyToActivityAsync(isTypingReply);

                    await Conversation.SendAsync(activity, () =>
                    new ExceptionHandlerDialog(new ShuttleBusDialog(), displayException: true));                              
                }
                else
                {
                    HandleSystemMessage(activity);
                }
                var response = Request.CreateResponse(System.Net.HttpStatusCode.OK);
                return response;
            }


这段代码也有效,但它将"TYPING"称为动画并转到下一条消息.但我想它应该显示我的消息,我已设置为"Shuttlebot正在打字...

看到这里的图像"



1> Lars..:

大多数频道原生支持"Is Typing"通知.只需将打字活动作为消息发送:

var reply = activity.CreateReply(String.Empty);
reply.Type = ActivityTypes.Typing;
await activityContext.SendResponse(reply);

推荐阅读
sx-March23
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有