Jump to content
McKay Development

Zorenko

Member
  • Posts

    13
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Zorenko reacted to Dr. McKay in TradeOfferState   
    If it's a trade you sent but haven't confirmed yet, that's CreatedNeedsConfirmation. The other party can't see it.
    If it's a trade you received that you accepted but haven't confirmed yet, it's still Active. The confirmationMethod property is how you can tell if an incoming trade has an outstanding confirmation.
  2. Like
    Zorenko reacted to Dr. McKay in Trading and Escrow -- Mobile Trade Confirmations   
    As of December 2015, all users who are losing items in a trade must have the Steam Guard Mobile Authenticator enabled, or else the trade will be held for three fifteen days. It's also no longer possible to opt-out of trade confirmations.
     
    This means that effectively, all trading bots need a mobile authenticator and need to accept mobile trade confirmations. You don't need an actual physical phone to act as your mobile authenticator, however. Through the efforts of myself and others, you can emulate a mobile authenticator right from node.js, and also accept trade confirmations.
     
    Enabling a Mobile Authenticator
     
    The Steam Guard Mobile Authenticator provides two-factor authentication security (hereinafter "2FA") for your account, which is more secure than standard email-based Steam Guard. This is done using a "shared secret" which is known to both the Steam servers and to your authenticator. Both sides run this secret through an algorithm along with the current time, which produces a 5-character alphanumeric code. This code is only valid for 30 seconds, and can only be used once. Attempts to reuse a 2FA code (either through the Steam Client or by logging in on steamcommunity.com) will treat the code as incorrect and reject it. For this reason, you can't login more frequently than once in a 30-second period.
     
    Enabling 2FA is a three-step process.
    Link and verify a phone number with your Steam account. You can do this manually from your account page, or programmatically using node-steamstore. Call enableTwoFactor using either node-steam-user or node-steamcommunity. If successful, this will return an object containing a bunch of properties. You should save this entire object. You can call JSON.stringify on it safely to turn it into a string. You'll need the revocation_code in the future if you ever want to disable 2FA. At this stage, 2FA isn't enabled yet. Steam will send you an SMS containing a code which you'll need in step 3. Call finalizeTwoFactor using either node-steam-user or node-steamcommunity. You will need the value of the shared_secret property from the object returned in step 2, and the numeric activation code from your SMS. If successful, your Steam account now has 2FA. Logging in With a Mobile Authenticator
     
    If you have 2FA enabled, then for every login you will need to provide a twoFactorCode (unless you're logging in with node-steam-user using a loginKey). You can generate this code using node-steam-totp and your shared_secret which you obtained (and should have saved) when you enabled 2FA.
     
    Mobile-Confirming Trades
     
    You are now required to confirm all trades in which you lose items. If you don't have 2FA enabled, then these confirmations will go to your email and the trades will be held for fifteen days. If you do have 2FA enabled, then the confirmations must be accepted through Steam's mobile confirmation interface. You can also accept mobile confirmations through node.js.
     
    node-steam-tradeoffer-manager doesn't have anything built-in to accept mobile confirmations. This is because mobile confirmations encompass more than just trades -- market listings also require confirmation, and potentially other things in the future.
     
    node-steamcommunity can accept your confirmations for you. In order to accept mobile confirmations, you will need the identity_secret (not the shared_secret used for login) from when you enabled 2FA. The best way to do this is to call acceptConfirmationForObject right after each trade offer you send/accept or market listing you create.
  3. Like
    Zorenko reacted to Zorenko in How to change account Avatar?   
    steam.login(logOnOptions, function(err, sessionID, cookies, steamguard) { if (err) { console.log("[Bot] There was an error logging in! Error details: " + err.message); process.exit(1); //terminates program } else { console.log("[Bot] Successfully logged in as " + logOnOptions.accountName); steam.chatLogon(); community.uploadAvatar('https://trinixy.ru/pics5/20180508/uncommon_01.jpg'); manager.setCookies(cookies, function(err) { if (err) { console.log(err); process.exit(1); } }); } steam.startConfirmationChecker(20000, identitySecret); //Auto-confirmation enabled! }); Error:
    C:\Users\a\Desktop\d>node Donation-Bot.js [Bot] Successfully logged in as john200214 C:\Users\a\node_modules\steamcommunity\components\profile.js:254 callback(new Error("Not Logged In")); ^ TypeError: callback is not a function at SteamCommunity.uploadAvatar (C:\Users\a\node_modules\steamcommunity\components\profile.js:254:3) at C:\Users\a\Desktop\d\Donation-Bot.js:29:13 at SteamCommunity.<anonymous> (C:\Users\a\node_modules\steamcommunity\index.js:202:5) at Request._callback (C:\Users\a\node_modules\steamcommunity\components\http.js:67:15) at Request.self.callback (C:\Users\a\node_modules\request\request.js:185:22) at Request.emit (events.js:189:13) at Request.<anonymous> (C:\Users\a\node_modules\request\request.js:1161:10) at Request.emit (events.js:189:13) at Gunzip.<anonymous> (C:\Users\a\node_modules\request\request.js:1083:12) at Object.onceWrapper (events.js:277:13) C:\Users\a\Desktop\d>pause
  4. Like
    Zorenko reacted to Dr. McKay in How to change account Avatar?   
    You probably want to use steam.uploadAvatar and not community.uploadAvatar. Also, attach a callback. Also also, don't use the auto-confirmation checker.
  5. Like
    Zorenko reacted to Dr. McKay in Why uploadAvatar doesn't work   
    Probably because you're using profileSettings and not uploadAvatar.
×
×
  • Create New...