Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const SteamUser = require('steam-user');
- const TradeOfferManager = require('steam-tradeoffer-manager');
- const SteamTotp = require('steam-totp');
- const SteamCommunity = require('steamcommunity');
- const config = require('./config.json');
- const change = require('./functions.js')
- const csv = require('csv');
- const winston = require('winston');
- const community = new SteamCommunity();
- const client = new SteamUser();
- const manager = new TradeOfferManager({
- steam: client,
- domain: 'example.com',
- language: 'en'
- });
- winston.add(winston.transports.File, {
- filename: 'somefile.log'
- });
- winston.remove(winston.transports.Console);
- const logOnOptions = {
- accountName: config.username,
- password: config.password,
- twoFactorCode: SteamTotp.generateAuthCode(config.sharedSecret)
- };
- //log on
- client.logOn(logOnOptions);
- client.on('loggedOn', function(details) {
- console.log(`Logged into Steam as ${client.steamID.getSteam3RenderedID()}`); //online then play tf2
- client.setPersona(SteamUser.Steam.EPersonaState.Online);
- client.gamesPlayed([440])
- });
- client.on('webSession', function(sessionID, cookies) {
- manager.setCookies(cookies, function(err) {
- if (err) return console.log(err);
- console.log(`Got API key: ${manager.apiKey}`);
- });
- community.setCookies(cookies);
- community.startConfirmationChecker(10000, config.identitySecret);
- });
- function GetChange (price, RefRequired, RecRequired, ScrapRequired, Refined, Reclaimed, Scrap, metal){
- var change = 0;
- var ThereMetalToAdd = 0;
- if (metal > price) { //if they have enough calculate change
- if (Scrap < ScrapRequired) { //by seeing if scrap is under scrap required if it is add a rec to the rec required variable minus 3 from scrap and add the absouloute to the change var
- RecRequired = RecRequired + 3; //then 0 out scrap required
- ScrapRequired = ScrapRequired - 3;
- change = change + Math.abs(ScrapRequired);
- ScrapRequired = 0;
- }
- if (Reclaimed < RecRequired) { //same here as scrap
- RefRequired = RefRequired + 9;
- RecRequired = RecRequired - 9;
- change = change + Math.abs(RecRequired);
- RecRequired = 0;
- }
- totalMetal = RefRequired + RecRequired + ScrapRequired
- return {
- change: change
- totalMetal: totalMetal
- };
- }else{
- return "badtrade";
- }
- }
- function requiredMetal(price2){
- //get required metal
- var RefRequired = 0;
- var RecRequired = 0;
- var ScrapRequired = 0;
- while (price2 >= 9) { //getting req metal here by seeing if price is over a certain vaule if it is then add to a required var and minus that number from price
- RefRequired = RefRequired + 9;
- price2 = price2 - 9;
- }
- while (price2 >= 3) {
- RecRequired = RecRequired + 3;
- price2 = price2 - 3;
- }
- while (price2 >= 1) {
- ScrapRequired++
- price2 = price2 - 1;
- }
- return {
- RefRequired: RefRequired,
- RecRequired: RecRequired,
- ScrapRequired: ScrapRequired
- };
- }
- function canAfford(inv) {
- var metal = 0;
- var Refined = 0;
- var Reclaimed = 0;
- var Scrap = 0;
- for (let i = 0; i < inv.length; i++) { //getting all metal in bp and vaules for diffrent metals
- if (inv[i].market_hash_name.includes('Refined Metal')) { //metal = all scrap,rec and ref combined
- metal = metal + 9;
- Refined = Refined + 9;
- } else {
- if (inv[i].market_hash_name.includes('Reclaimed Metal')) {
- metal = metal + 3;
- Reclaimed = Reclaimed + 3;
- } else {
- if (inv[i].market_hash_name.includes('Scrap Metal')) {
- metal = metal + 1;
- Scrap = scrap+1;
- }
- }
- }
- }
- return {
- Refined: Refined,
- Reclaimed: Reclaimed,
- Scrap: Scrap,
- metal: metal
- };
- }
- client.on('friendRelationship', (steamID, relationship) => { //freind requests
- if (relationship == 2) {
- client.addFriend(steamID);
- client.chatMessage(steamID, config.chat.welcomeMessage);
- }
- });
- client.on('friendMessage', (steamID, message) => { //freind messgaes
- if (message.startsWith("!buy cs")) {
- var csAmount = parseInt(message.split("!buy cs")[1]);
- if (isNaN(csAmount)) { //calculating required keys
- csAmount = 1;
- }
- var offer = manager.createOffer(steamID); //create offer
- client.chatMessage(steamID, "Creating your offer now");
- var refamount = csAmount * config.buyref;
- var price2 = csAmount * config.buyref2;
- var price = csAmount * config.buyref2;
- //calculating required refined metal
- //trade stuff starts here
- manager.getUserInventoryContents(steamID, 440, 2, true, (err, inv) => { //loading there invent
- if (err) {
- console.log(err.message);
- return;
- }
- manager.getInventoryContents(440, 2, true, (err, ourInv) => { //loading there invent
- if (err) {
- console.log(err.message);
- return;
- }
- console.log(Scrap);
- var metal = requiredMetal(price2); //getting the required metal from the price
- var RefRequired = metal.RefRequired;
- var RecRequired = metal.RecRequired;
- var ScrapRequired = metal.ScrapRequired;
- var ActualMetal = canAfford(inv); //getting there metal
- var Refined = ActualMetal.Refined;
- var Reclaimed = ActualMetal.Reclaimed;
- var Scrap = ActualMetal.Scrap;
- var metal = ActualMetal.metal;
- var MetalToAdd = GetChange (price, RefRequired, RecRequired, ScrapRequired, Refined, Reclaimed, Scrap, metal);
- var change = MetalToAdd.change;
- var totalMetal = MetalToAdd.totalMetal;
- console.log(change);
- console.log(totalMetal);
- });
- });
- }
- RefToAdd = [];
- KeysToAdd = [];
- ThereMetalToAdd = [];
- ChangeToAdd = [];
- totalMetal = 0;
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement