2015/06/12

Skype のオンラインステータスをウェブサイトに表示する方法

ログイン状態
先月くらいからついに Skype のオンラインステータス(ログイン状態)を表示するボタン(ウェブサイトに設置する物、公式版)が完全に使えなくなってしまったようです。ちょうど今から 2 年前にその件について記事を書いた時点で既に予兆はあったのですが、2 年の猶予期間を経て廃止に至ったという感じでしょうか。

使えなくなったものを無理して使おうとする必要もないとは思うのですが、やっぱりオンラインやオフラインが分かった方が連絡もしやすいとも思うんですよね。

そこで、以前とほぼ同じものを独自に作って置き換えてみました。ただし、以前のように自動的に Skype のステータスと連動するものではなく、手動での切り替えになります。

実は原理的には非常に単純(原始的)で、Skype を起動してオンラインになったら FTP でオンライン表示の画像をアップロードします。退席するときは Skype を一時退席に切り替えてから FTP で一時退席表示の画像をアップロードします。オフラインや取り込み中も同様です。

ただそれだけのことなのですが、実際にそれを毎回手動でやるとなると幾つかの工程があるので面倒な作業になってしまいます。そこで、それらの作業を可能な限り自動化させることで日常的に使えるレベルにすることができました。

まずは 4 種のステータスに合わせて 4 種類の画像を用意します。これらに別々の名前を付けてパソコンに保存しておきます。
FTP で画像をアップロードするバッチファイルとコマンドファイルを作成します。この時、4 種類別々に作りますが、アップロードするファイル名はすべて同じ(以下の例では“status.png”)にします。
(バッチファイルの内容はご自分の環境に合わせて書き換えてください。以下はあくまで一例なのでそのままでは使えません。)

例:
バッチファイル(online.bat)の内容
FTP -s:online.txt
exit

コマンドファイル(online.txt)の内容
open ftp.mysite.ne.jp //接続先サーバ
apollo //ユーザ名
abcd1234 //パスワード
cd skype //リモートのディレクトリの移動
lcd C:\Users\apollo\Documents\www\apollo\skype //ローカルのディレクトリ
bin //binaryモードに
put online.png status.png //online.png の名前を status.png に変えてアップロード
bye //終了
(「//」以下はコメントです。削除してから使用してください。)

アップロードした画像を表示する HTML タグと、表示を切り替えるスクリプトをウェブサイトに埋め込みます。(詳細は過去記事を参照。)


<a href="skype:YourSkypeName?chat"><img src="http://www.mysite.ne.jp/skype/status.png" style="border: none;" width="114" height="20" alt="ログイン状態" id="mystatus"></a>
<script type="text/javascript">
var nowdate = new Date();
var stamp = nowdate.getTime();
document.getElementById('mystatus').src="http://www.mysite.ne.jp/skype/status.png?"+stamp;
</script>

あとは、Skype を起動したらステータスに合わせてバッチファイルを起動するだけです。一瞬でアップロードが完了し、ウェブサイト上のステータス表示も切り替わります。

バッチファイルはショートカットを作り、アイコンを Skype のプログラムから読み込んで変更しておくと見た目で分かりやすくて便利です。ショートカットの設定で最小化状態で起動するようにしておけばウィンドウは表示されません。

このショートカットを一つのフォルダにまとめておき、タスクバーのツールバーとして登録しておくとさらに使いやすくなります。

これでタスクバーのアイコンをワンクリックするだけでいつでもログイン状態表示を切り替えられます。

パソコンって便利!