前回の内容に引き続き、今回も仮想通貨botの開発状況をまとめていきます。
今回はこちらの記事を参考にして「売買の状況をLINEに通知させる」をテーマに学習を進めていきます。
下準備
ここからはLINEのアカウントを持っていることを前提に作業を進めていきます。
まずは、LINE Notifyのサイトへアクセスしてログイン。
続いて、アクセストークンを発行します。
マイページ > トークンを発行する > トークン名、トークルームを設定 > 発行するを選択。
ここで表示されるランダムな文字列がトークンです。
表示されるトークンをコピーして、保存します。
トークンを発行できたら準備完了です。
トークンを忘れてしまっても新たに発行すれば良いので、問題ない。
実行
本家のサイトに示されていたコードにトークンを入力してLINE通知させる関数を完成させました。
import requests
line_token = "トークン" #発行したトークンを入力
def line_notify( text ):
url = "https://notify-api.line.me/api/notify"
data = {"message" : text}
headers = {"Authorization": "Bearer " + line_token}
requests.post(url, data=data, headers=headers)
この関数を利用して、売買botの重要な部分だけLINEに通知が来るようにすればOKです。
具体的には、約定した時のif文に書き加えることで、コマンドが実行された時にLINEに通知が来るように設定できます。
今後、ボットを稼働させる時には組み込んでいきたいです。
また、単純にLINEにメッセージを送るプログラムの書き方を調べてみました。
実行したのは以下のコードです。
import requests
def main():
send_line_notify('てすとてすと')
def send_line_notify(notification_message):
"""
LINEに通知する
"""
line_notify_token = 'トークンを入力'
line_notify_api = 'https://notify-api.line.me/api/notify'
headers = {'Authorization': f'Bearer {line_notify_token}'}
data = {'message': f'message: {notification_message}'}
requests.post(line_notify_api, headers = headers, data = data)
if __name__ == "__main__":
main()
単純にメッセージや画像を送信したいのであれば、上記のコードをベースに書き換えていけばOKです。
目的ごとに、様々なサイトで解説がされています。
【参考】PythonでLINE Notifyへ通知を送る、PythonのプログラムからLINEに通知を送る方法、LINEの公式Docs
まとめ
今回の学習は、下準備も含めてサクッと終わらせることができました。
LINEに通知させる方法として
①ログを取得して送信する
②ファイルを取得して送信する
という2種類の方法があることが分かりました。
自動売買のプログラムにLINE通知用のコードを組み込むことを考えると、①の方法でログを取得すると同時にLINEに通知する方が便利そうです。
botを稼働させつつ、通知プログラムも実装するという流れを作りたいですね。
今回作った関数を簡単なbotに組み込んで稼働状況を確認します。
外部サーバーでbotを稼働させ続けることを前提としているのであれば、稼働状況を定期的に確認するためにも必要な機能だと感じます。
LINEで通知する方法とコードの書き方が分かったので、次回の学習からはbotの開発に戻ります。