Bri*_*arr 4 .net c# botframework
我已经使用 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);
}
Run Code Online (Sandbox Code Playgroud)
这也应该在未来的版本中:GitHub Pull Request
v4
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);
}
Run Code Online (Sandbox Code Playgroud)