我家里有一台旧机器,这台机器做的一件事是检测房子里的特定门是刚刚打开还是关闭。
现在,我让那台机器在私人 Twitter 帐户上发布推文。
我现在想给这台机器自己的 AIM 帐户,让它在 AIM 上给我发一条消息。将发送的唯一消息实际上是“前门打开”和“前门关闭”。
看起来 libpurple 是处理各种即时通讯协议的常用库,甚至在 Adium 中也有使用,但它非常复杂,我不知道如何使用它。
是否有人拥有或知道使用 libpurple 的简单代码示例?
我家里有一台旧机器,这台机器做的一件事是检测房子里的特定门是刚刚打开还是关闭。
现在,我让那台机器在私人 Twitter 帐户上发布推文。
我现在想给这台机器自己的 AIM 帐户,让它在 AIM 上给我发一条消息。将发送的唯一消息实际上是“前门打开”和“前门关闭”。
看起来 libpurple 是处理各种即时通讯协议的常用库,甚至在 Adium 中也有使用,但它非常复杂,我不知道如何使用它。
是否有人拥有或知道使用 libpurple 的简单代码示例?
我以前在 bash 脚本中做过这种事情。不幸的是,代码丢失了,但您可能希望将 dbus 视为解决方案的一部分。代码相对简单。
这个关于更新 pidgin 状态的页面可能是一个很好的起点。
对于您的应用程序,它可能很简单:
purple-remote uri 'aim:goim?screenname=yourimhandle&message="front door open"'
(看报价!)
请参阅紫色远程(1)。
我与龙战斗^W不存在的文件,这似乎是合理的:-)有时间一起破解一些东西,我认为它可能值得快速检查。
重要且值得了解的是,要使用内部 DBus 服务,
任何对 libpurple 有更好技能的人,请阻止我们!:-)
您绝对应该查看libpurple 源 (libpurple/example/nullclient.c) 中提供的 nullclient.c 。它执行登录到服务器并添加一些有用的回调。要发送消息,请将其添加到(例如)函数 signed_on:
PurpleConvIm im;
im.conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, "other@example.com");
purple_conv_im_send(&im, "open door");