Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var fs = require('fs');
- var crypto = require('crypto');
- var market = require('steam-market-pricing');
- var Steam = require('steam');
- var SteamWebLogOn = require('steam-weblogon');
- var getSteamAPIKey = require('steam-web-api-key');
- var mysql = require("mysql");
- var SteamTradeOffers = require('steam-tradeoffers'); // change to 'steam-tradeoffers' if not running from the examples subdirectory
- var firstfinish = "0";
- var secondfinish = "0";
- var admin = ''; // put your steamid here so the bot can accept your offers
- jamesBug = function(txt) {
- var d1 = new Date();
- var logtxt = "["+d1.toUTCString()+"] "+txt;
- console.log(logtxt);
- }
- var logOnOptions = {
- account_name: 'xdxd9991',
- password: 'notmypassgayfags'
- };
- var authCode = 'K7JX6'; // code received by email
- try {
- logOnOptions.sha_sentryfile = getSHA1(fs.readFileSync('sentry'));
- } catch (e) {
- console.log(e);
- if (authCode !== '') {
- logOnOptions.auth_code = authCode;
- }
- }
- // if we've saved a server list, use it
- if (fs.existsSync('servers')) {
- Steam.servers = JSON.parse(fs.readFileSync('servers'));
- }
- var steamClient = new Steam.SteamClient();
- var steamUser = new Steam.SteamUser(steamClient);
- var steamFriends = new Steam.SteamFriends(steamClient);
- var steamWebLogOn = new SteamWebLogOn(steamClient, steamUser);
- var offers = new SteamTradeOffers();
- steamClient.connect();
- steamClient.on('connected', function() {
- steamUser.logOn(logOnOptions);
- });
- function mysql_real_escape_string (str) {
- return str.replace(/[\0\x08\x09\x1a\n\r"'\\\%]/g, function (char) {
- switch (char) {
- case "\0":
- return "\\0";
- case "\x08":
- return "\\b";
- case "\x09":
- return "\\t";
- case "\x1a":
- return "\\z";
- case "\n":
- return "\\n";
- case "\r":
- return "\\r";
- case "\"":
- case "'":
- case "\\":
- case "%":
- return "\\"+char; // prepends a backslash to backslash, percent,
- // and double/single quotes
- }
- });
- }
- function is_array(check_var) {
- return(Object.prototype.toString.call( check_var ) ===
- '[object Array]');
- }
- function handleOffers() {
- offers.getOffers({
- get_received_offers: 1,
- active_only: 1,
- time_historical_cutoff: Math.round(Date.now() / 1000)}, function(error, body) {
- if (body && body.response && body.response.trade_offers_received) {
- body.response.trade_offers_received.forEach(function(offer) {
- // Check if they are a robber
- if (offer.trade_offer_state != 2 || offer.items_to_give) {
- jamesBug('They tried to rob the bot, declining.');
- offers.declineOffer({tradeOfferId: offer.tradeofferid});
- return;
- }
- if (offer.trade_offer_state == 2) {
- jamesBug('We\'re recieving ('+offer.items_to_receive.length+') items.');
- jamesBug('Partner\'s Steam64 ID: '+offer.steamid_other);
- jamesBug('Trade ID: '+offer.tradeofferid);
- // jamesBug(offer.items_to_receive[0].market_name);
- //if (offer.items_to_receive.isArray) {
- // jamesBug(is_array(offer.items_to_receive));
- //jamesBug(offer.items_to_receive.toString());
- //jamesBug(offer.items_to_receive[0].assetid);
- offers.loadPartnerInventory({partnerSteamId: offer.steamid_other,appId: 730,contextId: 2},
- function(err, items) {
- var item_asset_ids = [];
- for (var i = 0; i < offer.items_to_receive.length; i++) {
- var identification = offer.items_to_receive[i].classid+"_"+offer.items_to_receive[i].instanceid;
- jamesBug("Identity code for item number ("+i+"): " + identification);
- item_asset_ids.push(identification);
- //jamesBug("i is equal to: "+i);
- if (i == offer.items_to_receive.length - 1) {
- firstfinish = "1";
- }
- //jamesBug(offer.items_to_receive.length);
- } // for each item_to_receive
- var fetch = require('node-fetch');
- fetch('http://steamcommunity.com/profiles/' + offer.steamid_other + '/inventory/json/730/2/?l=english')
- .then(function(res) {
- return res.text();
- }).then(function(body2) {
- //jamesBug(body2);
- // fs.writeFile('json.json', body2, function (err) {
- // if (err) throw err;
- // console.log('It\'s saved! in same location.');
- // });
- bodyjson = JSON.parse(body2);
- //jamesBug(item_asset_ids.length);
- var items_value = 0.00;
- for (var j = 0; j < item_asset_ids.length; j++) {
- //jamesBug(j);
- var connection = mysql.createConnection({
- host : "localhost",
- user : "root",
- password : "skateordielikeanigger",
- database : "csflip"
- });
- connection.connect(function(error){
- if(error)
- {
- jamesBug("Problem with MySQL "+error);
- }
- else
- {
- jamesBug("Connected with Database.");
- }
- });
- jamesBug(item_asset_ids[j]);
- var item_name = bodyjson.rgDescriptions[item_asset_ids[j]].market_hash_name;
- market.getItemPrice(730, item_name, function(err, data) {
- if(!err) {
- var item_median_price = data['median_price'];
- item_median_price = item_median_price.substring(1); jamesBug("Item number ("+j+") is an ("+data['market_hash_name']+"), it's worth ("+item_median_price+")");
- item_median_price = parseFloat(item_median_price);
- items_value += item_median_price;
- jamesBug('Total item price is now: ('+items_value+')');
- var query = "UPDATE users_steam SET coins = coins + "+item_median_price+" WHERE steam_id = '"+offer.steamid_other+"'";
- connection.query(query,function(err,rows){
- if(err)
- {
- jamesBug("Problem with MySQL: "+err);
- }
- else
- {
- jamesBug("Incremented user's coins for item: "+data['market_hash_name']);
- }
- var query = "INSERT INTO items (market_hash_name, depositor) VALUES ('"+data['market_hash_name']+"', '"+offer.steamid_other+"')";
- connection.query(query,function(err,rows){ if(err)
- {
- jamesBug("Problem with MySQL: "+err);
- }
- else
- {
- jamesBug("Added ("+data['market_hash_name']+") to items table.");
- }
- });
- });
- }
- });
- //jamesBug(bodyjson.rgCurrency.rgDescriptions.[item_asset_ids[j]].market_hash_name);
- if (j == item_asset_ids.length - 1) {
- secondfinish = "1";
- }
- }
- jamesBug('Finished analysing trade offer.');
- offers.acceptOffer({tradeOfferId: offer.tradeofferid});
- jamesBug('Accepted trade offer');
- });
- //jamesBug("Total deposit amount was: "+items_value);
- }
- ); // loadPartnerInventory
- } // if trade offer state == 2
- }); // for each trade)offers_received
- } // if trade offers received
- }); // getOffers
- } // handle offers
- steamClient.on('logOnResponse', function(logonResp) {
- if (logonResp.eresult === Steam.EResult.OK) {
- jamesBug('Login succssesful.');
- steamFriends.setPersonaState(Steam.EPersonaState.Online);
- jamesBug('Changed PersonaState to online.');
- steamFriends.setPersonaName('CSFlip.net | BOT #1');
- jamesBug('Changed nickname.');
- steamWebLogOn.webLogOn(function(sessionID, newCookie) {
- getSteamAPIKey({
- sessionID: sessionID,
- webCookie: newCookie
- }, function(err, APIKey) {
- offers.setup({
- sessionID: sessionID,
- webCookie: newCookie,
- APIKey: APIKey
- });
- handleOffers();
- });
- });
- }
- });
- steamClient.on('error', (err) => console.log(err))
- steamClient.on('servers', function(servers) {
- fs.writeFile('servers', JSON.stringify(servers));
- });
- steamUser.on('updateMachineAuth', function(sentry, callback) {
- fs.writeFileSync('sentry', sentry.bytes);
- callback({ sha_file: getSHA1(sentry.bytes) });
- });
- steamUser.on('tradeOffers', function(number) {
- if (number > 0) {
- jamesBug('Trade recieved.');
- handleOffers();
- }
- });
- steamFriends.on('message', function(source, message, type, chatter) {
- // respond to both chat room and private messages
- jamesBug('Received message: ' + message);
- steamFriends.sendMessage(source, 'Please don\'t message the Bot, he has feelings and he\'s trying to work...', Steam.EChatEntryType.ChatMsg);
- //steamFriends.sendMessage(source, 'fuk off nigger fag, ur msg was shit lol: '+message, Steam.EChatEntryType.ChatMsg);
- jamesBug('Replied to the message.');
- });
- function getSHA1(bytes) {
- var shasum = crypto.createHash('sha1');
- shasum.end(bytes);
- return shasum.read();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement