我使用 Bot Framework 创建了一个机器人,我正在使用 conversationID
来维护我的后端对话引擎的状态。我在结束对话的文档中找不到。在某些时候,用户必须能够向对话发出“结束或退出”信号,以便他们下次开始对话时,它会获得一个新的 conversationID
。我认为这应该是一项简单的任务。我正在使用默认的 echo 模板,只是用我的类的方法替换了字母数行,该方法返回要发送回用户的文本。
最佳答案
现在有一个 ActivityTypes.EndOfConversation(这已经在 sdk 中)。
这是一种使用方法: v3
public static async Task EndConversation(this IBotToUser botToUser, string code = EndOfConversationCodes.CompletedSuccessfully, CancellationToken cancellationToken = default(CancellationToken))
{
var message = botToUser.MakeMessage();
message.Type = ActivityTypes.EndOfConversation;
message.AsEndOfConversationActivity().Code = code;
await botToUser.PostAsync(message, cancellationToken);
}
这也应该在未来的版本中:GitHub Pull Request
第四版
public static async Task EndConversation(this ITurnContext turnContext, string code = EndOfConversationCodes.CompletedSuccessfully, CancellationToken cancellationToken = default(CancellationToken))
{
var endOfConversation = Activity.CreateEndOfConversationActivity();
endOfConversation.Code = code;
await turnContext.SendActivityAsync(endOfConversation, cancellationToken);
}
关于c# - 如何结束对话?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43657463/