Обработчик сообщений Websocket в Python - PullRequest
0 голосов
/ 28 сентября 2018

Я успешно подписался на веб-сокет и получаю данные.Например:

Received '[0, 'hb']'
Received '[1528, 'hb']'
Received '[1528, [6613.2, 21.29175815, 6613.3, 37.02985217, 81.6, 0.0125, 6611.6, 33023.06141807, 6826.41966538, 6491]]'
Received '[1528, 'hb']'
Received '[0, 'hb']'

Теперь я хочу, чтобы отдельные значения в python были переменной памятью.

Например:

ChanID = 1528

Цена = 6613,2

Мне нужен этот модуль в Python: https://pypi.org/project/websocket-client/

Большое спасибо за вашу помощь

Вот код:

import json
import hmac, hashlib
from time import time, sleep
from websocket import create_connection



url = 'wss://api.bitfinex.com/ws/2'

key = ""
secret = ""

ws = create_connection(url)

class Bitfinex():

    def __init__(self, secret, key):

        self.secret = secret
        self.key = key
        self.url = url
        self.nonce = str(int(time.time() * 1000000))
        self.signature = hmac.new(str.encode(self.secret), bytes('AUTH' + self.nonce, 'utf8'),
                                  hashlib.sha384).hexdigest()
        self.payload = {'apiKey': self.key,
                            'event': 'auth',
                            'authPayload': 'AUTH' + self.nonce,
                            'authNonce': self.nonce,
                            'authSig': self.signature}





        ws.send(json.dumps(self.payload))

    def get_chanid(self, symbol):
        get_chanid = {
            'event': "subscribe",
            'channel': "ticker",
            'symbol': "t" + symbol,
        }
        ws.send(json.dumps(get_chanid))


Bitfinex.__init__(Bitfinex, secret, key)
sleep(1)

Bitfinex.get_chanid(Bitfinex, 'BTCUSD')
sleep(1)

1 Ответ

0 голосов
/ 28 сентября 2018

это может помочь

import json
import hmac
import hashlib
import time
from websocket import create_connection

key = ""
secret = ""


class Bitfinex(object):
    def __init__(self, secret, key):
        self.secret = secret
        self.key = key
        self.url = 'wss://api.bitfinex.com/ws/2'
        self.nonce = str(int(time.time() * 1000000))
        self.signature = hmac.new(str.encode(self.secret), bytes('AUTH' + self.nonce, 'utf8'),
                                hashlib.sha384).hexdigest()
        self.payload = {'apiKey': self.key,
                        'event': 'auth',
                        'authPayload': 'AUTH' + self.nonce,
                        'authNonce': self.nonce,
                        'authSig': self.signature}
        self.ws = create_connection(url)

    def get_chanid(self, symbol):
        self.ws.send(json.dumps(self.payload))
        get_chanid = {
            'event': "subscribe",
            'channel': "ticker",
            'symbol': "t" + symbol,
        }
        self.ws.send(json.dumps(get_chanid))
        while True:
            data = self.ws.recv()
            print(data)


bit = Bitfinex(secret, key)
bit.get_chanid('BTCUSD')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...