Bot

仮想通貨botの開発を本格的に始めてみる#19(2023/9/23)

前回の内容に引き続き、今回も仮想通貨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の開発に戻ります。

-Bot