2024-10-04 01:22:47 发布
网友
我有一个Skype机器人连接到一个在X(Linux)中工作的Skype实例。问题是,当传入消息时,messageStatusChanged事件并不总是被触发。在大多数情况下都是这样,但有时信息只是“丢失”。我可以看到它们出现在Skype客户端中,但是Skype4Py的事件由于某种原因没有被触发。这些消息所包含的内容没有任何区别。在
为什么会这样?在
没有解决办法,但我进一步调查了一下,因为我在问自己同样的问题。当您看到应用程序中缺少messageStatusChanged时,可以使用dbus monitor查看传入消息是否已通过dbus发出信号。在
messageStatusChanged
$ dbus-monitor "interface=com.Skype.API.Client"
我的印象是,如果Skype在较长时间内“沉默”了很多次,那么第一次状态改变往往会消失。在
具体地说,dbus监视器中会出现“first”消息(是的,成对显示,不确定原因):
上面的消息不会触发messageStatusChanged,但下一条消息会触发(同样是成对的):
method call sender=:1.1036 -> dest=:1.1028 serial=5090 path=/com/Skype/Client; interface=com.Skype.API.Client; member=Notify string "CHAT #thesender/$thereceiver;2c328ad79b074208 ACTIVITY_TIMESTAMP 1362696353" method call sender=:1.1036 -> dest=:1.1232 serial=5091 path=/com/Skype/Client; interface=com.Skype.API.Client; member=Notify string "CHAT #thesender/$thereceiver;2c328ad79b074208 ACTIVITY_TIMESTAMP 1362696353" method call sender=:1.1036 -> dest=:1.1028 serial=5092 path=/com/Skype/Client; interface=com.Skype.API.Client; member=Notify string "CHATMESSAGE 3535369 STATUS RECEIVED" method call sender=:1.1036 -> dest=:1.1232 serial=5093 path=/com/Skype/Client; interface=com.Skype.API.Client; member=Notify string "CHATMESSAGE 3535369 STATUS RECEIVED"
在第二个例子中,它不仅显示了从thesender到thereceiver的CHAT,而且它实际上显示了序列号为3535369和{}的{}是{}。只有后者似乎会触发messageStatusChanged。在
thesender
thereceiver
CHAT
3535369
问题是:第一条消息是否应该创建CHATMESSAGE {serial} STATUS RECEIVED?如果是:这是Skype客户端的一个错误吗?如果否:如果CHATMESSAGE仅在更新已建立的聊天时发送,您是否应该监听其他事件?在
CHATMESSAGE {serial} STATUS RECEIVED
CHATMESSAGE
我还不知道答案,但也许这有帮助。在
没有解决办法,但我进一步调查了一下,因为我在问自己同样的问题。当您看到应用程序中缺少
messageStatusChanged
时,可以使用dbus monitor查看传入消息是否已通过dbus发出信号。在我的印象是,如果Skype在较长时间内“沉默”了很多次,那么第一次状态改变往往会消失。在
具体地说,dbus监视器中会出现“first”消息(是的,成对显示,不确定原因):
^{pr2}$上面的消息不会触发
messageStatusChanged
,但下一条消息会触发(同样是成对的):在第二个例子中,它不仅显示了从}的{}是{}。只有后者似乎会触发
thesender
到thereceiver
的CHAT
,而且它实际上显示了序列号为3535369
和{messageStatusChanged
。在问题是:第一条消息是否应该创建
CHATMESSAGE {serial} STATUS RECEIVED
?如果是:这是Skype客户端的一个错误吗?如果否:如果CHATMESSAGE
仅在更新已建立的聊天时发送,您是否应该监听其他事件?在我还不知道答案,但也许这有帮助。在
相关问题 更多 >
编程相关推荐