Pidgin:无法通过dbus在聊天中发送消息或设置主题

时间:2013-11-28 11:53:56

标签: dbus pidgin libpurple

我想通过dbus向Pidgin聊天发送消息或设置聊天主题。在this guide之后,我能够编写一些相当简单的代码来做到这一点,它确实会导致消息出现或聊天主题被更改......但它似乎只影响我的窗口,而没有其他参与者了解任何消息或主题更改。

我正在使用

purple.PurpleConvChatSetTopic(chat_data, user, topic)

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

我认为这不是因为任何滥用dbus api的原因,因为调用实际上会导致操作。我只是想知道我是否需要先进行某种身份验证?或者用户可能只是当前用户?我尝试了我的昵称并将其设置为unicode但无济于事。

以下是完整的代码:

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 个答案:

没有答案