DoctorMcKay / node-steam-tradeoffer-manager

Simple and sane Steam trade offer management
https://dev.doctormckay.com/forum/9-node-steam-tradeoffer-manager/
MIT License
518 stars 134 forks source link

getReceivedItems return receivedItems 0 #146

Closed NiceEinz closed 8 years ago

NiceEinz commented 8 years ago

Hey, we use the tradeoffer manager to let the user deposit on our system. For that we only let them deposit skins and don't take skins from our bot.

In this case we check the offer and after accept it we use the getReceivedItems function to recheck the offer + read the item ids. in 70% of the cases all works fine. But on the 30% of cases even if we try it up to 180 times over 12 hours the receivedItems is still 0

But the offer is definitly accepted and the items which was in this trade are on our account.

Since we checked it 180 times over 12 hours i don't think there is a error bec steam is down or something.

Maybe you've got an idea guys?

Aareksio commented 8 years ago

Strange, I allow up to 5 tries (retries delayed by 3/5/7/10 second), and it haven't failed to get received items in the past 10000 trades even once.

If you want to make sure that all offers are deposits only - check itemsToGive and itemsToReceive property of the offer.

The problem has to be in your code, and this is not the place to ask for coding help... Have a question about the module or coding in general? Do not create a GitHub issue. GitHub issues are for feature requests and bug reports. Instead, post in the dedicated forum. Such issues may be ignored!

Lagg commented 8 years ago

Receipts have a pretty critical issue right now in which they will indeed have just the uninitialized oItem there. Why this is something that can even happen in a fucking receipt is beyond me. But it is not a bug in this lib. Seems like something similar to why CSGO inventories fetched via the API work 1/15th of the time. The receipt will eventually have the content it should, but highly unreliable in how many attempts it takes. I can only suggest not making exceedingly large trades. And perhaps telling Valve to be responsible and generate receipts like every other responsibly accounting company does. But one solution may be harder than the other.