C# 如何在MessageController.cs Post方法中使用PromptDialog.Confirm()
我想在聊天窗口中用是非选项提示问题C# 如何在MessageController.cs Post方法中使用PromptDialog.Confirm(),c#,azure,bots,C#,Azure,Bots,我想在聊天窗口中用是非选项提示问题 public class MessagesController : ApiController { public virtual async Task<HttpResponseMessage> Post([FromBody] Activity activity) { ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl)
public class MessagesController : ApiController
{
public virtual async Task<HttpResponseMessage> Post([FromBody] Activity activity)
{
ConnectorClient connector = new ConnectorClient(new Uri(activity.ServiceUrl));
Activity reply;
if (activity != null)
{
// check if activity is of type message
if (activity.Type == ActivityTypes.Message)
{
await GetEntityFromLUIS(activity);
}
else if (activity.Type == ActivityTypes.ConversationUpdate)
{
constructResponse = "Hi";
reply = activity.CreateReply($"{constructResponse}");
await connector.Conversations.ReplyToActivityAsync(reply); //After this we need Prompt question with Yes r No
}
}
else
{
connector = new ConnectorClient(new Uri(activity.ServiceUrl));
HandleSystemMessage(activity);
}
return new HttpResponseMessage(System.Net.HttpStatusCode.Accepted);
}
}
您可以使用PromptDialog。这样确认
PromptDialog.Confirm(context, Confirmed,"Have question");
确认()在用户回答后发生
public async Task Confirmed(IDialogContext context, IAwaitable<bool> argument)
{
bool isCorrect = await argument;
if (isCorrect)
{ }
else
{ }
}
已确认公共异步任务(IDialogContext上下文,IAwaitable参数)
{
bool isCorrect=等待参数;
如果(不正确)
{ }
其他的
{ }
}
我需要在MessageController.cs中声明这个已确认的函数,或者需要创建任何其他类。我确实在同一个MessageController.cs中声明了,但是bot没有响应,即使它没有显示“Hi”。
public async Task Confirmed(IDialogContext context, IAwaitable<bool> argument)
{
bool isCorrect = await argument;
if (isCorrect)
{ }
else
{ }
}