#temanote

エンジニア、SREです

手軽にOAuth Tokenでslack投稿できるCLIツール slack-quickpostをつくりました

少し前はslackへの投稿といえばincomming webhookでしたが、slack app化が進むにつれ非推奨になりつつあります。
前は自由だったusernameとiconの指定ができない、channelが固定など普段使いするには手軽とは言えません

普段golangを書いていると手軽にslack-go/slackを利用してOAuth Tokenを利用してpostしているので、その感覚で使えるCLIツールを書きました

github.com

go get github.com/ToshihitoKon/slack-quickpost

でインストールできます。go 1.15以上が必要です。

テキストを投稿したい場合は

slack-quickpost --token "xorb-XXXXX..." --channel C____ --text "post text"

だけで投稿できます。tokenは環境変数SLACK_TOKENに入れておくと--tokenオプションを省略できます。

usernameとiconが指定できます。iconはemojiの場合は--icon "emojiname"、画像URLの場合は--icon-url https://~~を指定可能です。

slack-quickpost --channel C_____ --text "icon emoji" --icon "thinking_face" --username かんがえるひと

f:id:tkonsoy:20210911003812p:plain

テキストはファイル入力、スニペット出力も可能です。

slack-quickpost --channel C_____ --textfile testtext --icon "memo" --username メモ
slack-quickpost --channel C_____ --textfile testtext --snippet

f:id:tkonsoy:20210911004219p:plain

slack apiの仕様上、ファイルのアップロード時にはusernameとiconの指定が出来ないのでこれらのオプションは無視されます。

任意のファイルをアップロードすることができます

slack-quickpost --channel C_____ --text "記念動画" --file memory.mp4