c# – 如何结束对话?

我使用Bot Framework创建了一个机器人,我正在使用conversationID来维护我的后端会话引擎的状态.我在文档中找不到结束会话的内容.在某些时候,用户必须能够向对话发出“结束或退出”的信号,以便下次他们开始对话时,它会获得新的conversationID.我想,这应该是一项简单的任务.我正在使用默认的echo模板,只是将带有方法的字母数量替换为我的类,它返回要发送回用户的文本. 最佳答案 现在有一个ActivityTypes.EndOfConversation(这已经在sdk中了).

这是一种使用它的方法:

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

点赞