Slackのチャットボットを作成する場合、
HubotやRuboty+Herokuという組み合わせを利用している方が多いと思います。
ただ、Herokuの無料枠には限りがあります。
そこで、簡単な機能であれば Google Apps Script と Slash Commands Integrations
を組み合わせることで実現できます。
Slash Commands Integrations とは?
Slackには組み込みで使える /
ではじまる Slash コマンドがあります。
この機能を外部サービスと連携してカスタマイズできるのが
Slash Commands Integrations です。
Slash Commands - Slack公式ドキュメント
作成手順
今回は疎通確認だけします。
ping に対して pong を返却します。
Google Apps Scripts: Spreadsheetの作成
新規の Google Spreadsheet を作成し、スクリプトエディタを開きます
Google Apps Scripts: 関数の作成
doGet関数を作成します。
返却フォーマットに関する詳細は公式ドキュメントをご確認ください。
Slash Commands - Slack公式ドキュメント
function doGet(e) { var res = {"text": "pong"}; return ContentService.createTextOutput(JSON.stringify(res)).setMimeType(ContentService.MimeType.JSON); }
Google Apps Scripts: ウェブアプリケーションとして公開
ウェブアプリケーションとして公開します
- アップロードアイコンを選択します
- プロジェクト名を設定します
- アクセス対象を全員にして導入をします
- URLをコピーしておきます
Slack: Slash Integration を開く
- App Directory で Slash を入力して検索します
- Slash Commands を選択します
Slack: 設定を追加する
- Add Configuration を選択します
- コマンド名を入力し, Add Slash Command Integration を選択します
- 各種設定を行います
- Show this command in the auto complete list の部分はこんな感じで表示されます
以上で設定完了です。
動作確認