SteamGifts v2 Giveaway Filter (with SteamGifts++ and SGv2 Dark support)

Back in the days of (good) old SteamGifts v1, I couldn't even image using the site without SteamGifts+ with endless scrolling and giveaway filtering. When SteamGifts v2 was in beta, I heard about people working on SteamGifts++, a version of SteamGifts+ for the new site. I was pretty happy thinking that when the new site comes out, I'll be able to use it the same way as before. Unfortunatelly, development of SG++ stopped, probably due to personal/time reasons which I completely understand and respect. One feature in the current SG++ was missing though, and it was the giveaway filtering, a crucial part of the original SG+ plugin. I waited a few months and after I did my first "Hello world" in Javascript, I decided I'd try to create the filtering scrip for myself. After I did, I sent it to the proud people of The Reset and surprisingly they liked it (thanks for the alpha testing, guys). Even though I refused it before, I decided to try to make a UI for the filter and make it public. And here we are!

You might ask why I didn't add the filtering to SG++ itself. I looked at it and they seemed to use some framework(s) which I didn't want to learn since pure Javascript seemed enough for the job. If anyone wants and is skilled enough, he/she can take this plugin and convert it to SG++, I won't mind. Just be aware that if you do so, I won't be able to support the development of the plugin as much as I could if it'd have stayed in pure Javascript. Now as mentioned earlier, I'm no web/Javascript developer and I don't aspire to be one. If you look at the code and think it's ugly, wrong or anything like that, I'll be happy to take any suggestions you can give me to improve it. Just try to avoid comments like "use jQuery, you noob" since these are not helping at all. If you want and think you can, you can always create a pull request and I'll be happy to take a look at your work and merge it into the plugin if possible.

I'll try to monitor the discussion below and try to implement the most requested features into the plugin, but since I'm working on the plugin in my free time, I might refuse to implement some features if I think it's too hard to do them properly without significant usability gain or I might take "forever" to develop them if I just don't have time to do it at the moment.

Thanks for reading, I hope you enjoy the plugin and happy giving/winning!


Features

  • Filtering giveaways based on the level required to join, number of entries and/or points required to enter.
  • Possibility to exclude group/whitelist/pinned/region-restricted giveaways from filtering.
  • Filtering enabled on per-page basis.
  • Hide entered giveaways (with or without respect to other filter options).
  • Support for SG++ endless scroll and grid view.
  • Remove pagination for truly seamless endless scrolling.

Screenshot here


Requirements

It might work with older versions of the browsers or userscript plugins, but it has been tested on those above mentioned. If it works on older versions, share it in the comments and I'll try to update the requirements based on what you say. My intention is to always make it work on the newest version of the browser/plugin without any backwards compatibility unless explicitly requested.


Download

There are three options how to get the plugin:

  • The release version - download here - suitable for most, should always be stable and without any major bugs.
  • The beta version - download here - suitable for those that want new features/bugfixes early and don't mind some minor problems with the plugin.
  • The development version - download here - for enthusiasts, always have the current state-of-the-art technology, but might contain plugin-breaking bugs.

Changelog

0.5.7-BETA

  • Fixed filtering on the main page in Chrome.

0.5.6-BETA

  • Added support for the "Recommended" giveaway view.

0.5.5-BETA

  • Fixed filtering not working after SG moved to the HTTPS protocol. - by SilentGuy
  • Fixed SG++ GridView filtering not working properly. - by SilentGuy/SquishedPotatoe

0.5.4-BETA

  • Added support for SGv2 Dark. (REQ2) - by SquishedPotatoe
  • Fixed filter being displayed in the details of a giveaway. - by 0657code
  • Fixed filtering not working in some versions of Chrome (hopefully should be working now).

0.4.2-BETA

  • Changed the hide entered giveaways option to have multiple modes ("Yes" and "Always") with different behavior.

0.4.1-BETA

  • Added an option to filter giveaways based on points required to enter. (REQ3)
  • Added an option to exclude region-restricted giveaways from filtering.
  • Added an option to hide entered giveaways.
  • Added an option to remove pagination (for truly seamless endless scrolling). (REQ1) - by Timmaeh
  • Fixed filtering not working when there are no pinned giveaways.
  • Fixed giveaways user can't currently enter due to level requirements being filtered as well even when they belong to the level range.

0.2.2-BETA

  • Fixed support for SG++ 0.4.0beta.

0.2.1-BETA

  • Fixed handling of pinned GAs in the SG++ grid view.

0.2-BETA

  • Initial version of the script.

Requested features

I'll try to keep track of the features requested by you here. You can "like" a request by positively mentioning it in your comment with the REQ code assigned to all requests. I'll try to keep track of the likes and requests with more likes will get more attention.


Contributors

(in order in which they did their first commit)


Supporting the plugin

If you can and want, the best support is to go and code a requested feature and send a pull request with it. You'll be listed as a contributor/developer of course. If you can't or don't want to be involved in the development, there is another way how to support. Now before I tell you more, let me say that I'll continue the development unless stated otherwise without any further support, but supporting might increase the speed of the development or push forward some features you'd like to see, but everything is strictly voluntary. If you want, you can support by donating me a game from my wishlist. While donating, we can talk about what feature or anything else you'd like to see in the plugin and we can agree that I'll do it based on your donation. If we, for some reason, don't agree, you don't have to donate the game, it's completely voluntary. You can also donate games not on my wishlist, but always consult me before because I don't want to just hoard games I'm not going to play. You'd do better service just simply giving the game away on SteamGifts instead of giving it to me :). I don't accept any money or any other kind of stuff/services.

8 years ago*

Comment has been collapsed.

Definitely loving this script. All it needs now is to work with SGv2 Dark and all will be bliss!

8 years ago
Permalink

Comment has been collapsed.

Added +1 to REQ2 :)

8 years ago
Permalink

Comment has been collapsed.

Should work with SGv2 Dark now, test it out :)

8 years ago
Permalink

Comment has been collapsed.

its include filtering giveaway region restricted ?

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 5 years ago.

8 years ago
Permalink

Comment has been collapsed.

Already released :)

8 years ago
Permalink

Comment has been collapsed.

how to see all giveaways filtered in one page , and not to have to change pages?
like just to scroll all giveaways?

8 years ago
Permalink

Comment has been collapsed.

Hi, endless scrolling is not included, you'll need to install SG++ for that.

8 years ago
Permalink

Comment has been collapsed.

where to find SG++?

8 years ago
Permalink

Comment has been collapsed.

is also a script?

8 years ago
Permalink

Comment has been collapsed.

ok, i instaled it but i still have to change pages (page 1 page 2)
what i have to see on page in order to work!

8 years ago
Permalink

Comment has been collapsed.

Go here http://www.steamgifts.com/sgpp and in the "Endless scroll" section, check the "Giveaway" checkbox.

8 years ago
Permalink

Comment has been collapsed.

OK, all good now TY!

8 years ago
Permalink

Comment has been collapsed.

You're welcome.

8 years ago
Permalink

Comment has been collapsed.

can i hide the giveaways i already entered? (like a filter to show only givewayas i did not enter)....?

8 years ago
Permalink

Comment has been collapsed.

It's in the DEV version, yes. Will hopefully get to the BETA later today.

8 years ago
Permalink

Comment has been collapsed.

ok, so i will find it here! TY

8 years ago
Permalink

Comment has been collapsed.

Doesn't seem to work correctly when there is no pinned-giveaways__outer-wrap element

8 years ago
Permalink

Comment has been collapsed.

You're absolutely right, thank you. Will fix it later today.

8 years ago
Permalink

Comment has been collapsed.

Update to version 0.4.1-BETA released:

Added an option to filter giveaways based on points required to enter. (REQ3)
Added an option to exclude region-restricted giveaways from filtering.
Added an option to hide entered giveaways.
Added an option to remove pagination (for truly seamless endless scrolling). (REQ1) - by Timmaeh
Fixed filtering not working when there are no pinned giveaways.
Fixed giveaways user can't currently enter due to level requirements being filtered as well even when they belong to the level range.

8 years ago
Permalink

Comment has been collapsed.

Awesome, thanks a lot!

8 years ago
Permalink

Comment has been collapsed.

Thanks for adding my request. :)

8 years ago
Permalink

Comment has been collapsed.

You're welcome :)

8 years ago
Permalink

Comment has been collapsed.

I just noticed that I totally forgot to add you to my whitelist.
It has been done now. :P

8 years ago
Permalink

Comment has been collapsed.

Update to version 0.4.2-BETA released:

Changed the hide entered giveaways option to have multiple modes ("Yes" and "Always") with different behavior.

8 years ago
Permalink

Comment has been collapsed.

I would like to have list of GA's wich I have entered and don't meet my criteria somewhere. :)

Also: I like to participate in GA's with less than 330 people in it.
So I made an filter.

But I am missing GA's like: 10 games, 500 participants, 10 minutes remaining, Whitelist ~ (hehe :) )


Can you make a filter with percentage of win or something like this?

8 years ago
Permalink

Comment has been collapsed.

It can be option: "exclude from multiple GA's"

8 years ago
Permalink

Comment has been collapsed.

All GAs you entered is here :) http://www.steamgifts.com/giveaways/entered

Added +1 to REQ5 cause that's basically what you want.

8 years ago
Permalink

Comment has been collapsed.

I know that! :(

I mean that with thin new filter: "Yes" I can see GA's with 300 entries.
Then I can still see them with 330 entries.
But when they would reach 334 they will dissapear from list and I would go here
http://www.steamgifts.com/giveaways/entered

just to check if there is any "overloaded" giveaway...

With my mentioned feature, entered GA's with are not meeting our criteria would be f. ex. sexy-red coloured, just so we know, that we should leave it. :)

8 years ago
Permalink

Comment has been collapsed.

Stupid? Complicated?

I am here for exactly 3 months and I have won 36 games already :)

8 years ago
Permalink

Comment has been collapsed.

I know what you mean, but I think it would be too complicated and noone(apart from you) would actually use it :) Will still create a REQ6 out of this and who knows, maybe sometime in the future :)

8 years ago
Permalink

Comment has been collapsed.

It would be nice if there was an option to show only the region-restricted giveaways.

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late response. I think I have seen this in some other script. Is this request still valid?

8 years ago
Permalink

Comment has been collapsed.

Sure. It would be really helpful.

8 years ago
Permalink

Comment has been collapsed.

Alright, created a REQ7 out of this.

8 years ago
Permalink

Comment has been collapsed.

7 years ago
Permalink

Comment has been collapsed.

Thank you for the project!

Is there any way to display the Steam user review % next to the giveaways' title in the list view? It's the function I'd need the most.

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late response. Not, not at the moment. Is this request still valid or did you find some other script that does this?

8 years ago
Permalink

Comment has been collapsed.

I haven't found another script for it.

8 years ago
Permalink

Comment has been collapsed.

Alright, added as REQ8. It doesn't really fit into this script though so if I get to it, I might create some separate small script just for that.

8 years ago
Permalink

Comment has been collapsed.

Thank you!

8 years ago
Permalink

Comment has been collapsed.

Well I amn't using any plugins for SG, however the some of code is either flawed as it partially works or maybe it's meant to be used in conjunction with SG++. Normally I wouldn't complain but it's the release version so I thought I should let you know :P Here are the problems I've encountered so far, 1 - 'Exclude group giveaways' when ticked blocks some but not all of the group giveaways, this happens after a few pages around 3 or 4 in. 2- The same thing goes for the point filter, starts showing 10p & 15p games even though the filter is at 30. I was thinking that this would be fixed for others if SG++ enables endless scrolling, but if it doesn't I don't think it'd be a bad option for this plugin :) I hope I was somewhat helpful anyway :)

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late response and thanks for the report! I have disabled SG++ and all other scripts I use on SG in Firefox, set the filter to 30-150 points, 0-10 levels, no entry count filtering and exclusion of group and whitelist GAs ticked. Everything was filtered as it was supposed to be until page 10, I stopped at that. Can you try again to see if it still doesn't work?

8 years ago
Permalink

Comment has been collapsed.

Hey Garion,

At first thanks for this awesome script! It makes browsing giveaway much more comfortable.

Second, since there neither is a license in your GitHub repository nor here nor in the script itself I wanted to ask you whether it is okay for me to use parts of your code for another project (not related to SG). I added you on Steam so I can send you my code for you to have a look at.

8 years ago
Permalink

Comment has been collapsed.

Hi,

sure, use what you want :) Just note that the code probably isn't an exemplary piece of a Javascript programming and if the project is school-related, you might get bashed for that.

8 years ago
Permalink

Comment has been collapsed.

Thank you!

It's just another Greasemonkey script. Yours comes in handy since I've had nothing to do with Javascript until now ;)

8 years ago
Permalink

Comment has been collapsed.

Feature request: An additional button on the left (where it says Browse, All, Group, Wishlist, New) that will filter out all giveaways of single copies, so you'll only get to see the giveaways that contain multiple copies. I honestly love to join these for the greater odds compared to GAs of the same game with only 1 copy ;-)

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. Added as REQ9, should definitely be possible to add.

8 years ago
Permalink

Comment has been collapsed.

+111111111111

An example for an option for it to combine : max # of entries + EXCEPT giveaways than have more than one copies

7 years ago
Permalink

Comment has been collapsed.

I use some JS in my own, non-published scripts (non-published because I don't trust it to work great for everyone) to do this. Well, I highlight rather than filter, but it's the same idea. Let me know if you're interested in collaborating.

7 years ago
Permalink

Comment has been collapsed.

Hi, thanks for the offer. There are multiple open requests, you are free to choose whatever you want to implement and then submit a pull request on GitHub :)

7 years ago
Permalink

Comment has been collapsed.

Snipp-feature for modern browsers: You can use min/max in inputs to limit the minimum and maximum values to be selected in modern browsers. Check here!

I did update mine for now just as follows: http://pastebin.com/McEcTu6y
I've also changed minimum points to display initiative value to 1 since I think no free-game giveaways will exist on SteamGifts so far(?). This is more out of context change I made personally though.

Do not get me wrong though, this is an HTML5 feature so it's only a modern browser work-around(See the compatibility list). Sadly, is still not a valid reason enough to skip the manual check(As it would work in outdated browsers). But more like just a tweak!

8 years ago
Permalink

Comment has been collapsed.

there should not be any 0P games, but there are if there are bugs in the steam api

8 years ago
Permalink

Comment has been collapsed.

Yeah, noticed that on the earlier day.

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. Thanks for the tip! I probably won't change it since as you said, I'd need to keep the current state to have as much backwards compatibility (without much work) as possible.

7 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. Thanks for the tip! I probably won't change it since as you said, I'd need to keep the current state to have as much backwards compatibility (without much work) as possible.

8 years ago
Permalink

Comment has been collapsed.

Great! Now I'm using it!

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. Glad you like it! :)

8 years ago
Permalink

Comment has been collapsed.

Thank you for the great extension!

Though it lacks one feature, which is very important for me :) I wish you could make it possible to make an exception for giveaways with multiple copies. LetΒ΄s say, I want to leave levels from 3-8, but also want to leave lvl1-2 giveaways with multiple copies.

You could make it even better if you allowed to write a number of copies for each level, i.e. for level 1 I would like to hide all giveaways with less than 20 copies, for level 2 - with less then 10 copies, etc.

Have a great day!

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. I'm gonna add +1 to REQ9 as it is basically what you want, but it's not gonna be that complicated. I have a feeling almost noone would use such a complicated feature.

8 years ago
Permalink

Comment has been collapsed.

Damnit chrome said its not from the store suddenly (well after i installed windows 10) and deactivated the plugin
Anyway to still use the extension (already using chrome in developer mode) ?

EDIT - reinstalled everything again and its working

8 years ago*
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. Glad it's working for you again!

8 years ago
Permalink

Comment has been collapsed.

Deleted

This comment was deleted 5 years ago.

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. Added +1 to REQ9 :)

8 years ago
Permalink

Comment has been collapsed.

What I'm doing wrong? Everytime when i change page sg++ not work and I must change somethink in filter to begin work.

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. Does it still not work?

8 years ago
Permalink

Comment has been collapsed.

Filtering stopped working sometime in the last few days. Is it just me, or?

8 years ago
Permalink

Comment has been collapsed.

works for me

8 years ago
Permalink

Comment has been collapsed.

It works again if I comment out line 74 & 75, the "Dirty hack to "fix" endless scrolling in SG++". I get the error "Uncaught TypeError: Illegal invocation" in Chrome's developer console. In fact, SG++'s endless scrolling feature seems to be broken as well. Any idea what's wrong?

8 years ago
Permalink

Comment has been collapsed.

Hi, it seems to be broken in Chrome 47 (64-bit). Dunno if it's Chrome's fault or not, but works in Chrome 46 or any other supported browser.

8 years ago
Permalink

Comment has been collapsed.

Good to know it's not just a problem with my computer. It works for now after I commented out those lines, so I guess I'll just wait and see if it gets fixed, by Chrome or by the SG++ devs. Thanks

8 years ago
Permalink

Comment has been collapsed.

I tried to comment out the lines as well and it didn't work for me anyway, so I'm glad you got it working somehow for youself :) I would've fixed in in my script, but I didn't find any information about the issue, maybe it's too new or it's just a bug in Chrome.

8 years ago
Permalink

Comment has been collapsed.

Still no addons that don't require some other add on? I don't like putting a script add on just for one addon.

8 years ago
Permalink

Comment has been collapsed.

I don't think anyone will be creating a fun project as a direct add-on since that would require writing and maintaining it multiple times for various browser. Using script add-ons enables you to write it just once.

8 years ago
Permalink

Comment has been collapsed.

Filtering by chance to win (REQ5 by Toff) (+1 by zombiehug)

many giveaways have multiple winners
I think this feature could be very useful

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. Added +1 on your behalf to REQ5.

8 years ago
Permalink

Comment has been collapsed.

Than you so much for this! I was searching for something like this!

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. Glad you like it! Hope it works fine for you!

8 years ago
Permalink

Comment has been collapsed.

Please add an option to filter out DLC giveaways. (So only game giveaways remain)

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. Is this request still valid? Isn't there such an option on SG itself somewhere?

8 years ago
Permalink

Comment has been collapsed.

Hello, i can't get the feature required point to enter filter to work. It always show all the entries whatever value i want to put. Any way to make it works, or does it bug ?

8 years ago
Permalink

Comment has been collapsed.

Hi, sorry for the late reply. Is it still broken? If so, what browser do you use? Can you give me a screenshot with your filter settings?

8 years ago
Permalink

Comment has been collapsed.

it's still broken but i've didn't tried to make it work since all that time. Will try to update it first and see if it did something. I'm using Chrome

8 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.