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

Другие вопросы по тегам