Skype4Pyを使ってコマンドラインからSkypeを使う | 実験用サイト

技術

Skype4Pyを使ってコマンドラインからSkypeを使う

Cat: 技術

こんにちは。CTOの馬場です。
今回もインフラエンジニア向けにちょっとした情報を紹介します。
今回は「Skype4Pyを使ってコマンドラインからSkypeを使う」です。
具体的には、ブックマークしたグループチャットに発言するプログラムを紹介します。
実際のところ、ちゃちゃっとセットアップしてしまえば、あとはコマンドラインからSkypeを利用できますので、ぜひ試してみてください。


参考: [Linux上で動くSkype用のbotを作る方法 – muddy brown thang](http://d.hatena.ne.jp/moriyoshi/20100926/1285517353)
困ったら上のURLを見てください。だいたい解決します。
と、投げっぱなしもなんなので、ざっくり手順を説明します。
1. Skype4Pyをインストール
2. スクリプトを作成
3. 実行
という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を参考にがんばってみてください 😉
参考: [ Macports で入れた Python で Skype4Py を使う – SPEAKER BREAKA](http://d.hatena.ne.jp/namaco35/20100403/1270263908)

(問い合わせ誘導コンテンツ)

PAGE TOP