Esempio n. 1
0
    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
Esempio n. 2
0
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)
Esempio n. 3
0
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()