現状、さくらのVPSは主にWEBサーバとして使っていますが、折角なのでSkypeやIRCプロキシを常駐させようと思いました
とりあえずSkypeから手をつけることにして調べると、こちらが見つかりました
Linux上で動くSkype用のbotを作る方法 – muddy brown thang
SkypeをCLI環境で動作させ、SkyoePublicAPIで他プログラムから操作出来ることが示されています
記事中で紹介されているXvfbとx11vncですが、CentOS5.5にはXvfbがあらかじめインストールされていました
x11vncについてはちょっと面倒な手順を踏む必要があったのでまとめておきます
まず、RPMForgeのGPGキーをインポートします
sudo rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
続いてリポジトリ情報をダウンロード&インストール、yumに反映します
リポジトリ情報は こちら から環境にあったものを選択して下さい
今回、さくらのVPSのデフォルトはCentOS5.5 x86-64なので
http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
を選択しました
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
sudo rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm
sudo yum -y update rpmforge-release
これでRPMForgeの設定は完了です
sudo yum install x11vnc でインストールしましょう
#Skypeのインストールその他はまだ試してないです
Skypeのインストールはイカの手順通りに
HowTos/Skype – CentOS Wiki
Skypeのverが上がってない限りは基本的にコピペでOKです
後は
Linux上で動くSkype用のbotを作る方法 – muddy brown thang
の通りにデーモン登録し、TightVNCなど適当なクライアントでx11vncに繋いでGUIからライセンスを承諾します
ただし、x11vncコマンドでXvfbのディスプレイ番号を指定する必要があるので、
sudo x11vnc -display :20 -xauth /var/run/skype/Xauthority
となります(自分はskypeユーザを用意しませんでした)
botを作る場合は同様の手順でPublicAPIの認証許可操作を行います
SkypeKit というのはSkypeの機能を使ったソフトウェアを作るためのSDKです
ソフトウェアから直接Skypeにアクセスすることが出来るらしいです
SkypeKit Beta
これとは他にSkypePublicAPIというのがありますが、こいつはローカルのSkypeクライアントとやりとりしていて、
Skypeサーバとの通信部分は秘匿されていました(即ちこのPublicAPIを用いたソフトはSkypeも立ち上げてないと意味が無い!)
というのもこれはUSBカメラなどの機器がSkypeの機能を利用するためにあるらしいのです
※ちなみにPublicAPIの方は機能の追加などは今後行われず、維持管理だけに留めるそうです
で、本題
先に上げたSkypeKitですが、何故調べたかというとAndroidで動作するSkypeのIMクライアントを作りたかったからです
Androidには現状、Nimbuzzというクライアントがありますが、グループチャットに対応しておらず微妙です
他にクライアントを探してもそれ以上にまともなものは見つかりませんでした
(最近までfringというのも対応してましたが、仲違いしたらしく提供が打ち切られました)
そこでなんとか自作できないかとAPIを調べたのですが、ヒットするのはPublicAPIばかり…
NimbuzzなんかはIMの送受信自体は出来ているので、おそらく単独でSkypeと通信していると思われるのですが、
どうやって実現しているのか良くわかりません
予想としては、
・SkypeKitを使っている(そもそもAndroidで利用出来るのか?)現状デスクトップアプリのみっぽい
・Skypeから専用のAPIを提供されている(Nimbuzz、fringはVoIPも使えるので提携してそう?)
のどちらかだと思います
果たして個人制作でSkypeと直接通信できるのか…
情報が少なくて難儀しています;
Skypeのグループチャットにはいくつか特別なコマンドが用意されています
Help for Skype – user guides, FAQs, customer support
有名(?)なのは/alertsoffですかね
チャットの新着通知がOFFになります
確か自分が最初に知ったのもこのコマンドだったと思います
以下、有用そうなのを抜粋します
・コマンド一覧のヘルプを表示
/help
・自分の権限を取得
/get role
よくあるrole
USER=グループに追加された直後の権限 普通に発言出来るだけ
CREATOR=グループを作成した人だけが持つ権限 管理者の指定が出来る唯一の権限
MASTER=管理者 ユーザのbanとか出来ます
他にも(HELPERとLISTENER)ありますが、これだけで多分十分
・権限の指定(CREATORがMASTER指定するだけかな…)
/setrole [Skype Name] ROLE
[Skype Name]はログイン時のアカウント名(以下同様)
ROLEは上述した権限名(CREATOR以外)
ただしROLEでMASTERを指定出来るのはCREATORだけです
・タイトルの変更
/topic TITLE
書いてる途中で気付いたんですが、skype4.0だとガイドライン(チャットの上部に常に表示されるテキスト)の表示が出来ないんですね…
これがやりたいがために管理者の指定方法とか調べたんですけど…orz
P.S.
RSさん、現在YAMATOさんと3人で使ってるグループチャットのCREATORなので、気が向いたらMASTERに指定して貰えると嬉しいです
コマンドは
/setrole yusukezzz106 MASTER
これをコピペしてこれだけ投稿すればおk