{"id":16098544,"url":"https://github.com/vladpuz/steam-robot","last_synced_at":"2025-06-20T06:38:40.780Z","repository":{"id":63899306,"uuid":"571634651","full_name":"vladpuz/steam-robot","owner":"vladpuz","description":"Steam bots creating based on middlewares","archived":false,"fork":false,"pushed_at":"2023-06-18T12:36:20.000Z","size":892,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T15:21:26.650Z","etag":null,"topics":["bot","middlewares","steam"],"latest_commit_sha":null,"homepage":"https://www.npmjs.com/package/steam-robot","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vladpuz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2022-11-28T14:56:44.000Z","updated_at":"2025-02-03T10:27:09.000Z","dependencies_parsed_at":"2024-01-21T14:26:56.595Z","dependency_job_id":"10282741-b2b7-4a84-b308-8be1c176e57f","html_url":"https://github.com/vladpuz/steam-robot","commit_stats":null,"previous_names":["vpuzzyrev/steam-robot","vladislav-puzyrev/steam-robot","vladpuz/steam-robot"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/vladpuz/steam-robot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladpuz%2Fsteam-robot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladpuz%2Fsteam-robot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladpuz%2Fsteam-robot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladpuz%2Fsteam-robot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vladpuz","download_url":"https://codeload.github.com/vladpuz/steam-robot/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vladpuz%2Fsteam-robot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260897909,"owners_count":23079226,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","middlewares","steam"],"created_at":"2024-10-09T18:23:55.030Z","updated_at":"2025-06-20T06:38:35.758Z","avatar_url":"https://github.com/vladpuz.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# steam-robot\n\nSteam bots creating based on middlewares, that are called indefinitely for a given delay. Internally he uses\nmodules from the [See also](#see-also) section.\n\nTypeDoc documentation is available on [wiki](https://github.com/vladislav-puzyrev/steam-robot/wiki).\n\n## Install\n\n```bash\nnpm install steam-robot\n```\n\n## Usage\n\n### Middlewares style\n\n```javascript\nimport SteamRobot from 'steam-robot'\n\n// Account object for creating a bot\nconst account = {\n  // Required properties\n  username: 'username',\n  password: 'password',\n  sharedSecret: 'sharedSecret',\n  // Optional properties\n  identitySecret: 'identitySecret',\n  options: {\n    key: 'You can specify additional options'\n  },\n  headers: {\n    key: 'You can specify additional headers'\n  },\n  proxy: null // Format protocol://username:password@host:port\n}\n\nconst bot = new SteamRobot(account)\n\nbot.use(async (steam, account, next) =\u003e {\n  console.log('First middleware')\n\n  // The steam object contains:\n  // - totp (steam-totp)\n  // - client (steam-user)\n  // - community (steamcommunity)\n  // - manager (steam-tradeoffer-manager)\n  // - market (steam-market)\n\n  // The account object is a copy of the bot creation object\n  // You can specify your own account.options and get them inside middleware\n\n  // Call to move to the next middlware\n  await next()\n})\n\nbot.use(async (steam, account, next) =\u003e {\n  console.log('Second middleware')\n  await next()\n})\n\n// Run at 60 seconds interval (default)\nawait bot.start(60 * 1000)\n\n// Stop middlewares and exit Steam\nbot.stop()\n```\n\n### Manual style\n\n```javascript\nimport SteamRobot from 'steam-robot'\n\n// Account object for creating a bot\nconst account = {\n  // Required properties\n  username: 'username',\n  password: 'password',\n  sharedSecret: 'sharedSecret',\n  // Optional properties\n  identitySecret: 'identitySecret',\n  options: {\n    key: 'You can specify additional options'\n  },\n  headers: {\n    key: 'You can specify additional headers'\n  },\n  proxy: null // Format protocol://username:password@host:port\n}\n\nconst bot = new SteamRobot(account)\n\n// You can work with the Steam object directly without using use()\nconst steam = await bot.start()\n\n// The steam object contains:\n// - totp (steam-totp)\n// - client (steam-user)\n// - community (steamcommunity)\n// - manager (steam-tradeoffer-manager)\n// - market (steam-market)\n\n// An example of using the steam object\nconst search = await steam.market.search(730)\nconsole.log('search', search.success)\n\n// Exit Steam\nbot.stop()\n```\n\n## See also\n\n| Module                                                                                   | Description                                                             | Author            |\n|------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|-------------------|\n| [steam-totp](https://github.com/DoctorMcKay/node-steam-totp)                             | Lightweight module to generate Steam-style TOTP auth codes              | DoctorMcKay       |\n| [steam-user](https://github.com/DoctorMcKay/node-steam-user)                             | Allows interaction with the Steam network via the Steam client protocol | DoctorMcKay       |\n| [steamcommunity](https://github.com/DoctorMcKay/node-steamcommunity)                     | Interact with various interfaces on Steam Community from Node.js        | DoctorMcKay       |\n| [steam-tradeoffer-manager](https://github.com/DoctorMcKay/node-steam-tradeoffer-manager) | Simple and sane Steam trade offer management                            | DoctorMcKay       |\n| [steam-market](https://github.com/vladislav-puzyrev/steam-market)                        | Steam market API client                                                 | Vladislav Puzyrev |\n| [steam-robot](https://github.com/vladislav-puzyrev/steam-robot) (YOU HERE)               | Steam bots creating based on middlewares                                | Vladislav Puzyrev |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvladpuz%2Fsteam-robot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvladpuz%2Fsteam-robot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvladpuz%2Fsteam-robot/lists"}