LINE Notifyを使ってPythonからLINEにメッセージを送る
夏です、暑いです。
気がついたら来週末はメイカーフェアではありませんか。
チケットを買いに行かないと・・・
自分たちで作った色々なbotとか、解析プログラム等のタスクが終了したときのステータス報告の投稿先として pythonからslackの任意のチャンネルへと投げています。
別にslackでも特に問題はないのですが、LINEでも同じようなことができると知ったので試してみました。
必要なもの
・requests
モジュール
・Line notify
notify-bot.line.me
トークンキーを発行する
Line notifyのマイページからトークンキーを発行します。
Generate access token
から、トークンを作りたいLineグループを選択し
botの名前を入力して、Generate token
をクリック。
すると、トークンキーが発行されるのでメモしておきます。一度発行したトークンキーを再度表示させることはできないようなので
メモをなくしたら再発行するしか方法がないようです。
グループにbotを追加させる
トークンキーを発行したら、botの投稿先のLineグループへと、bot本体(Line notify
)を招待します。
招待の仕方は通常のLINEグループに人を招待する方法と全く同じです。
招待したら、LINE側での設定は完了です。
プログラムを書く
slackへbotから投稿させる場合は、slackweb等といったモジュールをいれる必要がありますが
lineの場合は汎用的なrequestsモジュールだけでOKです。
入ってなかったらpip install requests
とかでいれておきましょう。
Pythonで書いたプログラムはこんな感じ
import requests line_notify_token = 'token' # 発行したトークンキーを入力 line_notify_api = 'https://notify-api.line.me/api/notify' message = 'Test' #送るメッセージ payload = {'message': message} headers = {'Authorization': 'Bearer ' + line_notify_token} line_notify = requests.post(line_notify_api, data=payload, headers=headers)
コードの長さはslackへ投稿するのとさほど変わらないですね。
実行するとLINEへ通知がとんできます。
使い勝手も悪くなさそうなので、プロダクトに応じてslackとLINEを使い分けてみることにします