【断念】ビットコインの価格をPythonを使ってLINEで通知したい

Python

ビットコインをかなり少額ですが始めてみました。

楽天ユーザーなのですが、とりあえず楽天ポイントを交換して運用できる楽天ウォレットで試しています。

ずっと相場を見ることは出来ないので、定期的に通知できるものがPythonでできたらいいなと思っていたのですが、僕の実力ではダメでした。

定期通知させるとなると毎日稼働しているサーバを利用しないと、プログラムが動かないんですよね。Google app scriptを応用すれば出きるっぽいのですが、言語がjsなので全く分かりませんでした…。

とりあえず、LINEと連携して価格を知らせるところまで残します。

目次

  • APIについて
  • 実行環境
  • サンプルコード

APIについて

一番有名なのが、bitFlyerさんのAPIかと思われます。しかし楽天系APIで先に探してしまったたので、楽天ラピッドAPIで割と頭の方にあったCoinGeckoさんで作りました。

実行環境

今回は以下の環境で行いました。

  • Python3
  • Windows10

サンプルコード

実行したサンプルコードです。LINE notifyと連携している為、後半はそれ関連のコードが書かれています。LINE notifyの設定についてはこちらの記事が参考になりました。

LINE NotifyをPythonでお試し

https://qiita.com/yoshi_san/items/7879b3117d298a143101

coingeckoでid,vs_currenciesを選ぶ箇所がありますが、今回はid=bitcoin(ビットコイン)、vs_currencies=jpy(日本円)でとっています。カンマ区切りにすれば、イーサリアムはビットコインキャッシュなど他の通貨も一度に取り出すことができます。

# coding:utf-8
import requests

url = "https://coingecko.p.rapidapi.com/simple/price"

querystring = {"ids":"bitcoin","vs_currencies":"jpy"}

headers = {
    'x-rapidapi-host': "coingecko.p.rapidapi.com",
    'x-rapidapi-key': "xxxxx"
    }

response = requests.request("GET", url, headers=headers, params=querystring)


token = "xxxxx"
url = "https://notify-api.line.me/api/notify"
headers = {"Authorization": "Bearer " + token}
payload = {"message": response}

requests.post(url, headers=headers, data=payload)

print(response.text)
      

なんか余計な文字が結構あるけど、とりあえずまぁいいか…

まとめ

IFTTTというWeb連携ツールを使えば定期通知ができそうな感じがしたので、方法を調べられたら更新しようと思います。

コメント

Copied title and URL