Slack の登録から Slack のbotを作るまで(途中) (2018/9/3)

今後のために過去の記事を復活させておきます。


Twitter API や開発者への雲行きが怪しくなっていることを受けて、今まで Twitter でやっていたものを他のSNSなどに移そうかと考えています。

今回はその中の一環として Slack のbotを作ってみたいと思います。 Slack についてはだいぶ今更感もありますが、逆に言えばノウハウも多いと思われるのでやりやすいのではないでしょうか。また、その機能を受けるユーザーが自分だけで良いのであれば Twitter よりも良いでしょうし。

ということで、早速作業に取り掛かります。

作業内容としては以下。

  1. ワークスペースを作る(いくつかのbotを作りたいので、このワークスペースの中でチャンネルを分ける予定)
  2. アプリ作成
  3. botユーザ作成

1. ワークスペースを作る

それでは、まずは自分用のワークスペースを作ります。といっても、この作業はほぼ登録作業ですね。

トップページのナビゲーションバーから「 SLACK を始める」
トップページのナビゲーションバーから「 SLACK を始める」

まず、 Slack のトップページのナビゲーションバーから「SLACKを始める」をクリック。

「ワークスペースを新規作成」
「ワークスペースを新規作成」

「ワークスペースを新規作成」を選択。

ワークスペースを新規作成
ワークスペースを新規作成

有効なメールアドレスの入力を求められるので、自分のアドレスを入力。

6桁の確認コード
6桁の確認コード

先ほど入力したメールアドレス宛に6桁の確認コードが送られてくるのでそれを入力。

名前の入力
名前の入力

続いて名前の入力を求められます。

パスワードの入力
パスワードの入力

お次はパスワード。ここまではアカウントの作成ですね。

会社名の入力
会社名の入力

今度は会社名またはグループ名と来ましたが、つまるところ表示に使うワークスペースの名前です。

URLの入力
URLの入力

そしてワークスペースのURL。サブドメインのようにURLの一番最初の部分に使われます。……スクショを撮るのがボタンを押した後で利用規約のモーダルが出ていますが、裏側はURLの入力画面です。そして、「戻る」がないのですね。暗い部分を押しても戻れません。

ユーザーの招待
ユーザーの招待

ワークスペースが作成できたので、ユーザーを招待します。が、今回はbot用なので特に必要なし。

ここまででワークスペースが作成され、見慣れた Slack の画面になります(チュートリアルがあったりしますが)。

さて、今度は冒頭で触れたようにbotごとにチャンネルを分けたいのでチャンネルを作成します。

チャンネルの作成
チャンネルの作成

プライベートで作成。

2. アプリ作成

さて、ワークスペースとチャンネルの部隊が整った所でアプリを作成しましょう。

Slack API: Applications | Slackにアクセスしてアプリを新規作成します。

Slack アプリの作り方手順
Slack アプリの作り方手順

手順はワークスペースで利用するボットの作成 – Slackにある通り。

Slack アプリ新規作成
Slack アプリ新規作成

以降英語ですが頑張りましょう。ログインしている状態でアクセスすれば、アプリ名を入力し、ワークスペースをプルダウンから選択できます。

Slack アプリアクセス許可
Slack アプリアクセス許可

アクセス許可を求められるので許可。

Incoming Webhooks をオンに
Incoming Webhooks をオンに

画面遷移した後に機能を選ぶ画面になると思いますので、「Incoming Webhooks」をオンにします。これが一番簡単そうだったので。

下の方の「Webhook URL」で「Add New Webhook to Workspace」をクリックしてURLを追加します。

Webhook URL 追加後
Webhook URL 追加後

追加するとURLが生成されるのでこれを控えます。このURLを知られてしまうと誰でもワークスペースにアクセスできてしまうので注意。

3. botユーザ作成

Bot Users追加
Bot Users追加

次にサイドバーの「Features」からBotユーザを追加します。

Bot Users追加後の画面
Bot Users追加後の画面

表示名とユーザ名を入力して保存すればOK。常にオンラインにしておきましょうか。

表示設定
表示設定

アプリ名や説明、アイコンを設定して表示上の設定を行います。

ここまででUIの設定は一先ず終了。

テスト用の PHP プログラムをペチペチ作成して、メッセージを JSON 形式で POST してあげると……。

botからのテスト投稿
botからのテスト投稿

期待通り、指定したチャンネルにテスト投稿できました!


この後はひたすらプログラムの作成になるので、今日のところはここまで。

参考

この記事を書いた人

アルム=バンド

フロントエンド・バックエンド・サーバエンジニア。LAMPやNodeからWP、Gulpを使ってejs,Scss,JSのコーディングまで一通り。たまにRasPiで遊んだり、趣味で開発したり。