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()))