c# - 在 Microsoft botframework 中回复 "Is Typing"消息

标签 c# botframework

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

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

 public async Task<HttpResponseMessage> 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<object>(new ShuttleBusDialog(), displayException: true));                              
                }
                else
                {
                    HandleSystemMessage(activity);
                }
                var response = Request.CreateResponse(System.Net.HttpStatusCode.OK);
                return response;
            }

此代码也有效,但它以动画形式显示“TYPING”并转到下一条消息。但我希望它应该显示我设置为“Shuttlebot 正在输入...”的消息

see the image here "

最佳答案

大多数 channel 本身就支持“正在输入”通知。只需将打字事件作为消息发送:

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

关于c# - 在 Microsoft botframework 中回复 "Is Typing"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41553491/

相关文章:

c# - 使用 PromptDialog.Confirm 传递参数 :resume Bot Framework (C#)

c# - 无法从外部设备获取目录

c# - 如何将此 map-reduce javascript 代码呈现为等效的 LINQ Select-Aggregate?

c# - 给定字符串的特定索引号,如何在 C# 中获取完整的单词?

Azure Bot 关联语言理解 (LUIS) 应用程序未显示

c# - 阐明 GenerateMessages() 方法的用法

botframework - 使用 QnA Maker API 构建的 ChatBot 是否需要虚拟机

azure - Microsoft 基础结构当前的 OAuth URL 和范围是什么?

c# - smo 的 IsSystemObject 属性

c# - 使用反射调用方法时处理空参数