我的机器人有一些意图的路易斯对话。我从我的MessageController上打电话给路易斯对话。如果检测到意图,我将启动一个子对话框。当子对话框完成后,在调用该context.Done("response from user").任务之后,我将调用ChlildDialogDone。
在ChildDialogDone任务中,我想再次调用LUIS对话框,以检测用户消息的意图(这涉及到ChildDialogDone )。现在,在ChildDialogDone中,我有了context.Wait(MessageReceived).,当执行这一行代码时,什么都没有发生,我的bot正在等待
我正在开发具有IDialog的Bot应用程序。当增量值达到4时,它不会调用MessageEndAsync并等待用户输入。在没有用户输入的情况下,不会在模拟器中显示下一条消息。
我正在寻找一些解决方案,一旦验证通过,然后转移到下一个消息,否则继续检查验证。
你能帮我解决这个问题吗?
[Serializable]
public class PlayGame: IDialog<object>
{
private int increment = 0;
public async Task StartAsync(IDialogContext c
我使用C#创建了一个机器人应用程序。
我想用多个对话框来设计我的机器人。在RootDialog.cs中,我编写了根据用户输入导航不同对话框的代码。
我使用context.Forward导航到下一个对话框。但是在使用it.Here时,它显示了错误,我已经附加了我的RootDialog.cs。
有人能帮我解决这个问题吗?
using System;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Connector;
using System.Threading;
nam
我有一个根对话框,一个LuisDialog,我从其中调用一些子对话框,如下所示
[LuisModel("8869ccea-7c5f-4cce-8639-64bbc7ecd62b", "c5835534ed7746449356c62dcdf48fde")]
[Serializable]
public class DefaultDialog : LuisDialog<object>
{
[LuisIntent("showIncidents")]
public async Task ShowIncidents(ID
如何从IDialogContext context获取ConversationId?我知道有一个ConverationData属性,但它似乎只是一个可以容纳任何东西的数据包。
身份证在这个包里吗?如果是这样,检索它的关键是什么?
public async Task General(IDialogContext context, LuisResult result)
{
//how can I access the conversationId here
}
在将对话框从V3迁移到V4时,我还有更多的问题。下面是我们的密码。在v3中,我们使用
Microsoft.Bot.Builder.Dialogs.Conversation.SendAsync(conversationContext.CurrentActivity, new RootDialog());
public class RootDialog : IDialog {
public RootDialog()
{
.....
}
public async Task StartAsync(IDialogContext context)
{
嗨,我是一个编码聊天机器人框架的新手。我有main entry方法UserMessagesAsync,如果用户发送匹配条件的消息,它将处理用户消息。这是我的代码:如何在ChoiceReceivedAsync中调用UserMessagesAsync
private async Task UserMessagesAsync(IDialogContext context, IAwaitable<Object> result)
{
var activity = await result as Activity;
int le
我有一个机器人,我正在做这样的事情:
1)新的活动(信息)到来。
2)我将消息发送给RootDialog。
3)根据某些逻辑,RootDialog可以:
a) Call a LuisDialog (handling natural language)
b) Call a CustomDialog (handles some business logic).
但是,当用户状态被重置时,当流导致LuisDialog内部的意图时,它会两次调用意图方法。只要第一次政府是空的,那么它就能正常工作。
让我给你看看密码:
MessagesController:
public async Task
我开始开发一个简单的机器人,从Echo机器人在文档中进化而来。我很快就遇到了一个问题。
我的RootDialog上有以下三种方法:
public async Task StartAsync(IDialogContext context)
{
await context.PostAsync("Olá! Eu sou um bot!");
await context.PostAsync("Qual é o teu nome?");
context.Wait(NameReceivedAsync);
}
private async Task Nam
我使用以下代码:
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Builder.Location;
using Microsoft.Bot.Connector;
using System;
using System.Threading.Tasks;
namespace LocationBotDemo.Dialogs
{
[Serializable]
public class MainDialog : IDialog<object>
{
public async Task S
我已经使用luis和qnamaker对话框创建了一个机器人。在我的问题中是LuisDialog.cs代码的一部分。在对话期间,如果用户提出的问题是qna意图的一部分(机器人跳转到QnADialog),但当用户向机器人提出其他问题时,我希望传递到其他意图。
LuisDialog.cs这里是我的代码更新了其他意图。例如,当用户键入与测试意图相对应的问题时,我想退出qnadialog
using Microsoft.Bot.Builder.Dialogs;
using System;
using System.Collections.Generic;
using System.Li