Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Source code for craft hat bot
- 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 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: 'events.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 Get_Craft_Hats(offer, price) {
- var Vaule = 0;
- offer.forEach(function(item) {
- if (item.tags) {
- item.tags.forEach(function(tag) {
- if (tag.name && tag.name == "Cosmetic") {
- Vaule += Math.round(price * 9);
- }
- });
- }
- });
- return Vaule;
- }
- function Get_Metal(offer) {
- var Vaule = 0;
- for (i = 0; i < offer.length; i++) {
- if (offer[i].market_hash_name.includes('Refined Metal')) {
- Vaule+=9;
- } else {
- if (offer[i].market_hash_name.includes('Reclaimed Metal')) {
- Vaule+=3;
- } else {
- if (offer[i].market_hash_name.includes('Scrap Metal')) {
- Vaule++;
- }
- }
- }
- }
- return Vaule;
- }
- function acceptOffer(offer) {
- offer.accept((err) => {
- if (err) console.log(`Unable to accept offer: ${err.message}`);
- community.checkConfirmations();
- });
- }
- function declineOffer(offer) {
- offer.decline((err) => {
- if (err) return console.log(`Unable to decline offer: ${err.message}`);
- });
- }
- manager.on('newOffer', function(offer) {
- var OurCraftHatsVaule = Get_Craft_Hats(offer.itemsToGive, config.CraftHatSellPrice);
- var OurMetal = Get_Metal(offer.itemsToGive);
- var VauleToGive = OurCraftHatsVaule + OurMetal;
- var ThereCraftHatsVaule = Get_Craft_Hats(offer.itemsToReceive,config.CraftHatBuyPrice);
- var ThereMetal = Get_Metal(offer.itemsToReceive);
- var VauleToReceive = ThereCraftHatsVaule + ThereMetal;
- var profit = VauleToReceive - VauleToGive;
- if(VauleToReceive >= VauleToGive) {
- acceptOffer(offer);
- winston.info("accepted offer we made " + profit + " scrap !")
- }else{
- declineOffer(offer);
- winston.info("declined offer we would have lost " + Math.abs(profit) + " scrap (╯︵╰,)")
- }
- });
- config for craft hat bot
- {
- "username": "",
- "password": "",
- "sharedSecret": "",
- "identitySecret": "",
- "CraftHatSellPrice": 1.22,
- "CraftHatBuyPrice": 1
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement