SlackのSlash Commandsを自分で設定する場合に新旧2種類の方法が存在し、挙動も若干違うという話を紹介します。2つの違いに気づかないと時間を無駄にすることがあります1。
古い方:Custom IntegrationsのSlash Commands
「Slash Commands」というアプリの設定をカスタマイズして利用します。多くの人が自然に使っているのはこちらだと思います。
利用している場合、https://[TEAM_DOMAIN].slack.com/apps/manage/custom-integrations
で確認できます。
こちらの方法で作ったSlash Commandsは補完メニューに表示されませんので、秘密のコマンドを実装することができます。
新しい方:カスタムアプリのSlash Commands
https://api.slack.com/apps からカスタムアプリを作り、アプリのSlash Commandsを追加して利用することもできます。
次のようなインターフェースからコマンドを登録します。
こちらの方法で作ったSlash Commandsは全利用者から見えますし、補完メニューに表示されます。
また、この方法で作ったSlash CommandsはHMACを使ったリクエスト改ざんチェックが可能です(参考:Verifying requests from Slack | Slack)。
-
私は古い方を使っているのに気づかず、新しい方用のドキュメントを読んで「なぜX-Slack-Request-Timestampヘッダが来ないんだ?」と悩みまくりました ↩