かなり今更ではありますが、 Skype4py で skype bot を作る機会があったので、簡単な例としておみくじ bot を作成する手順を紹介します。
【環境】 Windows7 + VirtualBox 5.0.16 + Ubuntu 16.04 + Python 2.7.11
【 bot の仕様】 bot アカウントに「おみくじ」と打つと、おみくじの結果を返す。
それでは実際に作成してみましょう。
1.Ubuntu に Skype4py をインストール
$ sudo easy_install Skype4Py
easy_install が入ってない場合は、先に easy_install をインストールしましょう。 easy_install は setuptools に含まれています。
$ sudo apt install python-setuptools
2.Ubuntu に Skype をインストール
Skype は Canonical Partner リポジトリに含まれています。 このリポジトリはデフォルトでは無効になっているので、まずはこれを有効にします。
ソフトウェアの更新 > 設定 > 他のソフトウェア > 「Canonical パートナー」にチェック
これで Skype が apt-get でインストールできるようになります。
$ sudo apt-get install skype
インストールが済んだら Skype を起動します。
$ skype
利用規約が表示されたら同意して、bot にしたいアカウントでログインしてください。 bot 用のアカウントがない場合は作成してください。

3.おみくじ用のプログラムを実装
適当なディレクトリで omikuji.py を作成して保存します。
$ vi omikuji.py
# encoding: utf-8
import Skype4Py
import time
import random
class Omikuji:
def __init__(self):
self.list = [
{'result': '大吉', 'color': '赤'},
{'result': '中吉', 'color': '緑'},
{'result': '小吉', 'color': '青'},
{'result': '吉', 'color': 'オレンジ'},
{'result': '凶', 'color': '金'},
{'result': '大凶', 'color': '紫'}
]
def Execute(self):
rets = random.sample(self.list, 1)
return self.__MakeResult(rets[0])
def __MakeResult(self, ret):
return '今日の運勢は%sです!ラッキーカラーは%sです!' % (ret['result'], ret['color'])
def handler(msg, event):
if event == u"RECEIVED":
if msg.Body == u"おみくじ":
msg.Chat.SendMessage(o.Execute())
def Main():
skype = Skype4Py.Skype()
skype.OnMessageStatus = handler
skype.Attach()
while True:
time.sleep(1)
if __name__ == "__main__":
o = Omikuji()
Main()
保存したら、omikuji.py を実行します。
$ python omikuji.py
実行時に「ImportError: No module named ○○○」というエラーが出た場合は、エラーメッセージで言われている足りないモジュールをインストールしてください。
無事 omikuji.py が起動すると、初回は Skype API の認証要求が表示されますので、許可してください。

これで準備完了です。 早速おみくじを引いてみましょう。
4.おみくじを引く
ホストOS(windows7)の方から、bot とは違うアカウントで Skype にログインします。 bot アカウント(UPFT)に対して「おみくじ」と打ちます。

おみくじの結果が返ってきます。

まとめ
特に問題がなければ、10分もあれば bot 化することができます。 便利ツールを仕込むもよし、ちょっとしたジョークを仕込むもよし、python をこれから始めるという方など、勉強がてらに色々と遊んでみるのも良いかと思います。 (私もこれで初めて python を書きました)








