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 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'
- });
- var RefToAdd = [];
- var refamount;
- var tfKeysToAdd = [];
- var csKeysToAdd = [];
- var KeysToAdd = [];
- var tfKeysToAdd = [];
- var TfKeysToAdd = [];
- var metal = 0;
- var Scrap = 0;
- var Refined = 0;
- var Reclaimed = 0;
- var RefRequired = 0;
- var RecRequired = 0;
- var ScrapRequired = 0;
- var change = 0;
- var ThereMetalToAdd = [];
- var totalMetal;
- var ChangeToAdd = [];
- 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);
- });
- 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;
- }
- 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 = 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++;
- }
- }
- }
- }
- while (price2 >= 9) { //getting req metal here
- RefRequired = RefRequired + 9;
- price2 = price2 - 9;
- }
- while (price2 >= 3) {
- RecRequired = RecRequired + 3;
- price2 = price2 - 3;
- }
- while (price2 >= 1) {
- ScrapRequired++
- price2 = price2 - 1;
- }
- if (metal > price) { //if they have enough calculate change
- if (Scrap < ScrapRequired) {
- RecRequired = RecRequired + 3;
- ScrapRequired = ScrapRequired - 3;
- change = change + Math.abs(ScrapRequired);
- ScrapRequired = 0;
- }
- if (Reclaimed < RecRequired) {
- RefRequired = RefRequired + 9;
- RecRequired = RecRequired - 9;
- change = change + Math.abs(RecRequired);
- RecRequired = 0;
- }
- totalMetal = RefRequired + RecRequired + ScrapRequired //total metal needed
- for (let i = 0; i < inv.length; i++) { //loop to get there metal.
- if (inv[i].market_hash_name.includes('Refined Metal') && totalMetal >= 9) {
- ThereMetalToAdd.push(inv[i].assetid);
- totalMetal = totalMetal - 9;
- } else {
- if (inv[i].market_hash_name.includes('Reclaimed Metal') && totalMetal >= 3) {
- ThereMetalToAdd.push(inv[i].assetid);
- totalMetal = totalMetal - 3;
- } else {
- if (inv[i].market_hash_name.includes('Scrap Metal') && totalMetal >= 1) {
- ThereMetalToAdd.push(inv[i].assetid);
- totalMetal = totalMetal - 1;
- }
- }
- }
- }
- for (let i = 0; i < ourInv.length; i++) { //loop to get required change.
- if (ourInv[i].market_hash_name.includes('Refined Metal') && change >= 9) {
- ChangeToAdd.push(ourInv[i].assetid);
- change = change - 9;
- console.log(change);
- } else {
- if (ourInv[i].market_hash_name.includes('Reclaimed Metal') && change >= 3) {
- ChangeToAdd.push(ourInv[i].assetid);
- change = change - 3;
- console.log(change);
- } else {
- if (ourInv[i].market_hash_name.includes('Scrap Metal') && change >= 1) {
- ChangeToAdd.push(ourInv[i].assetid);
- change = change - 1;
- console.log(change);
- }
- }
- }
- }
- console.log(change);
- if (totalMetal == 0) {
- for (let i = 0; i < ThereMetalToAdd.length; i++) { //add assest ids
- offer.addTheirItem({
- assetid: ThereMetalToAdd[i],
- appid: 440,
- contextid: 2
- });
- }
- }else{
- console.log("nope");
- }
- if (change == 0) {
- for (let i = 0; i < ChangeToAdd.length; i++) { //add assest ids
- offer.addMyItem({
- assetid: ChangeToAdd[i],
- appid: 440,
- contextid: 2
- });
- }
- }
- offer.send((err, status) => { //send offer.
- if (err) {
- console.log(err);
- }
- });
- } else {
- client.chatMessage(steamID, "sorry you do not have enough metal to buy this many keys. Maybe try and buy less?");
- console.log("user " + steamID + " did not have enoguh metal");
- return;
- }
- });
- });
- }
- RefToAdd = [];
- KeysToAdd = [];
- ThereMetalToAdd = [];
- ChangeToAdd = [];
- totalMetal = 0;
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement