ずっと前に、Skype用の留守番電話またはボットを手に入れたいと思っていました。 Googleには何も見つかりませんでした。Ubuntuを使用していても、タスクは数回困難になりました。 そして、私はPHPしか知らないこと、そしてあまり良くないことを考えると、私の夢は非現実的になりました。
しかし最近、Skype APIの公式ドキュメントを見ると、「D-BUSメッセージング」に気づきました。なぜ以前に注意を払わなかったのかわかりません。 すべてを処理した後、私は最終的に私が長い間欲しかったことをしました! PHPでSkype APIにアクセスできました。 これについては私の記事で説明したいと思います。
dbus-phpをインストールするには、php5-devパッケージに含まれるphpizeが必要です。
sudo apt-get install php5-dev
次のコマンドを実行してphp-pearをインストールします。
sudo apt-get install php-pear pear install PEAR
phpのdbus拡張機能をインストールして、依存関係を事前にインストールします(makeがインストールされている必要があります。インストールされていない場合、dbus-betaのインストールは失敗します!)。
sudo apt-get install libdbus-1-dev libxml2-dev pecl install dbus-beta
拡張機能のダウンロードをPHP設定に追加します。
echo -e "; configuration for php DBus module\nextension=dbus.so"| sudo tee -a /etc/php5/conf.d/dbus.ini
拡張機能が動作するかどうかを確認し、ターミナルでphp -iコマンドを入力してそこを見つけます。
dbus Dbus support => enabled Version => 0.1.0
見つけた? いいね! 続行できます!
見つかりませんでしたか? さて、すべてを繰り返し、エラーを見つけ、修正して読み続ければ、すべてがうまくいきます。
それだけです! これで、仕事に必要なものはすべて揃いました。
phpコード自体に取りかかりましょう。
最も単純で最も重要なのは、Skypeに接続してAPIへのアクセスをリクエストすることです。次のようにします。
$dbus = new Dbus(Dbus::BUS_SESSION, true);
Invoke()は、スカイプに指示を送信するための主要な方法です。
それでは、Skype通知を受信するスクリプトを教えましょう。
このスクリプトを実行すると、次のようなすべてのskype通知を確認できます。
CONNSTATUS ONLINE CURRENTUSERHANDLE *my_user* USERSTATUS DND CHATMESSAGE 5150665 STATUS READ CHATMESSAGE 5149961 STATUS READ CHATMESSAGE 5149993 STATUS READ CHATMESSAGE 5150025 STATUS READ CHATMESSAGE 5150057 STATUS READ CHATMESSAGE 5150697 STATUS SENDING CHAT
phpSkypeクラスを補完し、メッセージを処理して応答するようにスクリプトをトレーニングします。これは私が得たものです。
<?php $dbus = new Dbus(Dbus::BUS_SESSION, true);
これで、スクリプトは特定のメッセージに応答できるようになり、少し変更すると、すべてのメッセージに応答できるようになります。 もしあなたが自分のコンピュータでホストされている場合、またはローカルホストとホスト上のスクリプトの束を介して、サイトに面白い何かを実装することができます。これはあなたが思いつく方法です。
Invoke()メソッドを介して利用可能なコマンドの詳細なリストは、
ここにあります 。
また、[Microsoftのアクションに関連しない]ソースコードとより機能的なスクリプト。
これはすべてUbuntu 12.04 LTSシステムで行いました。残りのシステムでの動作を保証することはできません。誰かがチェックしてくれれば嬉しいです。
どんなアイデアでも大歓迎です。
読んでくれてありがとう!