時間を節約するために、次のツールを適用します。
- Drupal 6
- サービス(Drupal 6のモジュール)
- xmppphp-jabberボットを作成するには(テストアプリケーションの場合は問題ありません)
- xmlrpc-開発を簡素化
- jid-ボットが動作する場所
- 小さなヘルパークラス
Drupal
Drupalをインストールします。 インストール後、ブログモジュールをオンにします。 後続の投稿は、次のようにユーザーのブログに投稿されます。 人がロスターにボットを追加し、メッセージをボットに送信します。 ボットは次のように見えます:そのようなユーザー(同じメールアドレスを持つ)はいますか? 存在する場合、このユーザーに代わってメッセージを追加します。 存在しない場合は、新しいユーザーを登録し、ユーザーに代わってメッセージを追加します。
Drupalは drupal.orgに 住んでい ます
サービス
モジュールページでは、執筆時点で、開発スナップショットを使用することをお勧めします。 インストールします。 インストール後、サービスに関連するすべてが含まれます。 モジュールにはさまざまな認証機能があります。 方法の選択は好みに任せますが、この例ではユーザー名とパスワードに基づいた承認を使用していることに注意してください。
モジュールはここにあります drupal.org/project/Services
ジャバーボット
このアイテムに関しては、少なくともすべての質問があります。 例からボットを取り上げます。 コンソールボット(既に2つあります)を使用して、補助クラスを含むいくつかの行を追加します。
プロジェクトはGoogleコードにぴったりと配置されており、見つけることができます
このリンク: code.google.com/p/xmpphp
承認にjidを使用して、ボットをダウンロード、展開、起動します。
ダンスを始めましょう
Drupalの準備ができており、サービスが実行されており、ボットは新しいメッセージを待っています。 今、プログラミングに変わりました。 タスクを少し簡略化するのに役立つ関数をいくつか作成します。
小さなクラスを作成してみましょう。ここではxmlrpcライブラリが必要です。
require_once( "xmlrpc/xmlrpc.inc" );
クラスコンストラクターで、接続を設定します。
- 関数 __construct(){
- $ this-> send_message( 'system.connect' );
- }
それに応じて、送信メッセージを登録しておくといいでしょう。
- 関数 send_message($メソッド、$メッセージ=配列()){
- $ XMLRPC = 新しい xmlrpc_client(_PATH、_SERV、_PORT);
- $ XMLRPC-> return_type = "phpvals" ;
- $ msg = new xmlrpcmsg($メソッド、$メッセージ);
- $ ret = $ XMLRPC-> send($ msg);
- if (!$ ret-> faultCode()){
- $ answer = $ ret-> value();
- if (isset($ answer [ 'sessid' ])&&!isset(self :: $ session)){
- self :: $ session = $ answer [ 'sessid' ];
- }
- return $ ret-> value();
- } else $ ret-> faultString();
- }
次に、ノードを追加します。 これを行うには、ユーザー名とメッセージを渡してパラメーターとして送信します。
- function node_save($ユーザー、$メッセージ){
- $ node = array(
- 'title' => '*' 、
- 'body' => $メッセージ、
- 'type' => 'blog' 、
- 'プロモーション' => 1
- 'uid' => 0、
- 「名前」 => 「匿名」 、
- );
- $ msg =配列(
- php_xmlrpc_encode(self :: $ session)、
- php_xmlrpc_encode($ノード)
- );
- return $ this-> send_message( 'node.save' 、$ msg);
- }
それは、一般的に、行われる必要があるすべてでした。 おそらく、観測ハブブラウザーは、$ユーザーパラメーターがまったく関与していないことに気付くでしょう。 ユーザーとの仕事は読者の良心に任せることにしました。 しかし、誰かが自分のブログに似たものをすばやく固定したい場合は、クラス全体が次の場所にあります: github.com/mcnet/drupal.xmlrpc.class
頑張って
脅威クラスを洗練せずに使用することはお勧めしません。 現時点では、すべてのコードは事実発見の例として提示されています。