かつをメモ

自分が書いたプログラムなど色々投稿していきます。

Slackbotを動かしてみる

こんばんは、かつをです。

Google Home Miniを用いて、どうやって家電を動かそうかと考えていました。色々調べてみたところ、Slackを介するのが楽そうだなと思いました。ちなみにHubotを使ってBot作成するのが一般的だそうです。ただ、CoffeeScriptを新たに勉強するのが少し大変そうだと思ったので、とりあえずPythonで書けるSlackbotのライブラリを使ってみようと思います。今やりたいこともこちらで十分そうです。Hubotの方が拡張性は高いのでしょうか?Pythonで書けるというのは自分にとってかなりでかいですね。

とりあえずSlackbotを動かしてみたいと思います。

参考サイト

qiita.com

qiita.com

環境

MacBook Air

Slackにbotを追加

自分用のワークスペースの作成方法については以下を参照してください。

Slack のはじめ方 — ワークスペース作成者編 – Slack

botの追加は以下を参考にしました。

Pythonを使ったSlackBotの作成方法 - Qiita

botとはダイレクトメッセージでやりとりするのではなく、チャンネル内でやりとりすることにします。#randomを使いました。
Google Home Mini -> IFTTT -> Slack
ということを後々しようと考えています。

1. 他のユーザーをこのチャンネルに招待するを選択

f:id:katsuwoo:20180924182750p:plain

2. botを招待する

以下のようにbotと検索し、選択して招待します。

f:id:katsuwoo:20180924183605p:plain

招待されました。

f:id:katsuwoo:20180924183731p:plain

実装とテスト

1. Slackbotライブラリのインストール

pipコマンドで実行可能です。

$ pip install slackbot
2. ディレクトリ構造の作成
3. run.py
4. slackbot_settings.py

この手順については以下を参考にさせていただきました。

Pythonを使ったSlackBotの作成方法 - Qiita

5. my_mention.pyの実装

ここだけカスタマイズしました。

(略)
@listen_to('テスト')
def listen_func(message):
    message.send('返答1')
    message.reply('返答2')

ターミナルを立ち上げて、動作確認します。

$ python run.py

Slackにテストと入力してみます。

f:id:katsuwoo:20180924184707p:plain

無事、動きました。