min117の日記

初期desireもち。趣味Mac,メインFedora,仕事xp。

LINE Notify で自分のLINEにPCから画像を飛ばすシェルスクリプト(bash)

ハピタス登録で1,000円分になるURL

その買うを、もっとハッピーに。|ハピタス

LINE Notifyで画像を送りたい

サーバ(raspberrypiほか)から定期的にLINE NotifyのAPIを叩いて自分のLINEにテキストメッセージを送っている。例えばテレビの録画の完了メッセージとか、サーバの今日の空き容量通知とか。超便利。

 

テキストだけじゃなくて画像も送りたいと前から思ってた。APIにはとっくに機能実装されてるらしい。

engineering.linecorp.com

 

まずはメッセージ飛ばすテスト

$ vim doLINEnotify4.sh

#!/bin/bash

myTOKEN='dumyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'

myMESS='テストですよ'

curl -X POST https://notify-api.line.me/api/notify -H 'Authorization: Bearer '"$myTOKEN" -F 'message='"$myMESS" -F 'stickerPackageId=1' -F 'stickerId=113'

 

画像も飛ばす

#!/bin/bash

myTOKEN='dumyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'

myMESS='テストですよ'

myJPG='dummy.jpg'

# curl -X POST https://notify-api.line.me/api/notify \
#    # -H 'Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN' \
#    #-F 'message=test' \
#    #-F 'imageFile=@/PATH/TO/IMAGE/cony.jpg'
#
#    -H 'Authorization: Bearer '"$myTOKEN" \
#    -F 'message='"$myMESS" \
#    -F 'imageFile=@'"$myJPG"

 curl -X POST https://notify-api.line.me/api/notify -H 'Authorization: Bearer '"$myTOKEN" -F 'message='"$myMESS" -F 'imageFile=@'"$myJPG"

 

引数にLINEメッセージと画像を取る

$ vim doLINEnotify6.sh

 

#!/bin/bash

shopt -s expand_aliases
source ~/.bashrc

# 異常時にちゃんと止まるスクリプト
# http://fj.hatenablog.jp/entry/2017/05/20/192431
set -eu -o pipefail
trap 'echo "ERROR: line no = $LINENO, exit status = $? > &2; exit 1' ERR

mydate=`date +"%Y%m%d_%H%M%S"`
mypath=`pwd`
echo $mydate
# http://d.hatena.ne.jp/nattou_curry_2/20091103/1257262803
# Bashを使うなら理解しておきたいアルゴリズム - 抽出・ソート・結合・集計
# 関数
# function multi() { echo "数値を入力"; read ans; for i in $(seq 1 10); do echo "$i"; echo $*1; done; }

if [ $# -lt 2 ]
then
    echo '引数足りない'
    echo "$0"' LINE送る文字 画像.jpg'
    echo "$0"' this-is-test dummy.jpg'

    exit
fi
echo '---------------------'
#path="$1"
path="$0"
echo "path: $path"

basename=${path##*/}
echo "basename: $basename"

filename=${basename%.*}
echo "filename: $filename"

extension=${basename##*.}
echo "extension: $extension"
echo '---------------------'
myLOG="$filename"'.log'
echo 'ログ:'"$myLOG"
echo '---------------------'

myTOKEN='dumyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'

#myMESS='テストですよ'
myMESS="$1"

#myJPG='dummy.jpg'
myJPG="$2"

# curl -X POST https://notify-api.line.me/api/notify \
#    # -H 'Authorization: Bearer YOUR_PERSONAL_ACCESS_TOKEN' \
#    #-F 'message=test' \
#    #-F 'imageFile=@/PATH/TO/IMAGE/cony.jpg'
#    -H 'Authorization: Bearer '"$myTOKEN" \
#    -F 'message='"$myMESS" \
#    -F 'imageFile=@'"$myJPG"

#curl -X POST https://notify-api.line.me/api/notify -H 'Authorization: Bearer '"$myTOKEN" -F 'message='"$myMESS" -F 'imageFile=@'"$myJPG"
curl -X POST https://notify-api.line.me/api/notify -H 'Authorization: Bearer '"$myTOKEN" -F 'message='"$myMESS" -F 'imageFile=@'"$myJPG"

echo "$mydate" | tee -a "$myLOG"
echo "$myMESS" | tee -a "$myLOG"
echo "$myJPG"  | tee -a "$myLOG"
echo '----------------'>> "$myLOG"

 

 

その買うを、もっとハッピーに。|ハピタス

*1:ans*i