Pidgin: не может отправлять сообщения или задавать темы в чатах через dbus

Я хотел бы отправлять сообщения в чаты Pidgin или задавать темы чата через dbus. Следуя этому руководству, я смог написать довольно простой код, чтобы сделать именно это, и это действительно приводит к появлению сообщений или темам чата, но это только влияет на мое окно, без того, чтобы другие участники не знали о каких-либо сообщения или изменения темы.

я использую

purple.PurpleConvChatSetTopic(chat_data, user, topic)

а также

purple.PurpleConvChatWrite(chat_data, user, message, flag, time)

Я не думаю, что это связано с каким-либо неправильным использованием API-интерфейса dbus, так как вызовы фактически приводят к действиям. Мне просто интересно, нужно ли мне сначала выполнить какую-то аутентификацию? Или, может быть, пользователь может быть только текущим пользователем? Я попытался с моим никнеймом, а также установил его как юникод, но безрезультатно.

Вот полный код в любом случае:

import dbus
import time
# define chat_name, user, topic, message
bus = dbus.SessionBus()
obj = bus.get_object('im.pidgin.purple.PurpleService', '/im/pidgin/purple/PurpleObject')
purple = dbus.Interface(obj, 'im.pidgin.purple.PurpleInterface')
for p in purple.PurpleGetConversations():
  if purple.PurpleConversationGetName(p) == chat_name:
    chat = p
chat_data = purple.PurpleConversationGetChatData(chat)
purple.PurpleConvChatSetTopic(chat_data, user, topic)
purple.PurpleConvChatWrite(chat_data, user, message, 0, int(time.time()))

0 ответов

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