LoginSignup
0
0

More than 1 year has passed since last update.

三流窓際エンジニアがやる初めてのSlack Bot開発 〜Bot 準備編 〜

Last updated at Posted at 2022-01-23

在宅勤務が増え、社内でもSlackを使う機会が増えてきている。
基本的に人力でいろいろやっていて、とても面倒なのでこの機会になんか楽できるBotを作ってみようと思います!
以下、やったことをグダグダと取り留めなくメモっていく。

Slack Botでなにする?

今回作るBotは、
1. 在宅勤務者は作業開始時に挨拶のリアクションを残すルールなので、リアクションをカウントし、人数が集まったら挨拶メッセージを投稿する。
2. 定時になったら業務終了を通知する挨拶メッセージを投稿する。

の2つの機能を持ったBotを最終的に作ろうかと思います。
とはいえ、今回初めてなので、単純に時間が来たらメッセージを投稿するシンプルなbotをまずは作ってみて機能拡張していく方針でやってみようかと。

Slack Botのしくみ

いろいろ調べてみるとSlack Botは以下の図のように動いているようです。
(サーバー立てるのか、めんどくせーな…楽したい…)

slack.jpg

今日の目標

今日はサーバとSlackとの橋渡しをするbot部分を作る(設定を終わらせる)。

参考にしたサイト:
誰でも分かるはず!本気でSlackBotの作り方を解説してみた!
https://belltree.life/slack-bot-hands-on/

誰でも分かるって書いてあるからきっと僕でもできるのだろう。

Slack APIのサイトでBotを作る

Slack API( https://api.slack.com/apps?new_app=1 )にアクセスする。
すると、以下のような画面が開く。

スクリーンショット 2022-01-23 16.31.47.png

とりあえず"BETA"がついてない"From scratch"を選ぶ。
次に名前とbotをしかけるWorkspaceを設定する。

スクリーンショット 2022-01-23 16.38.11.png

"Create App"でBotが作成されるものの、権限を何も持ってないので、権限を与える。
スクリーンショット 2022-01-23 16.41.56.png
スクリーンショット 2022-01-23 16.50.19.png

それぞれの意味は、
・ chat:write メッセージを投稿する権限
・ chat:write.customize メッセージを投稿する時に表示されるボット名やアイコンを自由に設定する権限
・ reaction:read メッセージに付けられたリアクションを取得できる?

ここまでできたら、Let`s install!!
とりあえず動作確認用に作ってあるWorkspaceにインストールしてみる。

スクリーンショット 2022-01-23 20.46.47.png

!?できない??

スクリーンショット 2022-01-23 20.47.31.png

こちらのサイト( https://tea-programming.blogspot.com/2020/03/slack.html )を見ると、どうもメッセージそのままにボットユーザーを追加しないといけないらしい。
ということでボットユーザーを追加!名前はテキトー!!
スクリーンショット 2022-01-23 20.52.31.png

下へスクロールすると、

スクリーンショット 2022-01-23 20.53.11.png

"Bots"をクリックして移動した先でここの"Edit"ボタンを押す

スクリーンショット 2022-01-23 20.59.32.png

テキトーに名前を入れて"Add"ボタンを押す

スクリーンショット 2022-01-23 20.55.01.png

するとボットユーザーが追加される!

スクリーンショット 2022-01-23 20.55.25.png

準備ができたので、改めてさっきの"Install to Workspace"を押すと、先に進む!

スクリーンショット 2022-01-23 20.55.52.png

"許可する"ボタンを押して、インストール完了!!

この後の画面のTokenを使うことで、許可した範囲でAPIが使えるそうな。

今日はここまで!
APIを使うところはまた次回に!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0