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.

9 years ago*

Comment has been collapsed.

Thanks for this great script.

I'm using Firefox and it mostly works ok, except for the Remove Pagination feature. I still have to click through to more pages. Unless I've got it wrong, I thought it was to enable seamless scrolling?

8 years ago
Permalink

Comment has been collapsed.

Hi, no, for endless scrolling you need to use SG++. The Remove Pagination feature just removes the page marks that SG++ leaves between each page in the endless scrolling list.

8 years ago
Permalink

Comment has been collapsed.

Ah right, ok. I appreciate being able to filter by level, so thanks again.

8 years ago
Permalink

Comment has been collapsed.

Wow just got this working thanks. level filter much appreciated :)

8 years ago
Permalink

Comment has been collapsed.

woah, been looking for something just like this for a few days now, and just stumble right across it here =) TYVM!!!!!

8 years ago
Permalink

Comment has been collapsed.

Couldn't find this mentioned before, so I'm assuming it's not a known issue - when browsing the "Wishlist" page with "Enable on the "wishlist giveaways" page (this page)" not ticked, the first page works fine, but the second and onward apply the filter. When looking at the filter settings on those pages, I get "Enable on the main page (this page)", meaning the filter thinks those pages are part of the main page, not the Wishlist page.

Is this just on my end or is it something you can replicate?

I'm using version 0.5.7-BETA on Firefox 48.0.2.

8 years ago
Permalink

Comment has been collapsed.

Hi, my wishlist here has only two giveaways so I can't really test that. What does the browser address bar say when you are on the second page?

8 years ago
Permalink

Comment has been collapsed.

https://www.steamgifts.com/giveaways/search?page=2&type=wishlist

Compared to
https://www.steamgifts.com/giveaways/search?type=wishlist
on the first page.

I'm guessing the fact "page=X" gets put in front of "type=X" for whatever reason is the cause. I wonder why cg made it that way, it seems counterintuitive.

8 years ago
Permalink

Comment has been collapsed.

I am using Enhanced SG + Rachart Enhancer

How does it compare to these ?
And about compatibilities ?

8 years ago
Permalink

Comment has been collapsed.

Thank you very much for this

8 years ago
Permalink

Comment has been collapsed.

Amazing script, thank you for your work! I have only one little problem with it - is it possible to add ability to exclude giveaways with multiply copies? It also would be awesome if entry count filter will also include number of gifts copies, for example entry count 500 and giveaways with 2 copies with <1000 entries still visible. Is it possible to implement?

8 years ago
Permalink

Comment has been collapsed.

Thank you for your work on creating this filter script. I just wish we could filter to exclude or include particular groups in addition to the filters already here. I don't want to drop out of some groups for other reasons, but I don't want to enter any of the giveaways associated with those on steamgifts. Any thought to a feature like this?

8 years ago
Permalink

Comment has been collapsed.

I would also like to see the option: "Filtering by amount of copies being given away" :)

7 years ago
Permalink

Comment has been collapsed.

Hello thanks so much for making this script.Is it possible to add a filter for 5 or more copies giveaways?

7 years ago
Permalink

Comment has been collapsed.

any change a "exclude multiple copy giveaways" option could be added?

technically a request of another user and myself both. ^^

7 years ago
Permalink

Comment has been collapsed.

seamless endless scrolling stopped working out of the blue. Its my only script im using with tampermmonkey.

7 years ago
Permalink

Comment has been collapsed.

Hi, can I get a screenshot of what you mean? Together witthe h browser (and version) this is happening in.

7 years ago
Permalink

Comment has been collapsed.

this is what i looks like right now, no seamless scrolling: http://i.imgur.com/fqL1Vll.png

Browser: Chrome Version 56.0.2924.87
Tampermonkey: v 4.2.7

i tried all 3 releases of the script, beta, final and dev

7 years ago
Permalink

Comment has been collapsed.

If it doesn't scroll at all then it's not the fault of this script as it doesn't include endless scrolling, it just removes the marks between the pages. I guess you are using SG++ and that might be misbehaving.

7 years ago
Permalink

Comment has been collapsed.

Would it be possible to get a "Exclude wishlisted giveaways" option?

7 years ago
Permalink

Comment has been collapsed.

Hi,
This is an awesome script!
Is there any chance to add

  1. a "chance(%)" filter
  2. different section (all, wishlist, recommended, group, new) with respective setting.

Thank you! 🤘

7 years ago
Permalink

Comment has been collapsed.

Seems like a necessity.

7 years ago
Permalink

Comment has been collapsed.

Hi,
if I don't check "Enable on the "group giveaways" page", the script should not be executed in the group GA list. It doesn't do, indeed, but if I go to a page in the group GA list, it will execute. It is quite problem since it applies settings I use for public GAs. In my case I cannot see any GA in the list.

For example, it will execute on this address: https://www.steamgifts.com/giveaways/search?page=2&type=group

I expect, the other options such as "Enable on the "new giveaways" page" or "Enable on the "recommended giveaways" page" are bugged in the same way.

Please fix it.

7 years ago
Permalink

Comment has been collapsed.

Posted by BlueKronos: Thank you for your work on creating this filter script. I just wish we could filter to exclude or include particular groups in addition to the filters already here. I don't want to drop out of some groups for other reasons, but I don't want to enter any of the giveaways associated with those on steamgifts. Any thought to a feature like this?

I would absolutely love to see this. Sometimes (like all the time) I only want to see some/most of my groups on my groups page instead of every single one of them. Any chance you could make this happen?

7 years ago*
Permalink

Comment has been collapsed.

With the information of ban for Autojoin, it is the same for that?

7 years ago
Permalink

Comment has been collapsed.

Hey, I don't know anything about that. Unlike Autojoin this doesn't provide any functionality that would try to game the system for user's advantage.

7 years ago
Permalink

Comment has been collapsed.

Don't work for me, it's still usable?

4 years ago
Permalink

Comment has been collapsed.

Probably not since it wasn't updates for years :(

4 years ago
Permalink

Comment has been collapsed.

It still works for me. Thanks for the script :)

4 years ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.