[UserScript] SteamGifts Trades - Have List Filter

ALTERNATE VERSION

This uses barter.vg instead: https://greasyfork.org/en/scripts/382106-steamtrades-have-list-filter-barter-vg

INTRODUCTION

I got fed up with Compare2Steam's shitty performance (especially for those with larger libraries) and after I went through their code and saw how absolutely horrible it was, I decided to make something similar it myself, but better. My main focus is speed, performance, accuracy and being userfriendly. I went for an userscript, because it can provide these things. The initial code was actually rather easy to write. It will only improve from here, with more accuracy, features and special cases. See it in action here.

FEATURES

  • Checks the Have-list in trade topics for owned steam games
  • Checks the Have-list in trade topics for wishlisted steam games
  • Clever game detecting algorithm
  • Ignores everything between brackets and text after "="
  • Display descriptive icons in front of each (un)owned game in the Have-list
  • Add steam store or steamdb search link after each unowned or unknown game in the Have-list
  • Add steam store or steamdb link to game after each owned or wishlisted game in the Have-list
  • Ability to copy unowned/unknown games to clipboard

DOWNLOAD

INSTRUCTIONS

  1. Download and install Tampermonkey for your browser
  2. Download the userscript above
  3. (Optional) Configure your preferred settings in the code
  4. Hit install when asked
  5. Visit any trade topic and click on the "(Filter)" next to "I have..."
  6. Allow cross-domain access when asked
  7. Enjoy!

FAQ

How can it be so fast?
I am actually ignoring Steam AppID's altogether and only check with game names.
Yes, that may cause some inaccuracy, but I don't think that much.

Why doesn't it work for me?
I don't know. Be sure to contact me and provide me the log/error from the JavaScript console, if there is any.

Can I suggest a feature?
Yes, absolutely!

CHANGELOG

Version 1.4

  • Now gets owned games from enhanced steam's api, instead of the broken xml method
  • Now adds links to steam store or steamdb of owned/wishlisted games
  • Now freezes page much less than before

Version 1.1

  • Added support for wishlist
  • Now ignores everything after "="
  • Now also ignores everything between [ and ]

Version 1.0

  • Many improvements to the code
  • Made it compatible with the new SteamTrades
  • Added an option to search in SteamDB instead of Steam Store
  • Finally fixed everything turning lowercase
  • Renamed it slightly (SteamGifts Trades --> SteamTrades)
  • Other changes I don't remember

Version 0.3

  • Now remembers owned steam games and only checks again per set interval
  • Filtering now requires user action first

Version 0.1

  • initial release

CREDITS

View attached image.
8 years ago*

Comment has been collapsed.

Deleted

This comment was deleted 4 years ago.

8 years ago
Permalink

Comment has been collapsed.

Thanks!

8 years ago
Permalink

Comment has been collapsed.

awesome work!

8 years ago
Permalink

Comment has been collapsed.

Thanks :)

8 years ago
Permalink

Comment has been collapsed.

Update v0.2 - Added copy unowned/unknown games to clipboard function

8 years ago
Permalink

Comment has been collapsed.

Not bad.

A must-have feature is saving all owned games in local short-lived cache to avoid asking SteamCommunity for data on each page refresh. You should compare last cache refresh and if it gets older than e.g. 1-2 hours, schedule a refresh.

If you need code samples, you can find some in API calls to my touhou website: https://touhou.justarchi.net/js/userscripts/2hu.user.js

8 years ago
Permalink

Comment has been collapsed.

It seems to me you are the good guy helping every programmer here :D

8 years ago
Permalink

Comment has been collapsed.

It doesn't cost me anything to help, and if people learn how to write better and more efficient code - everybody will gain, not only users but server owners as well.

I know something about that :3.

8 years ago
Permalink

Comment has been collapsed.

Did you kill the SG servers with that? xD

8 years ago
Permalink

Comment has been collapsed.

With that - no, but I did something bad to SG servers at some point when ArchiBoT didn't have rate-limiting logic...

8 years ago
Permalink

Comment has been collapsed.

what did happen ?:o

8 years ago
Permalink

Comment has been collapsed.

Top secret data, only 2hus know :3

8 years ago
Permalink

Comment has been collapsed.

damm i need to ask all my 2hus friends then ._.

8 years ago
Permalink

Comment has been collapsed.

View attached image.
8 years ago
Permalink

Comment has been collapsed.

My thoughts xD

8 years ago
Permalink

Comment has been collapsed.

Haha, thanks :D

8 years ago
Permalink

Comment has been collapsed.

Lol, you read my mind! I was already thinking about such feature :)

8 years ago
Permalink

Comment has been collapsed.

New version has this feature :)

8 years ago
Permalink

Comment has been collapsed.

Great Work! But lists with hundrets of games make my chrome freaze. Would be cool if it could work in background without freezing anything :)

8 years ago
Permalink

Comment has been collapsed.

I will look into this.

8 years ago
Permalink

Comment has been collapsed.

Suggested feature: manually add games to owned list for those who have more than one account (but you can only use one here).

8 years ago
Permalink

Comment has been collapsed.

Hmm, I may add this later, but currently it has low priority.

8 years ago
Permalink

Comment has been collapsed.

+1

8 years ago
Permalink

Comment has been collapsed.

Wow, wow, wow! This one actually a very good thing! As OP already said, Compare2Steam have totally bad performance, when I trying to check a big libraries, its will use all of my RAM! And, of course, my PC stopping worked >.< So many thanks to Royalgamer06 for userscript ^_^

8 years ago*
Permalink

Comment has been collapsed.

No problem :)

8 years ago
Permalink

Comment has been collapsed.

i have 3k+ games on steam and, well, this is crashing tampermonkey

8 years ago
Permalink

Comment has been collapsed.

On all trade topics? I own 2k+ games on steam and it works really well.

8 years ago
Permalink

Comment has been collapsed.

depends, i tried on mine and it crashed (only like 15 games in it), others went well but some crashed as well. might not be count related than but no errors in console

8 years ago
Permalink

Comment has been collapsed.

You're a true champion. Thanks for this.

First impression is.. decent. I'm supposedly part of your target audience with over 5000 games in my library and a trade list of over 2000 games. When loading my own list (https://www.steamgifts.com/trade/1xXqs/h-over-2000-games-w-games-i-dont-already-own) it takes a fair minute to fully load. This isn't strange and I actually expected it to take even longer.

Now my two cents:

Perhaps consider a single character margin of error, of the 2000 games listed about 250 of them trigger a false positive. After inspecting these, it seems 90% of these false positive have a special character in the title. :, !, &, -, ~, +, ., `, ® and possibly (though uncertain) all numbers.

Also subs aren't taken into account, meaning all packages of multiple games aren't recognised. Not a huge deal but perhaps something to look into one day.

And just a personal preference: I'd like to see every game at least start with a capital, full lower case always makes me cringe a little.

But it's a very nice start, I hope you can improve it even further.

8 years ago
Permalink

Comment has been collapsed.

This is very valuable feedback, thanks!

8 years ago
Permalink

Comment has been collapsed.

Might be a strange request, but could there be a way of checking owned games against the Steamgifts bundle list? - https://www.steamgifts.com/bundle-games

Why do I want this? About to start trading, and as a bit of games collector I want to hoover up as many bundle games I've missed as possible. First of all I need to identify them/create a comprehensive want list. I think I'd prefer to do a search on the trades section for game titles I don't have rather than click on random trade threads until I see something I haven't got yet.

Did attempt to use compare2steam for this list creation recently after putting together a raw list of game titles only for every game on the bundles list but my library kept crashing it. It seemed to work if I loaded a couple of hundred titles at a time to check but I found that very time consuming and didn't bother in the end.

8 years ago*
Permalink

Comment has been collapsed.

So you want a list of games from https://www.steamgifts.com/bundle-games, which you don't own?
Does it matter to you if that list is in AppID's (preciser results) or does it have to be game names?

8 years ago
Permalink

Comment has been collapsed.

Anything would be fine, and more than great.

I wasn't even initially thinking that the script would make the list. I'd have been happy for it to look the same way as it does in the example picture you posted of this script in action and then for me to manually create the list by copy/paste or even typing the game names out. As long as I could find out exactly what I have and don't have already it would be all good.

8 years ago
Permalink

Comment has been collapsed.

List of bundle games: http://pastebin.com/raw/CF3A1MXv (code used: http://pastebin.com/raw/XcaDC3jZ)
List of your games: http://pastebin.com/raw/RunAR5DV (code used: http://pastebin.com/raw/2aRG8UtF)
Removed intersection: http://pastebin.com/raw/sGpGKku6 (used notepad++ with this regex: http://pastebin.com/raw/uTBd3PhJ)
I hope this pleases you, it was trickier than I thought :)
Please accept my steam friend request.

8 years ago
Permalink

Comment has been collapsed.

probably will use this script :D. And will get even better with your upgrades (since you look a guy that wants to improve his script)

Good luck, good job and thx a lot ^_^

8 years ago
Permalink

Comment has been collapsed.

Thanks! :D

8 years ago
Permalink

Comment has been collapsed.

Wow!
Awesome. Good work!

8 years ago
Permalink

Comment has been collapsed.

Thank you :)

8 years ago
Permalink

Comment has been collapsed.

nice feature!

8 years ago
Permalink

Comment has been collapsed.

Thanks!

8 years ago
Permalink

Comment has been collapsed.

Well done! I do want to clarify one point:

How can it be so fast?
I am actually ignoring Steam AppID's altogether and only check with game names.
Yes, that may cause some inaccuracy, but I don't think that much.

Specifically, it'll be any games pulled and put back on the market. This will probably only include some games that are 0p.

If you check the name, do you just check a part of the name or the whole name?

8 years ago
Permalink

Comment has been collapsed.

Update V0.3

  • Now remembers owned steam games and only checks again per set interval
  • Filtering now requires user action first
8 years ago
Permalink

Comment has been collapsed.

great script, thanks for that. :)

but maybe you should switch to phonetic similarity or something like that for comparison. right now, small things like a missing dot are already enough to let it fail.

example:

mx vs atv reflex => your script says i don't own it, because the actual title is "MX vs. ATV Reflex" with a '.'.

EDIT: simple SG formatting seems to confuse the script, though:

View attached image.
8 years ago*
Permalink

Comment has been collapsed.

Yeah, I know it's a problem, but it's hard to get a proper fix for that with how SteamGifts does things currently. Same goes for the lowercase issue.

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 4 years ago.

8 years ago
Permalink

Comment has been collapsed.

Thanks, I was looking for this, as I knew it existed, but I couldn't find it.

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 4 years ago.

8 years ago
Permalink

Comment has been collapsed.

Thanks!

8 years ago
Permalink

Comment has been collapsed.

Nice! I might actually start trading for bundled/smaller games again on SG thanks to this.

8 years ago*
Permalink

Comment has been collapsed.

No problem!

8 years ago
Permalink

Comment has been collapsed.

Huge update released!
V1.0 now, because I feel this version is stable and solid.
Besides it offers many features and is fully configurable.
Changelog:

Version 1.0

  • Many improvements to the code
  • Made it compatible with the new SteamTrades
  • Added an option to search in SteamDB instead of Steam Store
  • Finally fixed everything turning lowercase
  • Renamed it slightly (SteamGifts Trades --> SteamTrades)
  • Other changes I don't remember
8 years ago
Permalink

Comment has been collapsed.

Works nicely, thanks. ^.^

8 years ago
Permalink

Comment has been collapsed.

Why haven't I seen this earlier? I always used NerdChan's Steam Comparison because it's way faster and more stable than Compare2Steam. This script seems useful, time to install it.

8 years ago
Permalink

Comment has been collapsed.

Nice, I didn't know about that one either.
Anyway have fun with my script!

8 years ago
Permalink

Comment has been collapsed.

awesome script very helpful.
Do you think its also possible to show games that are in the wishlist ?

8 years ago
Permalink

Comment has been collapsed.

+1

8 years ago
Permalink

Comment has been collapsed.

Yes, it should be possible.

8 years ago
Permalink

Comment has been collapsed.

Doesn't seem to work with GreaseMonkey, even though it installs fine.

8 years ago
Permalink

Comment has been collapsed.

Why? Are you clicking Filter?

8 years ago
Permalink

Comment has been collapsed.

The filter button doesn't appear.

8 years ago
Permalink

Comment has been collapsed.

That is weird. Do you have any other scripts for steamtrades? Are you using the latest version of the userscript? What browser are you using? What does the javascript console say?

8 years ago
Permalink

Comment has been collapsed.

I do have others, but disabling all of them doesn't seem to change anything in this case.
I'm using the latest version of your script, and the GreaseMonkey add-on, with Firefox 49.0.2.
No errors for javascript, though there are apparently some missing css fonts the console says can't be downloaded.

8 years ago
Permalink

Comment has been collapsed.

Yeah, I have the same problem on firefox, but I don't know what is causing it. There is no indication something failed or went wrong. I also tested the code manually, but it seems to work. Maybe it's the greasyfork firefox addon that is having issues.

8 years ago
Permalink

Comment has been collapsed.

same problem here, firefox+greasemonkey....

8 years ago
Permalink

Comment has been collapsed.

Version 1.1

  • Added support for wishlist
  • Now ignores everything after "="
  • Now also ignores everything between [ and ]
8 years ago
Permalink

Comment has been collapsed.

awesome thanks

8 years ago
Permalink

Comment has been collapsed.

No problem :)

8 years ago
Permalink

Comment has been collapsed.

Great Work!

8 years ago
Permalink

Comment has been collapsed.

Thanks!

8 years ago
Permalink

Comment has been collapsed.

Thank you

8 years ago
Permalink

Comment has been collapsed.

Cheers :)

8 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.