1

我正在尝试使用 python 读取 pidgin 窗口上的消息。我已经阅读了 Pidgin 如何使用以下代码:

purple.PurpleGetConversations()

我得到以下输出:

dbus.Array([dbus.Int32(14414)], signature=dbus.Signature('i'))

我不知道如何访问这个 dbus.Array 的元素

最好的祝福

PD:我有兴趣阅读这些消息,如果有更好的方法请告诉我

进度更新:如果其他人对此感兴趣,我想出了一个替代解决方案。Pidgin 将聊天日志留在 ~/purple 中,您可以从 python 打开此文件并使用正则表达式读取所有消息。

(如果有更直接的方法请告诉我)

4

2 回答 2

1

我找到了,这是结果代码:

    convID = purple.PurpleGetConversations()

    msgpos = purple.PurpleConversationGetMessageHistory(convID[0])[0]

    print purple.PurpleConversationMessageGetMessage(msgpos) 

这将打印来自打开聊天的最后一条消息

于 2014-08-07T02:08:32.583 回答
0

您需要使用PurpleConversationGetChatData方法,它将对话 id 作为参数(在您的情况下为 14414)。

我有从内省 xml 生成的 javascript 客户端,它可能对 dbus 文档有所帮助 - https://github.com/sidorares/node-pidgin/blob/master/index.js

于 2014-08-06T05:20:48.933 回答