Botframework Microsoft团队侧装应用程序-多个“;会话更新“;发射事件

Botframework Microsoft团队侧装应用程序-多个“;会话更新“;发射事件,botframework,microsoft-teams,Botframework,Microsoft Teams,这可能是我误解了什么,但我正在研究一些欢迎信息的逻辑,它会发射两次。我已经在做一个foreach来检查谁被添加到对话中,因为我知道即使是在1-1中,我也会收到用户+机器人加入的通知,类似这样: foreach (var member in membersAdded) { if (member.Id == turnContext.Activity.Recipient.Id) { await SendWelcomeMessage

这可能是我误解了什么,但我正在研究一些欢迎信息的逻辑,它会发射两次。我已经在做一个foreach来检查谁被添加到对话中,因为我知道即使是在1-1中,我也会收到用户+机器人加入的通知,类似这样:

    foreach (var member in membersAdded)
    {
        if (member.Id == turnContext.Activity.Recipient.Id) 
        {
           await SendWelcomeMessage(turnContext);
           break;
        }
   }
然而,问题是我得到了两个完全重复的“conversationUpdate”事件。这是一次1-1聊天,我两次都收到了以下内容(编辑)

    "membersAdded": [
        {
            "id": "29:...",
            "aadObjectId": "[guid]"
        },
        {
            "id": "28:..."
        }
    ],
    "type": "conversationUpdate",
    "timestamp": "...",
    "id": "f:guid",
...
唯一改变的是消息id,但除此之外,我在membersAdded中两次都得到了这两个条目。我知道我应该得到通知,两个成员都被添加到此1-1中,但我肯定应该在membersAdded或两个“conversationUpdate”事件中得到两个条目?现在我基本上得到了2x2

是跟踪对话状态的唯一解决方案,以确定我以前是否在同一个1-1对话中“欢迎”过该用户?即使我这样做了,我也担心会因为线程计时问题而导致两个状态条目(例如,数据库中的两个重复条目)(其中一个可能仍在为会话创建数据库条目,现在无法区分会话更新)

我错过了什么


也许这是一个侧面加载的定制应用程序?此外,这种情况仅在我第一次安装应用程序时发生-如果我卸载并重新安装,我只会收到一个通知。

我们已发现此问题并创建了一个bug。目前我们正在进行内部跟踪,目前还没有预计到达时间。谢谢@subbasish MSFT,很高兴知道它已被记录并被寻址,而且我不仅仅是疯了!顺便说一句,“欢迎”消息被列为在应用商店中列出应用程序的先决条件,因此,也许可以让验证团队知道当前存在问题。@Subbasish MSFT这是一个问题,仅仅是侧面加载的应用程序还是发布到应用商店的应用程序?@Rahim,我们只为侧面加载的应用程序复制了它。@Subbasish MSFT我不这么认为。我最近安装了Trello机器人,两次受到机器人的欢迎。是否有问题ID或链接可以跟踪此问题?我们已确定此问题并创建了一个bug。目前我们正在进行内部跟踪,目前还没有预计到达时间。谢谢@subbasish MSFT,很高兴知道它已被记录并被寻址,而且我不仅仅是疯了!顺便说一句,“欢迎”消息被列为在应用商店中列出应用程序的先决条件,因此,也许可以让验证团队知道当前存在问题。@Subbasish MSFT这是一个问题,仅仅是侧面加载的应用程序还是发布到应用商店的应用程序?@Rahim,我们只为侧面加载的应用程序复制了它。@Subbasish MSFT我不这么认为。我最近安装了Trello机器人,两次受到机器人的欢迎。是否有问题ID或链接可供我们跟踪?