3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

スクリプトからSlackにスラッシュコマンドを送信する裏技(2020年12月最新版)

Last updated at Posted at 2020-12-24

【概要】

Slack連携をしている勤怠管理システムにスクリプトから打刻したいと思い、Slackにスラッシュコマンドを送信する方法を調べた。

SlackにスラッシュコマンドをAPIから送信する場合、chat.postMessageなどを使用するとスラッシュコマンドではなく単純なテキストとして認識されてしまう為、chat.commandというAPIを使用する必要がある。

しかし、chat.commandを使用する為にはPOSTのスコープが必要で、その為に必要なLegacyTokenが2020年5月5日をもって発行出来なくなってしまったので、今までのようにchat.commandを使用することは出来なくなってしまった。
https://api.slack.com/changelog/2020-02-legacy-test-token-creation-to-retire

そこで今回は、chat.commandを使用する裏技について解説する。

【手順】

1.GoogleChromeなどから、Slackにアクセスし、スラッシュコマンドを送りたいチャンネルを開く

2.F12を押して通信の内容を表示し、送信したいスラッシュコマンドを一度手動で送信する

3.通信の一覧にchat.commandが表示されるので、右クリックする
無題.png

4.Copyから、様々な言語向けにHttpリクエストをコピー出来るので、使いたい言語でコピーする
slack2.png

5.コピーした内容をスクリプト化し実行すると、スラッシュコマンドが送信され

【おまけ】

今回自分はcURL(cmd)でコピーし、batファイルとして作成したが、書式の問題でそのままでは動かなかったので、動くようにする方法を記述しておく。

1.sec-ch-ua:という行があれば削除する
2.一番最後にある--compressedを削除する
3.compressedがあった手前の行の最後にある^を削除する
4.^%^を、全て%%に置き換える

これでbatからスラッシュコマンドを送ることが出来る。

3
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?