如何为数据库中的每个用户创建Websocket连接?

时间:2019-04-06 12:58:12

标签: node.js websocket binance

我想创建一个用于币安交换的Bot 该机器人会将我的币安账户上的每笔交易复制到其他账户 例如,如果我以4000美元的价格为我的帐户购买比特币,它将为连接到我的机器人中我的帐户的其他帐户购买比特币,因此您可以将您的帐户连接到专业交易者帐户,而他所做的一切都将在您的帐户中完成太 连接到币安websocket我使用node-binance-api npm包 我的问题是我想为数据库中的每个用户创建此程序包的实例,以便我可以为每个用户建立一个websocket连接,以便可以监视每个用户的活动 所以 我如何为每个用户建立一个websocket连接 这是我的代码,它不起作用

User.find().then((users)=>{
  let binance = []
  for(let i =0;i<users.length;i++){
    this["binance"+i] = require('node-binance-api')().options({
      APIKEY,
      APISECRET,
      useServerTime: true,
      // reconnect: false // If you get timestamp errors, synchronize to server time at startup
    }).websockets.userData(balance_update, execution_update);


    function balance_update(data) {
      console.log("Balance Update user:",users[i]);
    }
    async function execution_update(data) {
      let {
          x: executionType,
          s: symbol,
          p: price,
          q: quantity,
          S: side,
          o: orderType,
          i: orderId,
          X: orderStatus
      } = data;
      if (executionType == "NEW") {
          if (executionType == "REJECTED") {
              return console.log("Order Failed! Reason: " + data.r);
          }
    user2Secret).then((binance)=>{
              try {
                  for(let j = 0;j<users[i].subAccount.length;j++){
                    console.log('we are in j');

                    let binancesub = new require('ccxt').binance({
                      apiKey: users[i].subAccount[j].bak,
                      secret: users[i].subAccount[j].bsk,
                    })
                    binancesub.createOrder(symbo,orderType,side,quantity,price)
                  }
              } catch (error) {
                  return console.log('error in binance:',error);
              }
          return;
      }
      if (executionType === "CANCELED") {
          return console.log('order should be canceled');
      }
    }

  }

})

0 个答案:

没有答案