C# bot framwork通过恢复对话框提示调用UserMessagesAsync
嗨,我是一个编写聊天机器人框架的新手。 我有一个主输入方法C# bot framwork通过恢复对话框提示调用UserMessagesAsync,c#,dialog,botframework,chat,chatbot,C#,Dialog,Botframework,Chat,Chatbot,嗨,我是一个编写聊天机器人框架的新手。 我有一个主输入方法UserMessagesAsync,如果用户发送了一条匹配的消息,它将处理用户消息 情况。这是我的代码: 如何在ChoiceReceivedAsync内部调用UserMessagesAsync private async Task UserMessagesAsync(IDialogContext context, IAwaitable<Object> result) { var act
UserMessagesAsync
,如果用户发送了一条匹配的消息,它将处理用户消息
情况。这是我的代码:
如何在ChoiceReceivedAsync内部调用UserMessagesAsync
private async Task UserMessagesAsync(IDialogContext context, IAwaitable<Object> result)
{
var activity = await result as Activity;
int length = (activity.Text ?? string.Empty).Length;
if (activity.Text.ToLower().Contains("outlet"))
{
new BusinessDialog().OutletPrompt(context, result).Wait();
}
else if (activity.Text.ToLower().Contains("materialcost"))
{
string url = "url";
await context.PostAsync(url);
}
else
{
await context.PostAsync($"You sent {activity.Text} which was {length} characters");
}
}
出口
枚举:
public enum Outlet
{
DocumentRepository,
Branches
}
恢复功能:
public virtual async Task ChoiceReceivedAsync(IDialogContext context, IAwaitable<Domstic> activity)
{
// how to call UserMessagesAsync
}
公共虚拟异步任务ChoiceReceivedAsync(IDialogContext上下文,IAwaitable活动)
{
//如何调用UserMessagesAsync
}
您应该能够:
公共虚拟异步任务ChoiceReceivedAsync(IDialogContext上下文,IAwaitable活动)
{
wait UserMessagesAsync(上下文,活动为IAwaitable);
}
尽管如此,我希望你还没有在这方面做太多的工作
您应该使用,而不是v3
- v3现在已经非常非常过时了
- v4有很多新特性,并且不断更新
您有什么问题?如何在ChoiceReceivedAsync中调用UserMessagesAsync谢谢您的帮助建议,但我正在尝试
等待UserMessagesAsync(上下文,活动为IAwaitable)代码>机器人模拟器发送抱歉,我的机器人代码有问题@mdrichardson@KarimFahmy你能分享你所有的代码吗?没有它,很难跟踪或排除故障。不过,如果你没有在v3机器人上投入太多精力,你肯定应该切换到v4。我将切换到v4,谢谢你的帮助@mdrichardson-MSFT@KarimFahmy那么,你觉得我的回答恰当吗?如果是这样,请“接受”并投票,这样其他人可以快速找到答案,我可以从我的支持跟踪中清除这个问题。如果没有,让我知道我还能提供什么帮助!
public virtual async Task ChoiceReceivedAsync(IDialogContext context, IAwaitable<Domstic> activity)
{
// how to call UserMessagesAsync
}