手軽にOAuth Tokenでslack投稿できるCLIツール slack-quickpostをつくりました
少し前はslackへの投稿といえばincomming webhookでしたが、slack app化が進むにつれ非推奨になりつつあります。
前は自由だったusernameとiconの指定ができない、channelが固定など普段使いするには手軽とは言えません
普段golangを書いていると手軽にslack-go/slackを利用してOAuth Tokenを利用してpostしているので、その感覚で使えるCLIツールを書きました
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 かんがえるひと
テキストはファイル入力、スニペット出力も可能です。
slack-quickpost --channel C_____ --textfile testtext --icon "memo" --username メモ slack-quickpost --channel C_____ --textfile testtext --snippet
slack apiの仕様上、ファイルのアップロード時にはusernameとiconの指定が出来ないのでこれらのオプションは無視されます。
任意のファイルをアップロードすることができます
slack-quickpost --channel C_____ --text "記念動画" --file memory.mp4