ストV ランクマの日次データを自動でLINE通知させる

前書き

先週末の日曜日、久しぶりに同期で集まって飲んでるとき、
「お前はリモートワークを良いことにTwitterとDiscord見すぎ」と指摘され、
自分でもSNS中毒気味だなぁと思うところがあったので、ここ数日は意識してそういったものを見る時間を減らしていた。

そしたら昨日の昼頃オトンから急にLINEが来てて、

こわE

確認したら最後にツイートしたの3日前だったんだけど、
それでこのLINEは流石に気持ち悪かった。(良い意味で!ね!)

俺がメンヘラなのは間違いなくこいつの血だなぁと思いつつ、
とはいえマメに連絡するのもめんどいし、
簡単に生存報告できる方法無いか考えてたら良いのを見つけた。

参考資料

たけのこキッズのTntさんがこんなん書いてくれてたので、
まずはLPを取得するシステムを実装。

LINE Notifyの導入方法。
友達になって、グループに招待して、アクセストークン発行したら↓のファイルのaccess_tokenに記述する。
perlで持ってきたデータをpythonで通知させるシェルをbashで書いてるという。コピペ芸人だからしょうがないね。

実行シェル

#現在の結果を変数に格納
LP="`sed -n 1p /sfv-result.txt`"
LP=`echo $LP |  sed -e 's/[^0-9]//g'`
WIN="`sed -n 2p /sfv-result.txt`"
WIN=`echo $WIN |  sed -e 's/[^0-9]//g'`
LOSE="`sed -n 3p /sfv-result.txt`"
LOSE=`echo $LOSE |  sed -e 's/[^0-9]//g'`
TOTAL=$((WIN+LOSE))

#昨日の結果を変数に格納
OLD_LP="`sed -n 1p /sfv-result-old.txt`"
OLD_LP=`echo $OLD_LP |  sed -e 's/[^0-9]//g'`
OLD_WIN="`sed -n 2p /sfv-result-old.txt`"
OLD_WIN=`echo $OLD_WIN |  sed -e 's/[^0-9]//g'`
OLD_LOSE="`sed -n 3p /sfv-result-old.txt`"
OLD_LOSE=`echo $OLD_LOSE |  sed -e 's/[^0-9]//g'`
OLD_TOTAL=$((OLD_WIN+OLD_LOSE))

GAMES=$((TOTAL-OLD_TOTAL))
WINS=$((WIN-OLD_WIN))
LP_SHIFT=$((LP-OLD_LP))
RATES=`expr 100 \* $WINS \/ $GAMES`

MESSAGE="昨日の試合数は$GAMES、勝率は$RATES%、LPの推移は$LP_SHIFTでした。現在のLPは$LPです。"

LINE_PY="
# -*- coding: utf-8 -*-
import requests

url = \"https://notify-api.line.me/api/notify\"
access_token = 'アクセストークン'
headers = {'Authorization': 'Bearer ' + access_token}

message = '$MESSAGE'
payload = {'message': message}
r = requests.post(url, headers=headers, params=payload,)
"

echo "$LINE_PY" > /line_notify.py

python /line_notify.py


#バッチ実行後時点での結果をoldとして残す
\cp /sfv-result.txt /sfv-result-old.txt

実行結果

テスト
起きたらちゃんと動いてた

こんな感じで毎朝8時になると自動でLINEグループに通知が飛んでくる。
ツイートしない日は今後もあるだろうけど、ランクマは義務なので2日経ってもLPが変わってなかったら警察と葬儀屋を呼んでください。

まとめ

LINEの通知botの導入は意外と簡単でわりと便利そう。
今回は自分の結果だけ出してるけど、LPレースとかやってるときは全員の結果を飛ばしてあげたらみんなのモチベに繋がる気がする。


この記事が気に入ったらサポートをしてみませんか?