………………………………
★ご注意★ 本記事で紹介しているGenetralTalker APIは、その公開を終了しました。 詳しく知りたい/さわってみたい方はモリカトロン(https://morikatron.com/contact/)までご連絡ください。 ………………………………
こんにちは、モリカトロンの山田です。
前回 GeneralTalker APIを使ったSlack botの作り方 - Morikatron Engineer Blog を書いたとき、Slack APIの登録がやけに面倒だったので、画像を交えながら、登録手順を丁寧に記録しておきます。 ※2021/05/19時点での情報です。
まだSlackのアカウントをお持ちでない場合は、まずアカウントを作成してください。
アカウント作成時に「ワークスペースを作成する」ボタンや「ワークスペースを開く」などで、テスト用のワークスペースを作ってください。
※管理者権限が必要です。
またSlack APIではホストするサーバーが必要です。
今回はテスト用のためngrokを使用して説明をさせていただきますが、 本格的に運用する際にはAWSやGoogle Cloudなどのサービスをご活用ください。
こちらが参考になるかと思います。
https://api.slack.com/docs/hosting
Slack APIの登録
それではSlack APIの登録を行っていきましょう。
https://api.slack.com/apps/ の右上「Your Apps」をクリック
「Create a New App」でbotを作成
「From scratch」と「From an app manifest」の選択ダイアログが出ますので、「From scratch」を選ぶ。
「App Name」(ボットの名前=自由)と、「Pick a workspace to develop your app in:」でボットを動かすワークスペースを指定し、「Create App」をクリック。
左メニューの「OAuth & Permissions」タブをクリック。
下の方にスクロールして「Bot Token Scopes」で「Add an OAuth Scope」をクリックし下記を追加。
一つ追加するごとにページ上方に「Success!」と出ます。- channels:history
- im:history
- chat:write
- im:write
※「User Token Scopes」ではないのでご注意ください。
「OAuth & Permissions」タブの上方の「Install to Workspace」ボタンをクリック
「Allow」をクリックし、SlackのワークスペースにbotのAppを追加
「Basic Information」タブより「Signing Secret」をコピー。(「Show」を押すと表示されます。)
※後で使用するためメモしておいてください。
「OAuth & Permissions」より「Bot User OAuth Token」をコピー。
※こちらも後で使用するのでメモしておいてください。
※2021年5月現在、「User OAuth Token」と「Bot User OAuth Token」の両方が表示される場合がありますが、使用するのは「Bot User OAuth Token」ですので、取り間違えないようご注意ください。
https://app.slack.com/ にアクセス。任意のチャンネルで右上方の「More」をクリックし、「Add apps」をクリック。
4で作成したApp name(ボットの名前)を選択し追加。
ngrokを起動。ngrok を起動すると http://xxxxxxngrok.ioのようなURLが表示されたかと思いますので、それをコピーしてください。
https://api.slack.com/ に戻り、「Event Subscriptions」タブで「Enable Events」をOffからOnにする。
13でコピーしたhttp://xxxxxxngrok.ioの後に/slack/eventsとつなげて「Request URL」にhttp://xxxxxxngrok.io/slack/eventsを入力。
※/slack/eventsを入力し忘れないようご注意ください。
これで「Verified」と表示されたらOKです。
もし「reinstall app to workspace」と表示されたら、クリックしてbotの変更を反映させてあげてください。
「Subscribe to bot events」で「Add Bot User Event」をクリックし、下記を追加。
- message.channels
- message.im
追加後「Save Changes」をクリックしてください。
※「Save Changes」をクリックしないと設定が消えてしまうのでご注意ください。
「App Home」タブ下方の「Show Tabs」で「Message Tab」をOnにし、その下の「Allow users to send Slash commands and messages from the messages tab」にチェックを入れる。
「Install App」タブで「Reinstall to Workspace」をクリック。
以上でSlack APIの設定は完了です。