如何在C# Teams标签机器人中捕获个人会话的应用卸载事件
检测Teams个人标签应用的卸载事件(C# + Bot Framework)
要捕获个人会话中Teams标签应用的卸载事件,你需要在OnInstallationUpdateActivityAsync方法里判断Activity的Action类型——卸载事件对应的Action值为"remove",结合你已有的个人会话判断逻辑即可实现。
修改后的完整代码如下:
protected override async Task OnInstallationUpdateActivityAsync(ITurnContext<IInstallationUpdateActivity> turnContext, CancellationToken cancellationToken) { // 仅处理个人会话的卸载事件 if (turnContext.Activity.Conversation.ConversationType == "personal" && turnContext.Activity.Action == "remove") { // 这里执行卸载后的业务逻辑,比如记录日志、清理用户关联数据等 var conversationReference = turnContext.Activity.GetConversationReference(); // 示例:输出卸载事件的相关信息 await turnContext.SendActivityAsync($"已检测到应用在个人会话中被卸载,会话ID:{conversationReference.Conversation.Id}"); } // 调用基类方法,确保Bot生命周期流程正常执行 await base.OnInstallationUpdateActivityAsync(turnContext, cancellationToken); }
关键说明:
IInstallationUpdateActivity的Action属性有两个核心值:"add"对应应用安装事件,"remove"对应应用卸载事件- 保留
ConversationType == "personal"的判断,确保只处理个人会话场景 - 必须调用
base.OnInstallationUpdateActivityAsync,避免中断Bot Framework的默认处理流程
内容的提问来源于stack exchange,提问作者DevÁsith
相关产品推荐
相关产品推荐

