@sulphate/steamtrade
v1.1.1
Published
A simple wrapper around McKay's steam-tradeoffer-manager package, for automatic trade handling. Centered around multi-account trading.
Downloads
4
Readme
A wrapper around instances of Dr. McKay's steam-tradeoffer-manager and steamcommunity packages. Designed around multi-account trading.
Installation
npm install @sulphate/steamtrade
About
This package provides single-line trade handling for Steam, using Dr. McKay's
steam-tradeoffer-manager
package. It automatically loads accounts inventories
and trade URLs, and can return the trade URL of the smallest inventory if you
need it.
Usage
Note: You must use @sulphate/steamlogin
to generate the list of accounts,
or you can provide them in the constructor (see below) as an object of the
following structure:
{
accountName: {
community: (logged-in instance of steamcommunity),
manager: (logged-in instance of steam-tradeoffer-manager, cookies set),
identitySecret: (your identity secret, used to confirm trade offers)
}
}
- Import the package:
// ES6
import { TradeManager } from "@sulphate/steamtrade";
// ES5
const { TradeManager } = require("@sulphate/steamtrade");
- Initialise a new instance of the trade manager:
let manager = new TradeManager(accounts, tradeHandlerFunction, log);
// Log is an instance of coloured-logger (optional, will use console).
// Init the manager.
// async/await
await manager.init();
// Promise
manager.init().then(() => {
// Do something
});
The tradeHandlerFunction
must be a function that takes one parameter, offer.
You can then use methods to see information about the trade offer, and then accept, decline, counter etc. based on what you want to do.
Available Methods
offer.accept()
- Accepts an offer, returning a Promise. Automatically confirms
the offer, if needed.
offer.send()
- Sends an offer, returning a Promise. Automaticallly confirms the
offer, if needed. Note: creation of trades has not been implemented yet.
offer.decline()
- Declines an offer, returning a Promise.
offer.getItemsToReceive()
- Returns the items you will receive when accepting an
offer.
offer.getItemsToGive()
- Returns the items you will lose when accepting an offer.
offer.getPartner()
- Returns the SteamID64 of the partner you are trading with.
offer.getMyID()
- Returns the SteamID64 of the account that is trading.
offer.getMyName()
- Returns the accountName of the account that is trading.
manager.init(appid, contextid)
- Initialises the trade manager, loading
inventories for the given appid and contextid. Returns a Promise.
manager.getInventory(accountName)
- Returns the inventory of the accountName.
manager.getSmallestInventoryTradeLink()
- Returns the trade link of the account
with the least items in its inventory.