5

家に古い機械があり、この機械が行うことの 1 つは、家の特定のドアが開いたか閉じたかを検出することです。

今、私はそのマシンに非公開の Twitter アカウントにツイートを投稿させています。

このマシンに独自の AIM アカウントを付与し、AIM でメッセージを送ってもらいたいと思います。送信される唯一のメッセージは、文字どおり「フロント ドアが開いています」と「フロント ドアが閉じています」です。

libpurple は、さまざまなインスタント メッセージング プロトコルを処理するために一般的に使用されるライブラリであり、Adium でも使用されているようですが、非常に複雑で、使用方法がわかりません。

libpurple を使用する簡単なコード サンプルを持っている、または知っている人はいますか?

4

4 に答える 4

3

個人的には、 Pidginのソースコードは読みやすいと思いました。libpurpleを使用するIMクライアントは他にもたくさんありますが、詳細についてはWikipediaを確認してください。

于 2010-07-27T12:04:00.777 に答える
1

私はドラゴンと戦いました^W存在しないドキュメントで、それはもっともらしいようです:-) いくつかのものを一緒にハッキングする時間があり、簡単に確認する価値があると思います.

内部 DBus サービスを使用するには、

  1. これをたとえば画面で長時間実行します:)、
  2. Purple-remote は同じ dbus セッションで実行する必要があります。起動時にセッションを開始し、すべてのユーザーの bashrc に DBUS_SESSION_BUS_ADDRESS をエクスポートするスクリプトを作成しました。ハッキーな感じ?:)

libpurple でより優れたスキルをお持ちの方は、私たちを半分にしてください! :-)

于 2011-02-11T16:27:19.540 に答える
1

以前にbashスクリプトでこの種のことを行ったことがあります。残念ながらコードは失われていますが、解決策の一部として dbus を検討することをお勧めします。コードは比較的単純でした。

pidgin ステータスの更新に関するこのページは、良い出発点になるかもしれません。

アプリケーションの場合、次のように簡単です。

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

(引用を見てください!)

Purple-remote(1)を参照してください。

于 2010-07-29T02:27:07.693 に答える
0

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");
于 2012-02-24T22:55:37.150 に答える