Pythonで資産残高に変化があったら音で知らせてもらうようにしました(GMOコイン編)

以前こちらの記事で資産残高に変化があったら音で知らせてもらうプログラムをPythonで組んだのですが、対象の取引所がbitbankでした。今回はGMOコインのAPIで組んでみました。早速ですがソースコードがこちらです。

import requests
import json
import hmac
import hashlib
import time
from datetime import datetime
import winsound
endPoint = 'https://api.coin.z.com/private'
path     = '/v1/account/assets'
API_KEY = '***************'
API_SECRET = '***************'
method    = 'GET'
endPoint  = 'https://api.coin.z.com/private'
path      = '/v1/account/assets'
prev_JPY=0
prev_BTC=0
while 1:
    timestamp = '{0}000'.format(int(time.mktime(datetime.now().timetuple())))
    text = timestamp + method + path
    sign = hmac.new(bytes(API_SECRET.encode('ascii')), bytes(text.encode('ascii')), hashlib.sha256).hexdigest()
    headers = {
        "API-KEY": API_KEY,
        "API-TIMESTAMP": timestamp,
        "API-SIGN": sign
    }
    response = requests.get(endPoint + path, headers=headers)
    json_data = response.json()
    current_JPY = json_data['data'][0]['amount']
    print('JPY=',current_JPY)
    current_BTC = json_data['data'][1]['amount']
    print('BTC=',current_BTC)
    if prev_JPY != current_JPY or prev_BTC != current_BTC:
    	print('asset changed')
    	winsound.Beep(850, 1500)
    prev_JPY = current_JPY
    prev_BTC = current_BTC
    print (json_data)
    time.sleep(10)

取得した情報を JSONデータに格納する前までの処理は正直よくわかっていないのですがGMOコインのAPIドキュメントのサンプルコードをほぼそのまま使いました。取得したJSONデータの処理の部分は以前bitbank版で実装したのとほぼ同じです。bitbank版から微妙に音を低くしてbitbankかGMOか判別できるようにしました。ただ、単純なビープ音だと日本円が入出金されたのか約定してBTCに増減があったのか、さらには一部約定なのかどうかわかりません。なので増減のあった通貨種類と金額を音声合成で読み上げてくれたらさらに便利だなと思いました。こちらに今後挑戦してみようと思います。