是否有适当的方式让机器人PromptDialog.Choice在 Direct Line 频道中开始对话?
我正在尝试通过捕获拳头ConversationUpdate活动并从用户创建假消息来初始化对话框的丑陋技巧,如下所示:
IMessageActivity greetingMessage = Activity.CreateMessageActivity();
greetingMessage.From = message.Recipient;//from bot
greetingMessage.Recipient = userAccount;//to user
greetingMessage.Conversation = message.Conversation;
greetingMessage.Text = "Hello, I am a bot";
greetingMessage.Locale = "en-us";
greetingMessage.Id = Guid.NewGuid().ToString();
await connector.Conversations.SendToConversationAsync((Activity)greetingMessage);
IMessageActivity dialogEntryMessage = Activity.CreateMessageActivity();
dialogEntryMessage.Recipient = message.Recipient;//to bot
dialogEntryMessage.From = message.From;//from user
dialogEntryMessage.Conversation = message.Conversation;
dialogEntryMessage.Text = "any text";
dialogEntryMessage.Locale = "en-us";
dialogEntryMessage.ChannelId = message.ChannelId;
dialogEntryMessage.ServiceUrl = message.ServiceUrl;
dialogEntryMessage.Id = Guid.NewGuid().ToString();
dialogEntryMessage.ReplyToId = greetingMessage.Id;
await Conversation.SendAsync(dialogEntryMessage, () => new Dialogs.RootDialog());
哪里message来的ConversationUpdate消息。在 RootDialog 中,我以PromptDialog.Choice.
它在模拟器中工作,但在 Direct Line 通道机器人中不记得对话状态,当用户选择一个对话选项并发送他的第一条真实消息时,根对话再次从 开始PromptDialog.Choice,因此它出现两次。
更新
我从微软找到了一篇相关的博文:https ://blog.botframework.com/2018/07/12/how-to-properly-send-a-greeting-message-and-common-issues-from-customers/
郎朗坤
相关分类