def __init__(self, oauth_token, channel, nick, logger=None, post_login=None): self.commands = {} self.oauth_token = oauth_token self.channel = channel self.nick = nick self.logger = logger self.post_login = post_login if self.logger is None: self.logger = logging.getLogger(__name__) ws = WebSocketApp('wss://irc-ws.chat.twitch.tv:443') def on_open(sock): self.on_open(sock) ws.on_open = on_open def on_message(sock, msg): self.process_message(sock, msg) ws.on_message = on_message self.ws = ws
d = Path().resolve().parent with open(str(d) + '/credentials.txt', 'r') as file: credentials = file.read().replace('\n', '') mongo_client = MongoClient(credentials) # e.g. 'mongodb://localhost:27017' db = mongo_client['cryptocurrency'] hitbtc_coll = db['hitbtc'] def on_message(mes): #print(mes) message = json.loads(mes) result = {'_id': message['params']['data'][0]['id'], 'p': message['params']['data'][0]['price'], 'q': message['params']['data'][0]['quantity'], 'side': message['params']['data'][0]['side'], 't': message['params']['data'][0]['timestamp'], 's': message['params']['symbol'], 'date': datetime.datetime.utcnow().strftime('%Y-%m-%d')} print(datetime.datetime.now()) print(result) res = hitbtc_coll.insert_one(result) ws = WebSocketApp('wss://api.hitbtc.com/api/2/ws') ws.on_open = lambda self: self.send(json.dumps({ "method": "subscribeTrades", #"product_ids": ["BTC-USD", "ETH-USD", "LTC-USD"], "params": { "symbol": "XLMUSD" } })) ws.on_message = lambda self, evt: on_message(evt) ws.run_forever(ping_interval=10, ping_timeout=5)
from __future__ import print_function from websocket import WebSocketApp from kafka import KafkaProducer import time import pytz from utility import _current_time_stamp, _utc_timestamp import json producer = KafkaProducer(bootstrap_servers='localhost:9092') def _on_message(self, evt): producer.send('test', key=b'tBTCUSD', value=evt.encode('utf-8')) print(evt) ws = WebSocketApp('wss://api-pub.bitfinex.com/ws/2') ws.on_open = lambda self: self.send( '{"event": "subscribe", "channel": "book", "symbol": "tBTCUSD", "prec": "P0", "freq": "F0", "len": 25}' ) ws.on_message = _on_message ws.run_forever()