Slack Appの開発を始める前に開発者向けドキュメントを見てみましょう。
App capabilitiesセクションにある通り、開発者は様々な方法でSlack Appを実現することができます。
Incoming Webhooks
: Webhook経由で指定のチャンネルにメッセージを投稿するSlash Commands
: ユーザからのコマンドに合わせたタスクを実行するBot User
: ユーザと対話しながらタスクを実行するInternal Integrations
: 他者に公開しないドメスティックなSlack Appの総称Message Buttons
: メッセージにボタンを追加するReal Time Messaging and Events
: 条件を満たしたときにメッセージを投稿するPermission Scope
: Slack Appの権限を管理するOAuth
: Slack Appを認証するApp Directory
: Slack Appを他者に公開する
開発者向けドキュメント右上のTutorialsにまとまっているハウツーをこなしていくと
Slack Appの開発について段々と理解が深まります。
しかし、今回は短い時間の中で成果を出さなければならないので、
Slack Appの中でも比較的メジャーなBot Userの開発フローをまとめました。
開発者向けドキュメント右上のYour Appsに遷移して新しいBot Userを開発していきましょう。
-
Your Appsにアクセスする
-
Create New Appボタンを押し、Slack Appの名前と紐付けるWorkspaceを入力し、Create Appボタンを押す
-
Add features and functionalityのBotsパネルを押し、Add a Bot Userボタンを押す
-
左メニューからBasic Informationに戻り、Install your app to your workspaceのInstall App to Workspaceを押す
-
取得したTokenを控えつつ好きな言語・フレームワークでBotを実装する
- Javascript/Ruby/Pythonなどさまざまな言語で実装された Slack Appサンプル集 を用意しています
- これらをベースにするもよし、一から開発するもよしです
- ここでは Hubotとは? に従って簡単なBotを作成したとします
-
Bot UserをInviteするためにPublic Channelを作成する
- Slackアプリを起動しChannelsの右にある+ボタンを押して新しいPublic Channelを追加しましょう。
-
作成したPublic ChannelにBot UserをInviteする
- 作成したPublic Channelを開きinfoマークを押します
- 右メニューを表示させMembersのInvite more peopleから作成したBot Userを追加しましょう
-
localhostでHubotを実行する
- Hubotを実行してからSlackで動作確認してみましょう
- 問題なければSlack AppをPaaSにデプロイしてみんなに自慢しましょう!