├── config.json ├── bots.txt ├── package.json ├── README.md └── index.js /config.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "", 3 | "appid": "730", 4 | "perChunk": 2, 5 | "count": 0, 6 | "betweenChunks": 5000, 7 | "limited": true 8 | } 9 | -------------------------------------------------------------------------------- /bots.txt: -------------------------------------------------------------------------------- 1 | attlesnakel3135foster:YUAROF1DGGY0832: 2 | oosew10hughes162:CBMNKTJ0T50P875: 3 | arborseala3175grimald:WLY8ZWMWW0GM593: 4 | abydollsheepr5wall130:5ZQVGXCSI6JW254: 5 | edkingcrabi723pucci:2LCMO0I8XW01325: 6 | eathadderc4nguyen3947:O6GFTNROUIK2992: -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "steam-reportbot", 3 | "version": "1.0.0", 4 | "description": "Gives reports in the steam profile", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "keywords": [ 10 | "steam", 11 | "reportbot", 12 | "report", 13 | "csgo" 14 | ], 15 | "author": "Dasrg", 16 | "license": "ISC", 17 | "dependencies": { 18 | "async": "^3.2.0", 19 | "colors": "^1.4.0", 20 | "fs": "0.0.1-security", 21 | "path": "^0.12.7", 22 | "readline": "^1.3.0", 23 | "steam-totp": "^2.1.1", 24 | "steamcommunity": "^3.41.7" 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # steam-reportbot 2 | Gives reports in the steam profile with steamID and appID 3 | 4 | [![GitHub followers](https://img.shields.io/github/followers/Dasrg?label=Follow&style=social)](https://github.com/Dasrg) 5 | [![streamlabs](https://img.shields.io/badge/Donate-%241-red)](https://streamlabs.com/das-Dme6dF/tip) 6 | [![nodejs](https://img.shields.io/badge/node.js-v12-brightgreen)](https://nodejs.org/) 7 | 8 | Installing: 9 | 1. Install Node.js LTS version 10 | 2. Download this repo (click `Code -> Download ZIP`) and unpack the archive. 11 | 3. Open command prompt or PowerShell in the bot folder (`Shift + Right Click`, or `cd 'path to the bot'`) 12 | 4. Type `npm i` or `npm install` 13 | 14 | Using: 15 | 1. Add to the `bots.txt` textfile accounts login data (`login:password:shared_secret` in the each line). If you want to use limited accounts (without $5 spent) use this formatting: `login:password:`. 16 | 2. In the `config.json` set steam id of needed player. You can get this in this site: https://steamdb.info/calculator/. Just put the link of needed steam profile. 17 | 3. Enter the `appid` parameter. For CSGO its 730. 18 | 4. Set the `perChunk` and `betweenChunks` parameters (stock values suitable for you). 19 | 5. If you want to use limited steam acconts enter this: `"limited": true`. If you want to use unlimited (with $5) type this: `"limited": false`. 20 | 6. Run the bot - type in the command prompt or PowerShell: `node index.js` or just `node index` 21 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const steamCommunity = require('steamcommunity'); 2 | const steamTotp = require('steam-totp'); 3 | const colors = require('colors'); 4 | const path = require("path"); 5 | var async = require('async'); 6 | var fs = require("fs"); 7 | let config = null; 8 | 9 | var community = new steamCommunity(); 10 | var text = fs.readFileSync("./bots.txt").toString('utf-8'); 11 | var bot = text.split("\n") 12 | config = require(path.resolve("config.json")); 13 | let configRaw = fs.readFileSync("./config.json").toString(); 14 | const id = config.id; 15 | const perChunk = config.perChunk; 16 | const betweenChunks = config.betweenChunks; 17 | const limited = config.limited; 18 | console.log('%s is steamID'.gray, id); 19 | 20 | var allSuccess = 0; 21 | var allFailed = 0; 22 | 23 | 24 | (async() => { 25 | // Getting chunks: 26 | let subbot = []; 27 | if (config.count != 0) bot.length = config.count; 28 | for (let i = 0; i { 57 | 58 | console.log('[%s] Successfully logged on (Session ID: %s)'.yellow, logOnOptions.accountName, sessionID); 59 | var options = { 60 | formData: { sessionid: sessionID, json: 1, abuseID: config.id, eAbuseType: 10, abuseDescription: 'Cheating in the recent matches.', ingameAppID: config.appid }, 61 | headers: { Cookie: cookies, Host: 'steamcommunity.com', Origin: 'https://steamcommunity.com' }, 62 | json: true 63 | }; 64 | 65 | community.httpRequestPost( 66 | 'https://steamcommunity.com/actions/ReportAbuse/', options, 67 | function (err, res, data) { 68 | if (err) { 69 | console.log('err', err); failed++; allFailed++; 70 | } 71 | if (!err) { 72 | if (data == 1) { console.log('[%s] Successfully reported with response code %s'.green, logOnOptions.accountName, data); success++; allSuccess++;} 73 | else if (data == 25) { console.log('[%s] Already reported. Response code %s'.red, logOnOptions.accountName, data); failed++; allFailed++; } 74 | else { console.log('[%s] something went wrong. Response code %s'.red, logOnOptions.accountName, data); failed++; allFailed++;} 75 | callback(); 76 | } 77 | }, 78 | "steamcommunity" 79 | ); 80 | 81 | 82 | })(); 83 | } 84 | }); 85 | }; 86 | if (limited) { 87 | const logOnOptions = { 88 | accountName: item.split(":")[0], 89 | password: item.split(":")[1] 90 | }; 91 | 92 | community.login({ 93 | "accountName": logOnOptions.accountName, 94 | "password": logOnOptions.password 95 | }, 96 | function (err, sessionID, cookies, steamguard, oAuthToken) { 97 | if (err) { console.log('[%s] Unable to auth (Error: %s)'.red, logOnOptions.accountName, err); failed++; allFailed++; callback(); } 98 | if (!err) { 99 | (async() => { 100 | 101 | console.log('[%s] Successfully logged on (Session ID: %s)'.yellow, logOnOptions.accountName, sessionID); 102 | var options = { 103 | formData: { sessionid: sessionID, json: 1, abuseID: config.id, eAbuseType: 10, abuseDescription: 'Cheating in the recent matches.', ingameAppID: config.appid }, 104 | headers: { Cookie: cookies, Host: 'steamcommunity.com', Origin: 'https://steamcommunity.com' }, 105 | json: true 106 | }; 107 | 108 | community.httpRequestPost( 109 | 'https://steamcommunity.com/actions/ReportAbuse/', options, 110 | function (err, res, data) { 111 | if (err) { 112 | console.log('err', err); failed++; allFailed++; 113 | } 114 | if (!err) { 115 | if (data == 1) { console.log('[%s] Successfully reported with response code %s'.green, logOnOptions.accountName, data); success++; allSuccess++;} 116 | else if (data == 25) { console.log('[%s] Already reported. Response code %s'.red, logOnOptions.accountName, data); failed++; allFailed++; } 117 | else { console.log('[%s] something went wrong. Response code %s'.red, logOnOptions.accountName, data); failed++; allFailed++;} 118 | callback(); 119 | } 120 | }, 121 | "steamcommunity" 122 | ); 123 | 124 | 125 | })(); 126 | } 127 | }); 128 | }; 129 | }, function(err) { 130 | console.log('Chunk %s finished: Successfully reported %s times and %s failed requests'.white, ii + 1, success, failed); 131 | if (ii < subbot.length - 1) console.log('Waiting %s ms for the next chunk'.cyan, betweenChunks); 132 | }); 133 | if (ii < subbot.length) await new Promise(r => setTimeout(r, betweenChunks)); 134 | }; 135 | console.log('Successfully reported %s times and %s failed requests.'.black.bgWhite, allSuccess, allFailed) 136 | 137 | 138 | })(); --------------------------------------------------------------------------------