Check Binance for new ticker listings and tweet when they add a new one
Here is a NodeJS script to track tickers available on Binance and tweet an alert whenever a new ticker is added.
To use this script you’ll need a Twitter API key. You can get an API key from apps.twitter.com.
The full project is available on github
const Binance = require('node-binance-api'); const Twitter = require('twitter'); const fs = require('fs'); const client = new Twitter({ consumer_key:, consumer_secret: , access_token_key: , access_token_secret: }); const TICKERS_FILE = 'tickers.json'; // If this is the first time running this script, create a tickers.json file. if( !fs.existsSync(TICKERS_FILE) ){ fs.openSync(TICKERS_FILE, 'w'); fs.writeFileSync(TICKERS_FILE, '[]'); } const binance = new Binance(); binance.prices((error, tickers) => { let live_tickers = Object.keys(tickers) .filter(ticker => ticker.endsWith('BTC')) // filter for the BTC pairs (e.g. ETHBTC, LTCBTC) .map(ticker => ticker.substring(0,ticker.length-3)); // extract the ticker (ETHBTC becomes ETH) // Read the existing tickers out of our json file let existing_tickers = JSON.parse( fs.readFileSync(TICKERS_FILE) ); let new_tickers = live_tickers.filter(ticker => { return existing_tickers.indexOf(ticker) < 0; }); // Write the current list of tickers to our JSON file fs.writeFileSync( TICKERS_FILE, JSON.stringify(live_tickers) ); if( new_tickers.length > 0 ){ // string the new tickers together and add a '$' before each one let twitterized_tickers = new_tickers.reduce((a,c)=> `${a} $${c}`, ''); let tweet = `${new_tickers.length} new coin(s) have just been added to #BINANCE! ${twitterized_tickers}`; client.post('statuses/update', {status: tweet}, function(error, tweet, response) { if (!error) { console.log('success'); } else{ console.log('there was an error with the tweet: ' + error[0].message); } }); console.log(tweet); } else { console.log(' no new tickers') } });