Jump to content
McKay Development

AshIgorash

Member
  • Posts

    24
  • Joined

  • Last visited

AshIgorash's Achievements

  1. Yes, but my callback has only error. /** * Get the contents of a user's inventory context. * @param userID - The user's SteamID as a SteamID object or a string which can parse into one * @param appID - The Steam application ID of the game for which you want an inventory * @param contextID - The ID of the "context" within the game you want to retrieve * @param tradableOnly - true to get only tradable items and currencies * @param [language] - The language of item descriptions to return. Omit for default (which may either be English or your account's chosen language) * @param callback */ getUserInventoryContents( userID: userid, appID: appid, contextID: contextid, tradableOnly: boolean, language: string, callback: Callback, ): any; /** * @param err `null` on success, an `Error` object on failure. */ type Callback = (err: CallbackError) => any;
  2. I want to get items that are temporary trade locked. If using manager to get inventory I don't get those items, tried to use community.getUserInventoryContents() but getting undefined inventory and null error. Btw what is difference between manager.getUserInventoryContents and community.getUserInventoryContents? public getInventory(steamID: string):Promise<CEconItem[]>{ return new Promise((resolve, reject)=> { const inventory = this.bot.community.getUserInventoryContents(steamID,730,2,false,'english',(err)=>{console.log(err)}) console.log(inventory) this.bot.tradeManager.getUserInventoryContents(steamID,730,2,false, (err, inventory)=> { if(err){ if(err.message === "This profile is private."){ return reject(new CustomError("This profile is private.",ERR.PrivateProfile)) } else if(err.message.includes("RateLimitExceeded")){ return reject(new CustomError(err.message, ERR.RateLimitExceeded)) } else{ return reject(new CustomError(err.message, ERR.GeneralError)) } } resolve(inventory) }) }) }
  3. I have a problem with saving correct data using method offer.data() If saving serverAck under await line then I got in pollData.json file the serverAck.finalState as false but in memory it is true because when logging it I got finalState = true. If I am calling this block over await line then everything is saved ok. this.trades.bot.tradeManager.on("sentOfferChanged",async (offer,oldState)=>{ logger.info(`Sent offer #${offer.id} state changed: ${oldState} -> ${offer.state}`) if(offer.id!==undefined){ const state = getStatus(offer.state) // this.socket.emit('offerChangedState',{state,offerId:offer.id}, (response)=>{ const response = await this.socket.emitWithAck('offerChangedState',{state,offerId:offer.id}) if(response.status === 'ok'){ let serverAck = offer.data("mainServerAcknowledged") as mainServerAck if(serverAck){ serverAck.finalState = true offer.data('mainServerAcknowledged',serverAck) console.log(offer.data("mainServerAcknowledged")) } }
  4. I think they are using some tools like VTFEdit, Crowbar or like in this video
  5. You can use node-globaloffensive.The most information about skin you can get from inspectItem method, but I am not sure how you can turn this into screenshot. I think there should be a way to make a skin image without running an inspect server.
  6. getImageUrl() just gives you a default image of item like this, it wont have stickers and pattern on it.
  7. Hi, does anyone know why this is happening?
  8. I noticed that in my script I am not receiving new poll data. I tried also to use the example offloader script from tradeoffer-manager github and keep sending trades to the account and my polldata file just remains at 0.
  9. On steamGuard event I am using an async method to get authCode and it just looping again and again here to get a new one with lastCodeWrong = true. If using sync method to get code then everything is works well. this.steamClient.on('steamGuard', async (domain, callback, lastCodeWrong) => { logger.info("Need code"); console.log(lastCodeWrong); if(lastCodeWrong){ throw new Error("To many consecutive wrong GUARD CODE") } try { const code = await this.generateAuthCode(); callback(code); } catch (e) { console.log(e); } }); private async generateAuthCode(): Promise<string> { let offset: number | undefined; try { offset = await this.getTimeOffset; console.log('Offset:' + offset) } catch (err) { // ignore error } return SteamTotp.generateAuthCode(this.auth, offset); }
  10. Hello, is there any possibility that while polling the offer change status event, it does not get triggered? For example, if the offer I sent is declined by the user, but I don't get informed about it on my backend. Should I make some additional history checks for that?
  11. You can use csgofloat opensource. https://github.com/csfloat/inspect/tree/master
  12. I am developing a backend for my own small project. I am facing a problem, when choosing a bot for making a trade I need to return one with less than 30 active trades total and less than 5 active trades with a specific user. Its ok that for each trade to ask info from steam about current trades of bot or should I keep this data stored in memory? . Its also an option to look in db but I think it will overload it.
  13. How do I convert accountID to steam ID64? SteamID { universe: 1, type: 1, instance: 1, accountid: 279829166 } 279829166 -> 76561198240094894 Resolved
  14. I made a small functionality for sending offers using my bots, but the number of active offers with one person is limited to 5 and 30 in total active offers. How do I keep this number and get the most free bot to make next offer.
×
×
  • Create New...