FailSpy / humble-steam-key-redeemer

Python script to extract all Humble Bundle keys and redeem them on Steam automagically.
129 stars 27 forks source link

Wrong steam app ID from HumbleBundle #41

Open Nionor opened 1 year ago

Nionor commented 1 year ago

I noticed that sometimes the order data gathered from HumbleBundle has the wrong steam_app_id. I don't think it's a problem with the script but rather with the data they have at HumbleBundle. It's not a big issue only that sometimes a new key is seen as already owned and will not be redeemed.

Here are some examples.

steam_app_id    human_name
518060      The Swords of Ditto: Mormo's Curse
518060      Chess Ultra
629090      WARSAW
629090      Horace
978520      Legend of Keepers
978520      Banners of Ruin
1004490     Tools Up!
1004490     Orwell: Ignorance is Strength
1104660     Niche - a genetics survival game
1104660     MO:Astray

Maybe we can add a check for duplicates and see if the names match or something similar to how it's done when the ID is missing. Thought I just throw that up here maybe someone has a better solution.

FailSpy commented 1 year ago

Good spot. Going to investigate this later. While not unlikely Humble Bundle's Steam App ID is incorrect, it's quite possible I'm accidentally attributing a single Steam App ID to a "pack" of games somehow -- meaning all games from a single purchase are getting the Steam App ID of the "first" game in that, or something similar to that.

If so, then the fix is just to make sure I'm doing a better job of that.

If not, there's still the curious factor of Steam App ID duplicates when they're clearly not the same game. So one possibility, as you laid out is to check if there's any duplicate Steam App IDs (that are named very differently), and if so, check against Steam to figure out which one is the correct product and null out the steam app ID for the others.

I should probably implement a general check to make sure the Steam App ID claimed by Humble even remotely matches the game data on Steam with that App ID, even in the case of no duplicate Steam IDs.

Nionor commented 1 year ago

I don't believe it's something you are doing wrong because I was looking at the owned_app_details but I might be wrong. I'll be going on holiday for the next weeks and hopefully I'll manage to stay offline a lot ;) But I'll help if I can, might just not be that quick.