Python sleekxmpp已更改_状态事件,多次触发

Python sleekxmpp已更改_状态事件,多次触发,python,xmpp,google-talk,Python,Xmpp,Google Talk,我正在使用sleekxmpp连接到Google Talk。我正在尝试使用changed\u status事件跟踪联系人何时更改其状态。我遇到的问题是,当我记录状态更改时,与changed\u status事件相关联的函数似乎被多次调用。为什么会这样 我认为这与联系人登录Google Talk的方式有关,也就是说,他们可能会在同一台计算机上多次打开它。因此,当他们关闭计算机时,会影响两个会话,每个会话都会触发一个changed\u status事件。检查与每个更改相关的资源。如果同一用户的资源都不

我正在使用sleekxmpp连接到Google Talk。我正在尝试使用
changed\u status
事件跟踪联系人何时更改其状态。我遇到的问题是,当我记录状态更改时,与
changed\u status
事件相关联的函数似乎被多次调用。为什么会这样


我认为这与联系人登录Google Talk的方式有关,也就是说,他们可能会在同一台计算机上多次打开它。因此,当他们关闭计算机时,会影响两个会话,每个会话都会触发一个
changed\u status
事件。

检查与每个更改相关的资源。如果同一用户的资源都不同,那是因为该用户是从几个不同的客户端登录的,可能是从多个不同的机器登录的。如果您订阅了用户的所有客户端,您将从它们那里获得状态更新。

答案是您在SleekXMPP中暴露了一个bug,我需要修复:)

changed_status事件是针对接收到的任何状态节触发的,而不是仅当资源的状态或显示值更改时才触发


bug修复现在在开发分支中,它将在即将发布的RC3版本中。

我每次都会记录完整的jid,这会告诉我相关的资源(/android.2G29rG或其他什么),在某些情况下,它们看起来也是一样的。