fishからLINEにメモを書く


コマンドラインからLINEにメモを送りたい!

こんにちは超初心者エンジニアのtomy_tomyです。初投稿なので暖かい目で見守っていただけると幸いです。

僕は良く忘れないようにLINEでメモを取るのですが、ある時に思いました。

「メモするのにLINEを開くのめんどくさい、、、」

という訳でコマンドラインからLINEに文章を投稿するコマンドを作ってみました。

ゴールは、

$function メモ

でLINEのメモ用トークに「メモ」と投稿されることです。

環境
ターミナル: iTerm2 3.1.7
shell: fish shell

LINEのAPIを取得する

まずはLINEのAPIを取得します。
1. LINE notifyのページに飛ぶ
2. トークンの発行を選ぶ

3. 以下のように発行されたトークンをメモ帳などにコピペ

fishで関数を作る

僕の愛用するシェルであるfishを使って関数を作りました。

LINE Engineeringのページを参考にしながら

function line_memo 
    curl -X POST -H 'Authorization: Bearer [access_token]' -F 'message=$1' https://notify-api.line.me/api/notify
end

と書くものの失敗。(今思うと当たり前ですね笑)
引数の設定方法を変更

function line_memo
    curl -X POST -H 'Authorization: Bearer [access_token]' -F 'message='@argv https://notify-api.line.me/api/notify
end

上記のように直すことでちゃんと引数をメッセージとして扱えるようになりました。
ここから

source ~/.config/fish/condig.fish

を実行して

$line_memo  今日の夕飯はハンバーグ

と、打つと

、、、

以上です。
LINEを開く手間の労力の方が小さかった気がしますが、気にしない方向で行きます。

参考

LINE Engineering: https://engineering.linecorp.com/ja/blog/detail/88