今後のために過去の記事を復活させておきます。
- Twitter、レガシーAPIのサポート終了–状況など説明 – CNET Japan
- Twitterの“User Streams API”が完全終了 ~それでもリアルタイム更新を楽しむ方法 – やじうまの杜 – 窓の杜
Twitter API や開発者への雲行きが怪しくなっていることを受けて、今まで Twitter でやっていたものを他のSNSなどに移そうかと考えています。
今回はその中の一環として Slack のbotを作ってみたいと思います。 Slack についてはだいぶ今更感もありますが、逆に言えばノウハウも多いと思われるのでやりやすいのではないでしょうか。また、その機能を受けるユーザーが自分だけで良いのであれば Twitter よりも良いでしょうし。
ということで、早速作業に取り掛かります。
作業内容としては以下。
- ワークスペースを作る(いくつかのbotを作りたいので、このワークスペースの中でチャンネルを分ける予定)
- アプリ作成
- botユーザ作成
1. ワークスペースを作る
それでは、まずは自分用のワークスペースを作ります。といっても、この作業はほぼ登録作業ですね。
![トップページのナビゲーションバーから「 SLACK を始める」](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_01-1024x157.jpg)
まず、 Slack のトップページのナビゲーションバーから「SLACKを始める」をクリック。
![「ワークスペースを新規作成」](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_02.jpg)
「ワークスペースを新規作成」を選択。
![ワークスペースを新規作成](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_03.jpg)
有効なメールアドレスの入力を求められるので、自分のアドレスを入力。
![6桁の確認コード](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_04.jpg)
先ほど入力したメールアドレス宛に6桁の確認コードが送られてくるのでそれを入力。
![名前の入力](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_05.jpg)
続いて名前の入力を求められます。
![パスワードの入力](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_06.jpg)
お次はパスワード。ここまではアカウントの作成ですね。
![会社名の入力](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_07.jpg)
今度は会社名またはグループ名と来ましたが、つまるところ表示に使うワークスペースの名前です。
![URLの入力](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_08.jpg)
そしてワークスペースのURL。サブドメインのようにURLの一番最初の部分に使われます。……スクショを撮るのがボタンを押した後で利用規約のモーダルが出ていますが、裏側はURLの入力画面です。そして、「戻る」がないのですね。暗い部分を押しても戻れません。
![ユーザーの招待](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_09.jpg)
ワークスペースが作成できたので、ユーザーを招待します。が、今回はbot用なので特に必要なし。
ここまででワークスペースが作成され、見慣れた Slack の画面になります(チュートリアルがあったりしますが)。
さて、今度は冒頭で触れたようにbotごとにチャンネルを分けたいのでチャンネルを作成します。
![チャンネルの作成](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_10.jpg)
プライベートで作成。
2. アプリ作成
さて、ワークスペースとチャンネルの部隊が整った所でアプリを作成しましょう。
Slack API: Applications | Slackにアクセスしてアプリを新規作成します。
![Slack アプリの作り方手順](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_11.jpg)
手順はワークスペースで利用するボットの作成 – Slackにある通り。
![Slack アプリ新規作成](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_12.jpg)
以降英語ですが頑張りましょう。ログインしている状態でアクセスすれば、アプリ名を入力し、ワークスペースをプルダウンから選択できます。
![Slack アプリアクセス許可](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_13.jpg)
アクセス許可を求められるので許可。
![Incoming Webhooks をオンに](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_14.jpg)
画面遷移した後に機能を選ぶ画面になると思いますので、「Incoming Webhooks」をオンにします。これが一番簡単そうだったので。
下の方の「Webhook URL」で「Add New Webhook to Workspace」をクリックしてURLを追加します。
![Webhook URL 追加後](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_15.jpg)
追加するとURLが生成されるのでこれを控えます。このURLを知られてしまうと誰でもワークスペースにアクセスできてしまうので注意。
3. botユーザ作成
![Bot Users追加](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_16-1024x462.jpg)
次にサイドバーの「Features」からBotユーザを追加します。
![Bot Users追加後の画面](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_17.jpg)
表示名とユーザ名を入力して保存すればOK。常にオンラインにしておきましょうか。
![表示設定](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_18.jpg)
アプリ名や説明、アイコンを設定して表示上の設定を行います。
ここまででUIの設定は一先ず終了。
テスト用の PHP プログラムをペチペチ作成して、メッセージを JSON 形式で POST してあげると……。
![botからのテスト投稿](https://labor.ewigleere.net/wp-content/uploads/2020/09/slack_bot_create_20180903_19.jpg)
期待通り、指定したチャンネルにテスト投稿できました!
この後はひたすらプログラムの作成になるので、今日のところはここまで。