Python で Slack の BOT を作る ~その2~

前回の続き

Pythonを使ってSlackのBOTを作ってみます。
特定のキーワードに反応したりする自動応答スクリプトみたいなものです。

使用するライブラリのインストール

詳しくはココ。

ディレクトリ構造

ディレクトリ構造がちょっと複雑なので、先にディレクトリ構造をのせておきます。

slackbot01

pluginフォルダ → BOTのリアクションはプラグインという形で実装していきます。そのフォルダ。
__init__.py → お約束。
reaction.py → リアクションを記述したスクリプトの実体。
rpi_bot.py → BOTスクリプトの実体。
slackbot_settings.py → BOTの設定ファイル。ファイル名は固定。

rpi_bot.pyの中身

みたまんまです。
Botクラスのインスタンスを生成してrun()しています。

slackbot_settings.pyの中身

BOTの設定を記入していきます。
前回控えておいたAPI_TOKENを記入します。上のは例です。
DEFAULT_REPLYはメンションを受けたとき、該当するリアクションがない場合の返事になります。

reaction.pyの中身

ようやくリアクションの中身に入っていきます。

reaction1メソッドは参加しているチャンネルの発言に特定のキーワードが含まれていたときのリアクション。
トリガとなるキーワードは @listen_to 属性で指定しています。

reaction2メソッドはメンションに対するリアクション。
トリガとなるキーワードは @respond_to 属性で指定しています。

実行してみる

↓チャンネルに対するリアクション

slackbot02

↓メンションに対するリアクション

slackbot03

できた。

あーつかれた(ヽ´ω`)
文字コードの指定漏れなんかで大変苦労しました。
pythonはunicodeの扱いが厄介です。
これがなければ日本でもっと広まってたかもしれませんね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です