2010-07-27 57 views
5

我家有一台旧机器,其中一台 这台机器所做的是检测一个房子是否在 的某扇门刚刚打开或关闭。使用libpurple的好例子?

现在,我让那台机器在私人的 Twitter帐户上发布推文。

我想给这台机器自己的AIM账户 ,并让它在AIM上给我发送消息。将发送的唯一消息 字面意思是“前门打开”,并且“前门关闭” 。

看起来的libpurple是 处理各种即时消息传递协议,常用的库,即使在Adium的使用 ,但它是非常复杂的, 我无法弄清楚如何使用它。

有没有人有或知道一个简单的代码示例 使用libpurple?

回答

3

我个人发现Pidgin的源代码可以直接阅读。还有更多使用libpurple的即时消息客户端,但是,您可以检查Wikipedia了解更多详情。

+0

的libpurple是发展成为一个后端的洋泾浜,所以这应该是事实上的地方开始。但正如你所说,现在还有很多人在使用它。 – Spudley 2011-02-11 16:34:08

+0

2年后。你认为你的答案应该更新! – 2012-07-03 12:08:50

1

我之前在bash脚本中做过这种事情。不幸的是,代码丢失了,但是您可能希望将dbus视为解决方案的一部分。代码相对简单。

This page on updating pidgin status可能是一个很好的起点。

对于您的应用程序,它可能是那么容易,因为:

purple-remote uri 'aim:goim?screenname=yourimhandle&message="front door open"' 

(观看引号!)

purple-remote(1)

1

我打过龙^ Wnonexistent文档,它似乎是合理的:-) 有一些时间来破解一些东西在一起,我认为这可能值得快速检查。

重要和良好的知道,那使用内部的DBus服务,

  1. 运行这如屏幕很长时间:),
  2. 紫色遥控器应运行在 相同的dbus会话。我制作了一个 脚本,该脚本在启动时启动会话 ,并在所有用户的bashrc中导出DBUS_SESSION_BUS_ADDRESS 。感觉哈克?:)

任何人与libpurple更好的技能,请halp我们出去! :-)

+0

呃,和Makefile:http://koshinae.pastebin.com/TPM8en2i – Koshinae 2011-02-11 16:27:49

0

您应该仔细看看libpurple源文件(libpurple/example/nullclient.c)中提供的nullclient.c。它执行登录到服务器并添加一些有用的回调。要发送信息,将它添加到(例如)功能signed_on:

PurpleConvIm im; 
im.conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, "[email protected]"); 
purple_conv_im_send(&im, "open door");