{"id":26915103,"url":"https://github.com/itsjfx/node-steam-bot-manager-ng","last_synced_at":"2025-08-31T14:03:52.042Z","repository":{"id":52413989,"uuid":"232262185","full_name":"itsjfx/node-steam-bot-manager-ng","owner":"itsjfx","description":"Easily manage multiple Steam bots","archived":false,"fork":false,"pushed_at":"2021-08-25T11:32:13.000Z","size":215,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-25T05:13:35.265Z","etag":null,"topics":["bot","node","node-steam-bot-manager-ng","npm","steam","steam-bot","steam-bot-manager","steam-bot-manager-ng"],"latest_commit_sha":null,"homepage":"https://jfx.ac","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/itsjfx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-01-07T06:53:52.000Z","updated_at":"2025-06-01T12:25:57.000Z","dependencies_parsed_at":"2022-08-29T18:30:41.231Z","dependency_job_id":null,"html_url":"https://github.com/itsjfx/node-steam-bot-manager-ng","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/itsjfx/node-steam-bot-manager-ng","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsjfx%2Fnode-steam-bot-manager-ng","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsjfx%2Fnode-steam-bot-manager-ng/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsjfx%2Fnode-steam-bot-manager-ng/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsjfx%2Fnode-steam-bot-manager-ng/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itsjfx","download_url":"https://codeload.github.com/itsjfx/node-steam-bot-manager-ng/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itsjfx%2Fnode-steam-bot-manager-ng/sbom","scorecard":{"id":497461,"data":{"date":"2025-08-11","repo":{"name":"github.com/itsjfx/node-steam-bot-manager-ng","commit":"48c324807f2c0a901df6b4963809719f1adf8eab"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Code-Review","score":0,"reason":"Found 0/13 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T20:50:28.722Z","repository_id":52413989,"created_at":"2025-08-19T20:50:28.722Z","updated_at":"2025-08-19T20:50:28.722Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272988919,"owners_count":25026961,"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","status":"online","status_checked_at":"2025-08-31T02:00:09.071Z","response_time":79,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","node","node-steam-bot-manager-ng","npm","steam","steam-bot","steam-bot-manager","steam-bot-manager-ng"],"created_at":"2025-04-01T17:51:24.521Z","updated_at":"2025-08-31T14:03:52.019Z","avatar_url":"https://github.com/itsjfx.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-steam-bot-manager-ng\n[![npm version](https://img.shields.io/npm/v/steam-bot-manager-ng.svg)](https://npmjs.com/package/steam-bot-manager-ng) \n\nSmall and simple module to manage multiple steam bots.\n\n```\nnpm install steam-bot-manager-ng\n```\n\n## This project\n\nMy former forked version `steam-bot-manager-fork` of the original `steam-bot-manager` is no longer going to be maintained, however it will stay up for any old projects. This will be the new place for any new development. It didn't seem right to keep developing inside a fork so therefore `ng` (next generation) was appropriate.\n\nThis module is developed with the goal of simplifying the tasks of managing Steam bots. I have many tools which use Steam bots and having a dedicated manager for them seemed appropriate. The result is this module.\n\nA list of changes from the former version [is available here](https://github.com/itsjfx/node-steam-bot-manager-ng#changes-from-the-fork-steam-bot-manager-fork-some-breaking-changes).\n\n## Things it does nice\n\n- The bot manager will gracefully keep any bots logged in if they are ever logged out\n- Give you a bot object which is a simple interface with a `node-steam-tradeoffer-manager` instance, a `node-steam` instance and a `node-steamcommunity` instance\n- Auto generate 2FA keys for login and any Steam Guard prompts if the login fails. For the case of an email code a prompt will display like `node-steam-user` does\n- Easy confirmation polling configuration\n\nOther than that it doesn't exactly bring any new features to a basic Steam bot setup as it imports (`node-steam-user`, `node-steamcommunity`, `node-steam-tradeoffer-manager`, `node-steam-totp`), the aim is just to make it easier to manage and use these modules.\n\n## Documentation\nCheck [doc.md](https://github.com/itsjfx/node-steam-bot-manager-ng/blob/master/doc.md).\n\n## Logging\n\nTo get any logging events just use something like below\n```\nbotManager.on('log', (type, log) =\u003e {\n\tconsole.log(`${type} - ${log}`);\n});\n```\nYou can still hook onto any of the events from `node-steamcommunity` and `node-steam-user` by accessing them from the bot object. This event emitter is only for debug logging and not aimed as a substitute for any other events.\n\n## What is this inventory api thing\n\nIt's an inventory api for Steam with some advanced features made by me called `node-steam-inventory-api-ng`. The repository [is available here](https://github.com/itsjfx/node-steam-inventory-api-ng). Ignore it if you don't want to use it as its use is entirely optional.\n\n## Confirmation polling\n\nPlease read this to understand confirmation polling: https://github.com/DoctorMcKay/node-steamcommunity/wiki/Steam-Confirmation-Polling\n\n**Note that confirmation polling has been marked as deprecated on `node-steamcommunity` and I expect it to be removed *soon***\n\nIt is recommended to use [`acceptConfirmationForObject`](https://github.com/DoctorMcKay/node-steamcommunity/wiki/SteamCommunity#acceptconfirmationforobjectidentitysecret-objectid-callback) instead as needed.\n\nBy default if nothing is set in the constructor for `defaultConfirmationChecker`, then confirmation polling will not be enabled by default. If `defaultConfirmationChecker` is set, then any bot which does not have a `confirmationChecker` property will use the `defaultConfirmationChecker` value.\n\nThe confirmation checker can be set individually for each bot by setting the `confirmationChecker` property for the bot when adding it. More info is in the [doc.md](https://github.com/itsjfx/node-steam-bot-manager-ng/blob/master/doc.md) file.\n\nThe `confirmationChecker` property should be set in the form:\n```\n{\n\tmode: \"manual\" or \"auto\",\n\tpollInterval: 10000\n}\n```\n\nIf you wish to disable confirmation checking for a bot despite having a default, set the `confirmationChecker` property to `false` or an empty object `{}`.\n\nModes\n\n* `\"manual\"` means that the identity secret is not set for the confirmation checker, and so any new confirmation will fire a newConfirmation event for node-steamcommunity. This will let you do anything you want to the confirmation, meaning you can accept or decline it. If you're declining it's recommended to decline the offer in `node-steam-tradeoffer-manager`, instead of through the mobile authenticator as it is more reliable.\n\n* `\"auto\"` means that the identity secret is set for the `confirmation checker, so any new confirmation will be accepted.\n\nDespite it being a deprecated feature, it is still useful to have on small, low use tools to just auto accept. I personally like to use it on a long `pollInterval` and on `\"manual\"` mode so I can decline any trades at a mobile level that were not supposed to be sent out. `10000` is a recommended minimum amount for `pollInterval`, but at the end of the day the amount is up to you and your use case. If you have a lot of bots then obviously this amount needs to be scaled up.\n\n## Changes from the fork (steam-bot-manager-fork) [SOME BREAKING CHANGES]\n\n- Login retrying patched\n- addBot takes different parameters now, as does the loginInfo options for the bot.\n- Confirmation polling more configurable now\n- Steam guard event changed to have a prompt now if it cannot generate a 2FA code\n- Logging in event emitter instead of just going straight to console.log\n- Code refactor\n- Documentation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsjfx%2Fnode-steam-bot-manager-ng","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitsjfx%2Fnode-steam-bot-manager-ng","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitsjfx%2Fnode-steam-bot-manager-ng/lists"}