はじめに
この投稿はチームスピリット Advent Calendar 2017 - Adventarの8日目の記事になります。 adventar.org
ほろ酔いてっく向けのネタのためにやる。
Slackってフロントエンドだよね。ブラウザから使うし間違いない!
CTFでもちょこちょこ使うPythonの勉強がてらPython3で挑戦します。
今回使うもの
SlackBot
github.com
それでは開始
Python3のインストール
# brewでinstall brew install python3 # 確認 python3 -V
SlackBotのインストール
# pipのアップデート pip3 install --upgrade pip # SlackBotを入れる sudo pip3 install slackbot
Slack側のBotアカウントの作成
ここでBotアカウントの作成する
https://my.slack.com/services/new/bot
Bot側でSlackBotの作成
基本的にはREADMEを読み進めていく感じ
はじめにslackbot_settings.pyとrun.pyを作る
# ディレクトリ作って mkdir slackbot cd slackbot # ファイルを作る touch slcakbot_settings.py run.py mkdir plugins cd plugins touch __init__.py response.py
slackbot_settings.py にてメモったAPI Tokenを貼る
# SlackBot API Token API_TOKEN = "<your-api-token>" # Defalut Replyはココ DEFAULT_REPLY = "Sorry but I didn't understand you" # Plugin Directory PLUGINS = ['plugins']
response.py に返事をしてほしいことをいろいろ書く
from slackbot.bot import respond_to
from slackbot.bot import listen_to
import re
@respond_to('hi', re.IGNORECASE)
def hi(message):
message.reply('I can understand hi or HI!')
# 絵文字のリアクション
message.react('+1')
@respond_to('I love you')
def love(message):
message.reply('I love you too!')
@listen_to('Can someone help me?')
def help(message):
# メンションをつけてくれます
message.reply('Yes, I can!')
# チャンネルに向けて発言してくれます
message.send('I can help everybody!')
# スレッドで返信
message.reply("Here's a threaded reply", in_thread=True)
Botの起動
python3 run.py
話しかけてみる
まとめ
意外とさっくりできた。
ブログにまとめるのが時間かかってるので、もう少し気楽に書こう。
もう少しいろいろカスタマイズして楽しいBot遊びをしたい。
次回はAPI連携とオリジナル感を出したい。
おわり