From 0e37fb0f8af75e60fd15279b61c6fe142a4d901b Mon Sep 17 00:00:00 2001
From: Piyush Dixit <79581397+PiyushDixit96@users.noreply.github.com>
Date: Sun, 16 May 2021 17:13:07 +0530
Subject: fix slice error
---
index.js | 88 ++++++++++++++++++++++++++++++++++------------------------------
1 file changed, 47 insertions(+), 41 deletions(-)
diff --git a/index.js b/index.js
index 01e0cf1..13042b7 100644
--- a/index.js
+++ b/index.js
@@ -10,7 +10,7 @@ const secret_key = process.env['BINANCE_SECRET_KEY'];
const NODE_ENV = process.env.NODE_ENV || "development";
const port = process.env.PORT || 3000;
const timeZone = process.env.TIME_ZONE_STRING || 'Asia/Kolkata';
-if(NODE_ENV === "development") {
+if (NODE_ENV === "development") {
console.log("NODE_ENV development")
} else {
console.log("NODE_ENV production")
@@ -41,7 +41,7 @@ try {
console.log(`${event} - Monitoring Spot User Order Data for binance.com`);
sendMessage(`Binance Spot Order Monitor Started\nthis message shows that you or heroku(if your are using) restart the bot.`)
})
-} catch(err) {
+} catch (err) {
console.error(`${event} - ${err}`)
sendMessage(err.toString())
}
@@ -55,54 +55,57 @@ function fixFloat(floatNum, Precision = 8) {
function process_data(data) {
let {
e: eventType,
- x: executionType,
- s: symbol,
- p: price,
- q: quantity,
- S: side,
- o: orderType,
- i: orderId,
- X: orderStatus,
- l: lastTradeQuantity,
- z: Cumulative_filled_quantity
} = data;
- let str4 = Trim(symbol,4)//symbol.slice(symbol.length - 4);
- let str3 = Trim(symbol,3)//symbol.slice(symbol.length - 3);
- let sy;
- if(["USDT", "BUSD", "TUSD", "USDC", "BIDR", "IDRT", "BVND"].includes(str4)) {
- sy = str4
- } else if(["BNB", "BTC", "XRP", "TRX", "ETH", "AUD", "BRL", "EUR", "GBP", "RUB", "TRY", "PAX", "DAI", "UAH", "NGN", "VAI"].includes(str3)) {
- sy = str3
- }
- let total = `${fixFloat(Number(price) * Number(quantity))} ${sy}`
- if(orderType !== "LIMIT") {
+ let txt;
+ if (eventType === 'executionReport') {
let {
- L: Lprice
+ x: executionType,
+ s: symbol,
+ p: price,
+ q: quantity,
+ S: side,
+ o: orderType,
+ i: orderId,
+ X: orderStatus,
+ l: lastTradeQuantity,
+ z: Cumulative_filled_quantity
} = data;
- price = Lprice
- }
- let txt;
- if(eventType === 'executionReport') {
- if(executionType === 'NEW') {
- if(orderStatus === 'NEW') {
+ let str4 = Trim(symbol, 4)
+ let str3 = Trim(symbol, 3)
+ let sy;
+ if (["USDT", "BUSD", "TUSD", "USDC", "BIDR", "IDRT", "BVND"].includes(str4)) {
+ sy = str4
+ }
+ if (["BNB", "BTC", "XRP", "TRX", "ETH", "AUD", "BRL", "EUR", "GBP", "RUB", "TRY", "PAX", "DAI", "UAH", "NGN", "VAI"].includes(str3)) {
+ sy = str3
+ }
+ let total = `${fixFloat(Number(price) * Number(quantity))} ${sy}`
+ if (orderType !== "LIMIT") {
+ let {
+ L: Lprice
+ } = data;
+ price = Lprice
+ }
+ if (executionType === 'NEW') {
+ if (orderStatus === 'NEW') {
txt = `💸 💸 💸\nSpot Order CREATED\nSide: ${side}\nSymbol: #${symbol}\nPrice: ${price}\nQuantity: ${fixFloat(quantity)}\nTotal: ${total}\nOrder ID: #ID${orderId}`
- } else if(orderStatus === 'REJECTED') {
+ } else if (orderStatus === 'REJECTED') {
txt = `🚫 🚫 🚫\nSpot Order REJECTED\nSide: ${side}\nSymbol: #${symbol}\nPrice: ${price}\nQuantity: ${fixFloat(quantity)}\nTotal: ${total}\nOrder ID: #ID${orderId}`
}
- } else if(executionType === 'CANCELED') {
- if(orderStatus === 'CANCELED') {
+ } else if (executionType === 'CANCELED') {
+ if (orderStatus === 'CANCELED') {
txt = `🛑 🛑 🛑\nSpot Order CANCELED\nSide: ${side}\nSymbol: #${symbol}\nPrice: ${price}\nQuantity: ${fixFloat(quantity)}\nTotal: ${total}\nOrder ID: #ID${orderId}`
}
- } else if(executionType === 'TRADE') {
- if(orderStatus === 'PARTIALLY_FILLED') {
+ } else if (executionType === 'TRADE') {
+ if (orderStatus === 'PARTIALLY_FILLED') {
txt = `💰 💰 💰 Spot Order PARTIALLY FILLED Side: ${side} Symbol: #${symbol} Price: ${price}
Last Filled: ${fixFloat(lastTradeQuantity)}
Remaining: ${fixFloat(Number(quantity) - Number(Cumulative_filled_quantity))}
Total: ${total} Order ID: #ID${orderId}`
- } else if(orderStatus === 'FILLED') {
+ } else if (orderStatus === 'FILLED') {
txt = `✅ ✅ ✅\nSpot Order FULLY FILLED\nSide: ${side}\nSymbol: #${symbol}\nPrice: ${price}\nFilled: ${fixFloat(Cumulative_filled_quantity)}\nTotal: ${total}\nOrder ID: #ID${orderId}`
}
- } else if(['REPLACED', 'EXPIRED', 'PENDING_CANCEL'].includes(orderStatus)) {
+ } else if (['REPLACED', 'EXPIRED', 'PENDING_CANCEL'].includes(orderStatus)) {
txt = `🔴 🟡 🔵\nSpot Order ${orderStatus}\nSide: ${side}\nSymbol: #${symbol}\nPrice: ${price}\nQuantity: ${fixFloat(quantity)}\nTotal: ${total}\nOrder ID: #ID${orderId}`
} else {
txt = `⚠️ ⚠️ ⚠️\nUndefined\nExecution Type: ${executionType}\nOrder Status ${orderStatus}\nFull Details:\n${data}`
@@ -110,6 +113,7 @@ function process_data(data) {
sendMessage(txt)
}
}
+
//sending telegram message
function sendMessage(text) {
let params = {
@@ -125,11 +129,11 @@ function sendMessage(text) {
forever: true
};
return Request(options).then(resp => {
- if(resp.statusCode !== 200) {
+ if (resp.statusCode !== 200) {
throw new Error(resp.statusCode + ':\n' + resp.body);
}
let updates = JSON.parse(resp.body);
- if(updates.ok) {
+ if (updates.ok) {
console.log("Message send via Telegram")
return updates;
} else {
@@ -143,7 +147,9 @@ function sendMessage(text) {
}
function Trim(input, last_n_chr) {
- if (!input || !input.length) { return; }
- //last_n_chr = +last_n_chr; //parse to int
- return input.slice(last_n_chr);
+ if (!input || !input.length) {
+ return;
+ }
+ let l = input.length - last_n_chr
+ return input.slice(l);
}
--
cgit v1.2.3