如何在 C# 中捕获 Teams Tab 机器人的个人对话中的应用程序卸载事件?

问题描述 投票:0回答:1

我正在使用 C# 和 Bot Framework 开发 Teams 选项卡机器人。我正在尝试捕获在个人对话中专门卸载我的应用程序时的事件。我在我的机器人中实现了以下代码:

protected override async Task OnInstallationUpdateActivityAsync(ITurnContext<IInstallationUpdateActivity> turnContext, CancellationToken cancellationToken)
{
    if (turnContext.Activity.Conversation.ConversationType == "personal")
    {
       
        var conversationReference = turnContext.Activity.GetConversationReference(); 
        
    } 
}   

如何检测用户应用程序卸载事件(卸载个人选项卡应用程序)

botframework microsoft-teams microsoft-graph-teams teams-toolkit e
1个回答
0
投票

要检测专门在个人对话中卸载应用程序时的事件,您可以在机器人代码中使用

OnInstallationUpdateActivityAsync
方法。在该方法中,您可以检查installationUpdate事件中action字段的值来确定应用程序是否正在被卸载。

protected override async Task OnInstallationUpdateActivityAsync(ITurnContext<IInstallationUpdateActivity> turnContext, CancellationToken cancellationToken)
{
    var activity = turnContext.Activity;
    
    if (activity.Action.Equals("remove", StringComparison.InvariantCultureIgnoreCase) && activity.Conversation.ConversationType.Equals("personal", StringComparison.InvariantCultureIgnoreCase))
    {
        // App is being uninstalled in a personal conversation
        var conversationReference = turnContext.Activity.GetConversationReference();
        
        // ...
    }
}

在此代码中,我们首先使用不区分大小写的比较来检查 InstallationUpdate 事件中的操作字段是否设置为“remove”。然后,我们检查对话类型是否为“个人”,以确保卸载是在个人对话中进行的。

© www.soinside.com 2019 - 2024. All rights reserved.