2018年5月4日金曜日

Python で Slack の bot を作りはじめた (1)

GW だし、何もしないで過ごすより、ちょっと少しは新しいものに挑戦したいなと思って前々から気になってた Python を勉強することにしました。勉強するなら本を読むだけより、何かを作って実践した方が良いと思って 自分用 Slack で動作する Bot を作ることにしました。

色々と便利なこの世の中、何か良いアイデアが浮かんでも既に誰かが同じことを考えて自分で作るよりも便利で高機能なツール類が存在していることが多々あります。今回はそういったものも存在していないようなので一石二鳥です。

まず bot は Raspberry Pi 上で動作させることにします。Raspbian には、Python がインストール済みでした。
pi@raspberrypi:~ $ python3 -V
Python 3.5.3
そして、Python で Slack の bot の作り方をググります。すると、色々見つかりました。

PythonのslackbotライブラリでSlackボットを作る
https://qiita.com/sukesuke/items/1ac92251def87357fdf6

Pythonを使ったSlackBotの作成方法
https://qiita.com/kunitaya/items/690028e33ba5c666f3e2

上記のウェブの通りに、Python のパッケージインストーラと slackbot をインストールします。
pi@raspberrypi:~ $ sudo apt-get install python3-pip
pi@raspberrypi:~ $ sudo pip3 install slackbot
しかし、どうも slackbot はユーザーがチャットで発言した事に対して bot がリアクションを行うという前提になっているようです。今回、自分が作りたいのは外部のウェブページを監視して更新されたら bot が自発的にアクションを行うというものなので、このタイプではやりたいことが実現できません。さらにググって、自発的にチャットに発言する方法を見つけました。

PythonでSlackbotを作る(3)
https://blog.bitmeister.jp/?p=3948

サンプルを動かしてチャットに発言ができるところまで確認できたので、次はウェブページの監視側を作ります。

続く