読者です 読者をやめる 読者になる 読者になる

その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

linenotcatというツールを書いた

golang line

LINE Notifyが便利でよく使っています.LINE Notifyが何かとか何が便利なのかとかをご存じない方は

コマンドラインから LINE にメッセージを送れる LINE Notify « LINE Engineers' Blog

を読んでいただければと思いますが,あえてものすごくざっくり説明するとim.kayacのLINE版みたいなやつです.

んで,Slackというやつも便利で,こちらはチャットツールなわけですが,そのSlackにはslackcatというこれまた便利なコマンドラインツールがあり,これはコマンドを叩くだけで任意のSlackのchannelに対してメッセージやファイルの中身を送ることが出来ます.その名の通りcatコマンドの結果がSlackに流れるという感じ.

というわけでそのLINE Notify版を作ったという話です.コマンドライン経由でLINE Notifyにメッセージを送ることが出来ます.

github.com

LINE NOTify + catということでlinenotcatという名称です *1

基本的な使い方としてはslackcatとだいたい同じで,

$ echo 'YOUR_ACCESS_TOKEN' > $HOME/.linenotcat

という感じでAccess Tokenを登録するともう使えます.

$ echo 'Hello world!' | linenotcat

という風にすれば標準入力経由で投稿が出来て,

$ linenotcat /your/awesome/file.txt

という風にすればファイルの中身を投稿できます.

$ echo 'Hello world!' | linenotcat --tee
Hello world!

teeもできます.

$ tail -f /your/awesome/error.log | linenotcat --stream

stream modeなんてのもあり,上記の例の場合はtailが何か出力したらその内容を投稿するようになります (現状だと3秒間内容を溜め込んで投稿するようになっています).

$ linenotcat --message 'Hello world!'

なにかと便利だったのでそのままメッセージ送れるモードなんてのもあります.

$ linenotcat --image /path/to/your/awesome/image.png

LINE Notifyは実は画像をアップロードして送れるという機能もあるので画像も送れるようにしました

$ linenotcat --image /path/to/your/awesome/image.png --message "Yo!"

メッセージも添えられます.

$ linenotcat --config_file /path/to/your/config

config fileつまりAccess Tokenも差し替える事ができます.送り先を差し替えられたり出来ます.

$ linenotcat --status
{"status":200,"message":"ok","targetType":"USER","target":"moznion"}

今のTokenの情報を引いてくることも出来ます.


という感じです.まあこんなん無くてもshell scriptで大概解決するんですがバイナリポン置きで動くと楽だなという感じでこさえた次第です.
動くバイナリはGitHub Releasesにあるのでご利用下さい.

github.com

[追記]

homebrewに対応しました.

$ brew tap moznion/homebrew-linenotcat
$ brew install linenotcat

*1:そしてLINEは猫ではない