Dbus.Array (чтение сообщений pidgin из python)
Я пытаюсь прочитать сообщение в окне pidgin, используя python. Я прочитал Pidgin, как и я, используя следующий код:
purple.PurpleGetConversations()
и я получаю следующий вывод:
dbus.Array([dbus.Int32(14414)], signature=dbus.Signature('i'))
Я не знаю, как получить доступ к элементам этого dbus.Array
С уважением
PD: Я заинтересован в чтении сообщений, если есть лучший способ, пожалуйста, дайте мне знать
Обновление прогресса: если кто-то еще заинтересован в этом, я предложил альтернативное решение. Pidgin оставляет журналы чата в ~/purple, из python вы можете открыть эти файлы и использовать регулярные выражения для чтения всех сообщений.
(Если есть более прямой путь, пожалуйста, скажите мне)
2 ответа
Я нашел это, вот результирующий код:
convID = purple.PurpleGetConversations()
msgpos = purple.PurpleConversationGetMessageHistory(convID[0])[0]
print purple.PurpleConversationMessageGetMessage(msgpos)
Это напечатает последнее сообщение из открытого чата
Вам нужно использовать PurpleConversationGetChatData
метод, он принимает идентификатор разговора в качестве параметра (14414 в вашем случае).
У меня есть клиент JavaScript, сгенерированный из интроспекции XML, это может быть полезным дополнением к документации по dbus - https://github.com/sidorares/node-pidgin/blob/master/index.js