こんにちは。CTOの馬場です。
今回もインフラエンジニア向けにちょっとした情報を紹介します。
今回は「Skype4Pyを使ってコマンドラインからSkypeを使う」です。
具体的には、ブックマークしたグループチャットに発言するプログラムを紹介します。
実際のところ、ちゃちゃっとセットアップしてしまえば、あとはコマンドラインからSkypeを利用できますので、ぜひ試してみてください。
参考: Linux上で動くSkype用のbotを作る方法 - muddy brown thang
困ったら上のURLを見てください。だいたい解決します。
と、投げっぱなしもなんなので、ざっくり手順を説明します。
- Skype4Pyをインストール
- スクリプトを作成
- 実行
という3ステップです。
※MacOSX 10.6でテストしています
SKype4Pyをインストール
コマンドラインから実行するだけ!簡単です。
sudo easy_install Skype4Py
スクリプトを作成
今回はPushMessage2BookmarkedChat.py
という名前でファイルを作成しました。
# coding: utf-8 import sys import Skype4Py def selectChatFromBookmark(skype,topic): for bookmarkedChat in skype.BookmarkedChats: if bookmarkedChat.Topic == topic: return bookmarkedChat def main(): skype = Skype4Py.Skype() skype.Attach() topic = unicode(sys.argv[1],'utf-8') message = unicode(sys.argv[2],'utf-8') chat = selectChatFromBookmark(skype,topic) chat.SendMessage(message) if __name__ == '__main__': main()
実行
実行する前の注意事項
- Skypeを起動しておくこと
- 発言したいチャットをブックマークに登録しておくこと
- スクリプトの初回起動時のみ認証画面がでるので、「次回以降も〜」を選ぶこと
実行方法は以下の通り。
$ python PushMessage2BookmarkedChat.py "テス子の部屋" "こんにちはこんにちは!!"
ちなみに、MacOSXで実行する場合には、以下のように32bitモードで実行するための環境変数を設定する必要があります。
$ VERSIONER_PYTHON_PREFER_32_BIT=yes ¥ python PushMessage2BookmarkedChat.py "テス子の部屋" "こんにちはこんにちは!!"
コレを指定しないとSegmentation faultでプログラムが落ちますのでご注意。
どうもSkype4Pyの問題のようです。
私の環境では環境変数指定で対応できていますが、回避できない場合は下記URLを参考にがんばってみてください ;)