Jump to content
McKay Development

Search the Community

Showing results for tags 'question'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News & Announcements
    • Releases & Updates
  • Help & Support
    • General
    • Guides
    • node-steam-user
    • node-steamcommunity
    • node-steam-tradeoffer-manager
    • node-steam-session

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



Website URL




  1. Hi there. Can I get live or history of premier matches in CS2 with node-globaloffensive library?
  2. Reviewing the files, I noticed that the CDN.js file can be used to download chunks and manifest records for apps. However it appears to only be able to download by first getting the steamcache servers via the steam api. A while back Steam supported Lancache, a project aimed to store a local copy of CDN files for quicker download, used for places with slow bandwidth or even LAN parties or eSports events. Could this also use Lancache, if detected on a local network? A Lancache server wouldn't have a limitation of only having certain files, like some steamcache CDN servers, because it would pull and grab from any CDN server that has the files and save them locally.
  3. Hi, I'm getting response on "requestGame" method and "game_map", "server_id" and others fields are null: "watchablematchinfo": { "server_ip": 183, "tv_port": 1288376300, "tv_spectators": 0, "tv_time": null, "tv_watch_password": null, "cl_decryptdata_key": null, "cl_decryptdata_key_pub": "4475969846556343181", "game_type": null, "game_mapgroup": null, "game_map": null, "server_id": null, "match_id": null, "reservation_id": null } My code: var SteamUser = require("steam-user"); GlobalOffensive = require('globaloffensive'), util = require("util"), fs = require("fs"), readlineSync = require("readline-sync"), crypto = require("crypto"), SteamID = require('steamid'); var steamUser = new SteamUser(), csgo = new GlobalOffensive(steamUser); var onSteamLogOn = function onSteamLogOn(response) { util.log("Logged on."); util.log("Current SteamID64: " + steamUser.steamID); steamUser.gamesPlayed([730], true); csgo.on('connectedToGC', () => { console.log('connectedToGC!'); csgo.on('matchList', (matches, data) => { console.log(matches, data); }); csgo.requestGame('CSGO-fx2K6-RULk2-jGJZd-GVcZe-5DVjM'); }); csgo.on('error', (err) => console.log(err)); } var logOnDetails = { "accountName": username, "password": password, }; steamUser.on('loggedOn', function(details) { console.log(details); onSteamLogOn(details); }).on('error', function(err) { console.log(err); }); steamUser.logOn({ accountName: username, password: password }); Full response in attachments Maybe you know why it happens. Thanks response.txt
  4. I use machinesAuth to avoid requesting the access code from the application again after the first login when, for example, the bot is restarted. But here's what I noticed, if the account is confirmed via mail - then after login a file with machine is created, but if the account is confirmed via application - then after login only cellid-***.txt is created and when logging in again it asks for the code from the application. I have looked everywhere, but did not find the answer to my question. I also noticed that the machineAuthToken event is triggered only when a code is requested from mail I use node-steam-user 5.0.4 const Account = new SteamUser({ dataDirectory: "./data", machineIdType: SteamUser.EMachineIDType.AccountNameGenerated, autoRelogin: true }); Account.logOn({ accountName: 'login', password: 'password' })
  5. Hey, im working on a project called katocraft, a site that tracks kato 14 holo crafts that are listed/sold. Recently due to problems on buff163 (one of the markets im scraping) screenshots have not been generating properly. Does anybody know how to generate a skin screenshot without an inspect link ?
  6. The code below uses the information provided by the chatRoomGroupMemberStateChange event to send a message through a chat group channel welcoming a user to the group. async function groupListener() { await client.chat.setSessionActiveGroups(["XXXXXXXX"]); console.log("Group set as active."); client.chat.on("chatRoomGroupMemberStateChange", async (details) => { if (details.change === 1) { const personas = await client.getPersonas([details.member.steamid]); const accountid = details.member.steamid.accountid; const steamID64 = details.member.steamid.getSteamID64(); const playerName = personas.personas[steamID64].player_name; await new Promise((resolve) => setTimeout(resolve, 2000)); await groupComment(0, accountid, playerName, "Welcome to the group!"); } }); } ✔️ If the bot is online and a user joins, the message is sent. If the user then leaves the chat and rejoins it, the message is sent too. ❌ However, if a joined user exits the chat while the bot is offline and then rejoins while the bot is online, there is an error: Error: Request timed out at Promises.timeoutPromise (USERPATH\steambot\node_modules\@doctormckay\stdlib\components\promises.js:12:12) at Promises.timeoutCallbackPromise (USERPATH\steambot\node_modules\@doctormckay\stdlib\components\promises.js:87:25) at SteamUser.getPersonas (USERPATH\steambot\node_modules\steam-user\components\friends.js:323:26) at SteamChatRoomClient.<anonymous> (USERPATH\steambot\Trashbot\trashBot.js:555:41) at SteamChatRoomClient.emit (node:events:512:28) at SteamUser.<anonymous> (USERPATH\steambot\node_modules\steam-user\components\chatroom.js:1186:12) at USERPATH\steambot\node_modules\steam-user\components\classes\HandlerManager.js:35:12 at Array.forEach (<anonymous>) at HandlerManager.emit (USERPATH\steambot\node_modules\steam-user\components\classes\HandlerManager.js:34:12) at SteamUser._handleMessage (USERPATH\steambot\node_modules\steam-user\components\03-messages.js:641:25) at SteamUser._handleNetMessage (USERPATH\steambot\node_modules\steam-user\components\03-messages.js:562:8) at SteamUser._processMulti (USERPATH\steambot\node_modules\steam-user\components\03-messages.js:693:9) Further leaving and rejoining throw no errors. Why is this the case and how can I fix this anomalous behaviour?
  7. Hi. Is there any way to connect to GC with an anonymous account? I tried to set the client.gamesPlayed to 730, but it doesn't seems to work. It doesn't enter the 'csgo.on' method. My current code: app.get('/api/retrieveFloat', (req, res) => { const client = new SteamUser() const csgo = new GlobalOffensive(client) client.logOn() client.on('loggedOn', (details) => { console.log('Logged on: ' + client.steamID) client.setPersona(SteamUser.EPersonaState.Online) client.gamesPlayed(730, true) csgo.on('connectedToGC', () => { if (csgo.haveGCSession) { console.log('Connected') } else { console.log('Not connected') } }) }) })
  8. Apparently a second incident has taken place in relation to gladiator.tf bots in which a hacker has managed to access their pricing database and steal US$ 80k. This is shocking news and I would like to know if this may have been a vulnerability in a module by Dr. McKay, how it may have happened and how to prevent this from taking place in my bot.
  9. Hello. Thank you for reading my post. I have been scratching my head for a while, trying to figure out a method to find the Steam ID of someone who invites a user to a group. client.on("groupRelationship", (sid, relationship) => { if (relationship === 2) { client.respondToGroupInvite(sid, false); console.log("Group invite declined."); } }); } Currently, the only way I have managed to do it is by manually searching through the friends list to identify the friend who is in the group, as only friends can send group invites. However, this approach is certainly far from ideal. I would greatly appreciate any suggestions or ideas. Thank you kindly and have a nice day.
  10. Upon accepting a trade offer, my bot's inventory is sorted by class (presumably: tf2.sortBackpack(0)). However, as you can see in the picture, it is only partially sorted, possibly because I am not "acknowledging" the new items and they do not behave normally. I can find no other explanation - I have tried everything. Please, help me.
  11. When I want to put an item for sale from my Steam inventory, I need to confirm it. The listing to be validated while putting it on sale does not give an id-style value. I can get all the approvals, but the asset_id is not visible in the approval detail. Many items of the same type may be pending sales approval, but I only want to approve the correct one. How can I do that? Is there a method to pull market listings?
  12. Hi, not 100% sure if this is the right place to post about this but I don't really know where else to look for help, so sorry in advance. I want to generate HD screenshots of CS:GO items as they would appear in game, but I have no clue where to start and can not figure out how others have managed to pull it off. An example of what I'm taking about can be seen in the attached jpg. My best guess it they are running a program that screenshots the item in game, however I'm still unsure as the item will not appear at the correct angle when inspecting in the menu. Any help would be greatly appricated, and once again sorry in advance if this is not the correct place to ask these types of questions.
  13. Looking into the documentation I notice getExchangeDetails won't return data unless the ETradeStatus is Complete, InEscrow, or EscrowRollback, which is a different state from ETradeOfferState, which is fine. Is it possible to get ETradeStatus without querying getExchangeDetails as I didn't see the method nor variable on the TradeOffer object. I'm sure I was just misunderstanding how to use this or fetch the state, but was hoping I could check before querying steam as I want to prevent as much requests as possible. Thanks, Christian
  14. Hello, I use for this api to fetch steam inventories: The result has: Is there any parameter to load next pages ?
  15. Good evening. I noticed that user data is cached. For example: community.getSteamUser(steamID), (err, user) => { console.log(user.groups); }); Will output the same data until I restarted the bot. Is there a way to disable this cache ?
  16. Simple


    So I just finished reading the post on how to identify steam items and from what I understand, as long as the contextid doesn't change when one user trades an item to another user, the classid should ALWAYS remain the same? If so, is the classid all that is needed to identify the item in that case?
  17. Is there any function to get recentlyPlayedGames with achievements of an user? I'm working on a achievements-completions-feed for my community but the Steam API isn't enough due to rate limits, is there any alternative with steam-user? any function that returns lastTimePlayed of an app or even the achievements of several apps at once? that would be amazing! I attached the current completions feed I have set up. Any help would be greatly appreciated!
  18. How do I get the direct detection of the bot when I change the content of the /message file. I do not want to close and open the bot and enter the guard code.
  19. Hello, Is it possible to upvote a game review using node-steam-user ? If so, where could i find a library about it to make an auto interact for that action.
  20. Not sure if it is possible, but I would like to get game's follower count using node-steam-user. What I have tried, is creating a similar method to getPlayerCount, but replacing the message. So, what I came up with looks like this: SteamUser.prototype.getFollowerCount = function(appid, callback) { return StdLib.Promises.timeoutCallbackPromise(10000, [], callback, (resolve, reject) => { this._send(SteamUser.EMsg.ClientFSGetFollowerCount, [730], (body) => { console.log(body); resolve('done'); }); }); }; But with this approach, calling the new method gets me a Type Error: TypeError [ERR_INVALID_ARG_TYPE]: The "list[1]" argument must be one of type Array, Buffer, or Uint8Array. Received type object at Function.concat (buffer.js:479:13) at SteamUser._send (/home/harry/steam-tools/node_modules/steam-user/components/messages.js:456:31) at StdLib.Promises.timeoutCallbackPromise (/home/harry/steam-tools/src/steam-client.js:8:8) at Promise (/home/harry/steam-tools/node_modules/@doctormckay/stdlib/components/promises.js:22:25) at new Promise (<anonymous>) at Object.Promises.timeoutPromise (/home/harry/steam-tools/node_modules/@doctormckay/stdlib/components/promises.js:10:9) at Object.Promises.timeoutCallbackPromise (/home/harry/steam-tools/node_modules/@doctormckay/stdlib/components/promises.js:83:25) at SteamUser.getHarryTest (/home/harry/steam-tools/src/steam-client.js:7:25) at SteamUser.<anonymous> (/home/harry/steam-tools/src/steam-client.js:44:12) at SteamUser.emit (events.js:198:13) So, this raises me a few questions: 1. Am I even able to create new methods in this way (sending a different message with appropriate body) or are there some limitations that I am not aware of? 2. If the approach is fine, then how can I figure out the correct message body that I need to send? Is it documented somewhere or is there some method of figuring it out? (I am assuming that my issue is coming from invalid message body). 3. Of course, I would be very thankful for the help of resolving the actual issue here or some directions to solving it
  21. What is the Best way to call steam api for steam items i have been using $id = "76561198147982809"; $query = "http://steamcommunity.com/profiles/".$id."/inventory/json/440/2/";; $json = file_get_contents($query); $data = json_decode($json, true); to get my bots inventory of course has 0 tradable items and get the failed error alot failed to open stream: HTTP request failed! HTTP/1.0 429 Too Many Requests is calling the http://steamcommunity.com/profiles/[steamid]/inventory/json/440/2/ the best way i am creating a website like scrap.tf for my steam bots to buy and sell items if there is a better way Please let me know i know some about the steam API but not the most about it and not sure which would be best if i use that and also if i upload my site onto my host will it do the errors alot or just when client calls the json i used?
  22. is it possible to comment on users profiles?
  23. Today authorization via steam-user stopped working for me. I do not know why. I changed my authorization to the community module. All my bots have different proxies. But, if I start authorizing several bots at once, then steam throws out a message about a large number of login attempts. What could be the reason for this? What can linked different instances? I am passing to tradeofferManager instance steam-user and steamcommunity. But I log in with steamcommunity.
  24. Hi! I am using steam-user v4.18.0 and using getProductInfo method. For some games there exists release_date, steam_release_date and for some games I can't find any indication about when this game was released. Do you have some advice for me how to reliably get game's release date? Maybe I should use some other method? For example these IDs don't have release date 203160, 221380, 236850, 365590, 220240. But for example CS: GO (id 730) has steam_release_date. Let me know if there is some additional info that I can provide. Thanks!
  25. //Logging ON client.logOn(logOnOptions); client.on('loggedOn', function (details) { if (details.eresult == SteamUser.EResult.OK) { client.getPersonas([client.steamID], function (personas) { console.log("== Logged in =============") console.log('== Name: ' + personas[client.steamID]["player_name"]); console.log('== ID64: ' + client.steamID); console.log("=========================="); console.log(""); }); client.setPersona(5); //"5": "LookingToTrade" -- https://github.com/DoctorMcKay/node-steam-user/blob/master/enums/EPersonaState.js client.gamesPlayed('Accepting Junk and Making Friends'); } else { console.log(details); //Do whatever u want to handle the error... } }); client.on('webSession', (sessionid, cookies) => { manager.setCookies(cookies); community.setCookies(cookies); }); As soon as the bot starts everythings works fine. After some minutes, every time an offer is received by the bot, I get the "Not Logged In" error. I set up a cron (after reading a similar thread on this forum), like this: //Session refresh every 15 minutes cron.schedule('*/15 * * * *', () => { if (client.steamID) { client.webLogOn(); } else { client.logOn(logOnOptions); console.log('Logged in again using cron'); } }); but the "not logged in" error still remains. I also read this topic where Admin says this but at this point I don't understand which session needs to be refreshed and how. Also calling "sessionExpired" isn't helping because whenever an incoming trade offer gives me the error, bot doesn't try anymore to accept it, even after session is refreshed, so I have to restart it. manager.on('newOffer', offer => { if (offer.partner.getSteamID64() === 'my_stemid_64') { offer.accept((err, status) => { if (err) { console.log(err); } else { console.log(`Accepted offer from owner. Status: ${status}.`); } }); } else { if (offer.itemsToGive.length === 0) { offer.accept((err, status) => { if (err) { console.log(err); } else { console.log(`Donation accepted. Status: ${status}.`); } }); } else { offer.decline(err => { if (err) { console.log(err); } else { console.log('Donation declined (wanted our items).'); } }); } } }); Any help would be appreciated.
  • Create New...