Skip to content

Instantly share code, notes, and snippets.

@eggman
Created December 7, 2017 02:14
Show Gist options
  • Save eggman/bd0c164b894fc69aa7e7bd22d49b9937 to your computer and use it in GitHub Desktop.
Save eggman/bd0c164b894fc69aa7e7bd22d49b9937 to your computer and use it in GitHub Desktop.
import websocket
import time
import sys
from datetime import datetime, timedelta, timezone
import sched, time
import json
JST = timezone(timedelta(hours=+9), 'JST')
class BitfinexWebSocketReader():
endpoint = "wss://api.bitfinex.com/ws/2"
def __init__(self):
#websocket.enableTrace(True)
self.ws = websocket.WebSocketApp(
BitfinexWebSocketReader.endpoint,
on_message = self.on_message,
on_error = self.on_error,
on_close = self.on_close
)
self.ws.on_open = self.on_open
try:
self.run()
except KeyboardInterrupt:
self.ws.close()
def run(self):
self.ws.run_forever()
print("### run ###")
pass
def on_message(self, ws, message):
now = datetime.now(JST)
print(str(now), message)
def on_error(self, ws, error):
print(error)
sys.exit()
def on_close(self, ws):
print("### closed ###")
def on_open(self, ws):
print("### open ###")
ws.send(json.dumps({"event": "subscribe", "channel": "Trades", "symbol": "tBTCUSD"}))
if __name__=="__main__":
BitfinexWebSocketReader()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment