ESGST - Enhanced SteamGifts & SteamTrades

A script that adds some cool features to SteamGifts and SteamTrades.

If you find any bugs or have any feature requests, please file an issue here.


Compatibility

Tested and confirmed as working:

  • Chrome (since v55)
  • Firefox (since v52)

Not tested but should be working:

  • Opera (since v42)

Not tested and may not be working (if it works please let me know so I can move it above):

  • Edge
  • Safari (since v10.1)

Installation

There are two different ways to use ESGST: extension or userscript. You can choose which one you want to use, but the extension is reported to be a lot faster and have a better peformance than the userscript, although there is no major difference between them.

Option 1 - Extension

  • Firefox
  • Chrome -> Download "extension.zip" from this page, extract it to a folder on your computer, go to "chrome://extensions/", tick "Developer mode" in the top right corner, click "Load unpacked extension" and select the "Extensions" folder where you extracted the zip to. Using the extension on Chrome might be a nuisance, since every time you open the browser you will get a message saying that using extensions in developer mode can be unsafe, and every time a new version is released you will have to download the zip again, extract it to the same folder, replacing the previous files, go to the extensions page and click "Reload" under ESGST.

Other browsers might work with the extension, especially Opera, since I believe it uses the same extension system as Chrome, but only Firefox and Chrome have been tested and confirmed as working.

Option 2 - Userscript

To install the script, you must install Greasemonkey, Tampermonkey, or some other userscript manager first. Then click here and you should be prompted to install it.

You can also install the script in your Android through Firefox with Violentmonkey or USI. Though some features might not work.

Upgrade/Downgrade

To upgrade from the script to the extension or downgrade from the extension to the script, all you have to do is export all your data from the one you're uninstalling, install the other one and import all the data you had exported.


Features

To learn more about each feature you have to install ESGST.

General

  • Attached Image Carousel
  • Attached Image Loader
  • Avatar Popout
  • Accurate Timestamp
  • Cake Day Reminder
  • Custom Header/Footer Links
  • Element Filters
  • Endless Scrolling
  • Embedded Videos
  • Fixed Footer
  • Fixed Header
  • Fixed Main Page Heading
  • Fixed Sidebar
  • Giveaway/Discussion/Ticket/Trade Tracker
  • Hidden Blacklist Stats
  • Hidden Community Poll
  • Header Refresher
  • Image Borders
  • Last Page Link
  • Level Progress Visualizer
  • Multi-Tag
  • Notification Merger
  • Pagination Navigation On Top
  • Quick Inbox View
  • Same Tab Opener
  • Scroll To Bottom Button
  • Scroll To Top Button
  • Search Magnifying Glass Button
  • Shortcut Keys
  • Time To Point Cap Calculator
  • Table Sorter
  • URL Redirector
  • Visible Attached Images

Giveaways

  • Advanced Giveaway Search
  • Archive Searcher
  • Blacklist Giveaway Loader
  • Comment/Entry Checker
  • Created/Entered/Won Giveaway Details
  • Delete Key Confirmation
  • Enter/Leave Giveaway Button
  • Entry Tracker
  • Giveaway Bookmarks
  • Giveaway Copy Highlighter
  • Giveaway Country Loader
  • Giveaway Encrypter/Decrypter
  • Giveaway Error Search Links
  • Giveaway Extractor
  • Giveaway Filters
  • Giveaway Group Loader
  • Giveaway Manager
  • Giveaway Recreator
  • Giveaway Popup
  • Giveaway Templates
  • Giveaway Winners Link
  • Giveaway Winning Chance
  • Giveaway Winning Ratio
  • Giveaways Sorter
  • Grid View
  • Hidden Game Remover
  • Hidden Game's Enter Button Disabler
  • IsThereAnyDeal Info
  • Multiple Giveaway Creator
  • Next/Previous Train Hotkeys
  • One-Click Hide Giveaway Button
  • Pinned Giveaways Button
  • Quick Giveaway Search
  • Real CV Calculator
  • Sent Key Searcher
  • Steam Activation Links
  • Stickied Giveaway Countries
  • Stickied Giveaway Groups
  • Time To Enter Calculator
  • Unfaded Entered Giveaway
  • Unhide Giveaway Button
  • Unsent Gift Sender

Discussions

  • Active Discussions On Top/Sidebar
  • Close/Open Discussion Button
  • Discussion Edit Detector
  • Discussion Filters
  • Discussion Highlighter
  • Discussions Sorter
  • Main Post Popup
  • Main Post Skipper
  • Old Active Discussions Design
  • Puzzle Marker
  • Refresh Active Discussions Button

Trades

  • Trade Bumper

Comments

  • Collapse/Expand Reply Button
  • Comment Formatting Helper
  • Comment History
  • Comment Reverser
  • Comment Searcher
  • Comment Tracker
  • Multi-Reply
  • Received Reply Box Popup
  • Reply Box On Top
  • Reply Box Popup
  • Reply From Inbox
  • Reply Mention Link

Users

  • Inbox Winner Highlighter
  • Level Up Calculator
  • Not Activated/Multiple Win Checker
  • Not Received Finder
  • Profile Links
  • Real Won/Sent CV Link
  • Sent/Won Ratio
  • Shared Group Checker
  • SteamGifts Profile Button
  • SteamTrades Profile Button
  • User Filters
  • User Giveaway Data
  • User Notes
  • User Stats
  • User Suspension Tracker
  • User Tags
  • Username History
  • Whitelist/Blacklist Checker
  • Whitelist/Blacklist Highlighter
  • Whitelist/Blacklist Manager
  • Whitelist/Blacklist Sorter

Groups

  • Group Highlighter
  • Group Library/Wishlist Checker
  • Group Stats

Games

  • Entered Game Highlighter
  • Game Categories
  • Game Tags

Others

  • Automatically add no CV games to the database when searching for games in the new giveaway page.
  • Automatically backup your data every specified number of days.
  • Automatically sync games/groups when syncing through SteamGifts.
  • Automatically update whitelist/blacklist when adding/removing a user to/from those lists.
  • Calculate and show data sizes when opening the delete menu.
  • Calculate and show data sizes when opening the export menu.
  • Calculate and show data sizes when opening the import menu.
  • Check whether or not you are on the current version when visiting the ESGST discussion.
  • Check whether or not you are on the current version when visiting the main discussions page if the ESGST discussion is in the current page.
  • Collapse sections in the settings menu by default.
  • Enable ESGST for SteamTrades.
  • Enable new features and functionalities by default.
  • Hide buttons at the left/right sides of the main page heading to reduce the used space.
  • Lock giveaway columns so that they are not draggable (they will remain in the set order).
  • Make popups static (they are fixed at the top left corner of the page instead of being automatically centered).
  • Open settings menu in a separate tab.
  • Open the automatic sync in a new tab.
  • Show changelog from the new version when updating.
  • Show the feature number in the tooltips of elements added by ESGST.

Other Info

  • All requests from Whitelist/Blacklist Checker, Not Activated/Multiple Win Checker, Not Received Finder and Archive Searcher are limited to 2 per second, to prevent a stress on the SteamGifts servers.
  • If you try to leave the page while Whitelist/Blacklist Checker, Not Activated/Multiple Win Checker, Not Received Finder and Archive Searcher are running, you will get a confirmation dialog asking you if you want to leave the page. Additionally, while these features are running, their buttons are faded out.
1 year ago*

Comment has been collapsed.

Have a bump :)

1 year ago
Permalink

Comment has been collapsed.

Thanks :)

1 year ago
Permalink

Comment has been collapsed.

- logs on
revilheart made a script

- logs off for sleepy
BLINK
- logs on
revilheart Scripts v0.2 released
revilheart Scripts v0.3 released
revilheart Scripts v0.4 released

Nice job! 👍🏻🙃

1 year ago
Permalink

Comment has been collapsed.

Thanks! And one more just now! xD

1 year ago
Permalink

Comment has been collapsed.

Thanks for all of the improvements you're making but do you happen to add settings where I can select which options of your script I want enabled?
I like the wl-bl icon but I think it's interfering with another script and some people have 2 blue hearts next to them now. I can always go on and call them superblues or something but a fix or disable option would be nice ^^

1 year ago
Permalink

Comment has been collapsed.

The settings menu is next on my TODO list. Hopefully I can publish it in a few minutes / hours, but I can tell you how to disable it manually until then if you want.

1 year ago
Permalink

Comment has been collapsed.

Nah, you take your time. I can imagine it's braincracking making something like a script. I have zero knowledge of it (feels sad) so I'll let you work. No more interuptions from me :)

And again, thank you for all this, much appreciated!

1 year ago
Permalink

Comment has been collapsed.

It's here! :) I actually love making scripts. :P

1 year ago
Permalink

Comment has been collapsed.

WHAT?! 0.9 + settings added

View attached image.
1 year ago
Permalink

Comment has been collapsed.

Busy day. :P

1 year ago
Permalink

Comment has been collapsed.

1.4, really?!
You're known for amazing and difficult puzzles,
fixed comment chain on sg within a day,
one improvement after the other,
obviously doesn't sleep...

Confirmed, you are not human.

1 year ago
Permalink

Comment has been collapsed.

I come in peace.

1 year ago
Permalink

Comment has been collapsed.

V1.6 why stop there? xD thread needed a bump :)

1 year ago
Permalink

Comment has been collapsed.

I've been working on some improvements over the past few days, but I was holding out because I wanted to push the next version with the Preview Posts feature, but it looks like that will have to stay for next week or next year. I'm pushing a smaller update today that will have a new feature though. :)

1 year ago
Permalink

Comment has been collapsed.

Bam! v2.0! xD

1 year ago
Permalink

Comment has been collapsed.

Improve how comment chains are shown (No idea if I can do this though. I took a look at the source code and there doesn't seem to be any link between the comments to their replies).

There is, a parent comment has two childrens (the parent comment should look something like <div data-comment-id="4321231" class="comment">) one with class ajax comment__parent and one with class comment__children. On the first child there's the stuff for the parent comment. On the second there's another div data-comment-id="id" class="comment", which inside holds two children as well, as the original parent comment. Comments will always have both of those children elements, even if they don't actually have replies, if that's the case the .comment__children div will just stay empty.

View attached image.
1 year ago
Permalink

Comment has been collapsed.

Interesting, looks like I didn't look well. Thanks, I might just be able to do something. :P

1 year ago
Permalink

Comment has been collapsed.

v0.2 Added Better Comment Chains feature.

1 year ago
Permalink

Comment has been collapsed.

Perfect.

1 year ago
Permalink

Comment has been collapsed.

:)

1 year ago
Permalink

Comment has been collapsed.


Cool idea, bro.
Have a bump.

(I made a script, but I don't know if anyone else wants it, it lets you move to the next giveaway in a train by tapping the '=' key)

View attached image.
1 year ago
Permalink

Comment has been collapsed.

Thanks. Yeah, I'm not sure that script would be useful to me.

1 year ago
Permalink

Comment has been collapsed.

It's useful to me because it lets me go through the trains faster and without having to move the cursor (usually I'm on touchpad) to click the link, also it can skip forward before other bigger/slower scripts load.
(─‿‿─)
Plus i'm lazy.

1 year ago
Permalink

Comment has been collapsed.

I see. I usually like to take my time with trains. Wouldn't it be better for you to bind it to some other key though, like right arrow?

1 year ago
Permalink

Comment has been collapsed.

I tried, but it didn't detect it, so I picked one I didn't use often. I also made an option with ">" but that needs you to press shift.
this doesn't trigger with the -> $(document).keypress(function (e){...

Edit: changed it to $(document).keydown(function (e){...
Now it works with the "->", but I bound it to "PageDown" since I never use that.

1 year ago*
Permalink

Comment has been collapsed.

Yeah, it only works with keydown. Glad you got it working. :)

1 year ago
Permalink

Comment has been collapsed.

got me a little curious, mostly just wondering what's preventing it from going backwards? keywords = "next, Next, Moar, moar" ?

1 year ago
Permalink

Comment has been collapsed.

nothing really, It's just meant for going through long trains faster in hopes of finding something good. To go back you can just use the backspace.
Basically it looks for a list of keywords and launches the href of the first one found.

1 year ago
Permalink

Comment has been collapsed.

ok, yeah i figured it'd need to run off of keywords.. cause next can be before or after back on some trains. order wouldn't work due to that.. makes sense.. ^^

1 year ago
Permalink

Comment has been collapsed.

Looks good, have a bump!

1 year ago
Permalink

Comment has been collapsed.

Thanks!

1 year ago
Permalink

Comment has been collapsed.

It took more than a year, but someone FINALLY fixed that comment chain issue. Thank youuuuuuuu!

1 year ago
Permalink

Comment has been collapsed.

You're welcome!

1 year ago
Permalink

Comment has been collapsed.

Hmm, seems to be a small issue with a part of the user page not being pushed to the background when adding notes (image below).
Also, do you think adding this feature would also be possible? :P

View attached image.
1 year ago
Permalink

Comment has been collapsed.

It's a conflict with another userscript. Will be fixed in the next version, thanks.

I don't know if that's possible, I'll check it out. :)

1 year ago
Permalink

Comment has been collapsed.

I assumed it had something to do with a conflict, but for some reason I forgot to include my installed scripts. :P
Oh, and I'm on Firefox.

View attached image.
1 year ago
Permalink

Comment has been collapsed.

Thanks, I already found the problem though. :P I'll push the new version out tomorrow. I was also able to implement that feature you linked. :) You want it to remain in the Messages page after submitting the reply, right?

1 year ago
Permalink

Comment has been collapsed.

Sweet! And yes, preferably. Its use would be mainly for when you have many notifications and want to quick reply.

1 year ago
Permalink

Comment has been collapsed.

Alright, it's working, but I have to adjust some things. I'll post the new version tomorrow. :)

1 year ago
Permalink

Comment has been collapsed.

New version is up.

1 year ago
Permalink

Comment has been collapsed.

Awesome! (Sent from my notifications page :D)

1 year ago
Permalink

Comment has been collapsed.

you said tomorrow lol

10 months ago
Permalink

Comment has been collapsed.

I say lots of things.

10 months ago
Permalink

Comment has been collapsed.

ok it is my first time I going to use any script I will try this when I got home . :)

10 months ago
Permalink

Comment has been collapsed.

The request to post a reply is a POST request, that has the following parameters and values:

"do": "comment_new"
"xsrf_token": "long string of numbers and lowercase letters"
"parent_id": int
"description": "very long string with the whole reply you want to post"
//Remember that every parent comment has a data-comment-id attribute? That's the id you need

And the request is sent to the thread link, so in this case it would be https://www.steamgifts.com/discussion/TDyzv/revilheart-scripts-v02-current-features-username-history-permanent-notes-better-comment-chains
The xsrf_token can be taken from the form that is sent when clicking the "Mark as read" button on the inbox page, so you got that covered. I'd recommend you use GM_xmlhttpRequest instead of the normal XMLHttpRequest since it's easier to use and has a few advantages. The hardest thing is probably going to be making the reply box to type in, you might want to just take a look at SG's code and copy it all, classes and all included so it has the same look, you'll just have to change the buttons a bit so the box disappears when you click Cancel instead of returning to the bottom like normally, and replace the code that is executed when clicking Reply for yours.

1 year ago
Permalink

Comment has been collapsed.

Testing

1 year ago
Permalink

Comment has been collapsed.

Haha finally got it to work! I wasn't able to get it to work with GM_xmlhttpRequest though, so I used AJAX and it worked perfectly. And "data-comment-id" isn't present in the Messages page, so I have to parse the source page to get it.

1 year ago*
Permalink

Comment has been collapsed.

I thought it was present on the inbox page, my bad.

As for the GM_xmlhttpRequest, it should look something like this:

GM_xmlhttpRequest ({
    method: "GET",
    url: "https://store.steampowered.com/dynamicstore/userdata/",
    onload: function(response) {
        alert("Loaded");
        console.log(response.responseText);
    }
});

It allows way more functionality than that, I suggest you read the GM documentation, but that's the basics. Oh, and don't rely on the async flag, it's not offered on Tampermonkey, so using it would break the compatibility with other browsers/script managers, and you shouldn't make synchronous requests anyway.

1 year ago
Permalink

Comment has been collapsed.

Yep, I read the documentation and tried to send a POST request with it, but it didn't work. Maybe my "data" was broken, but I tried multiple different ways. Is there any problem in leaving it in AJAX?

1 year ago
Permalink

Comment has been collapsed.

AJAX is the general term, I would need to know exactly what function are you using to give you some advice :P

I'm not sure about the POST request, I don't usually make POST requests with JavaScript, and when I do it's usually on the console to check stuff so I just use the basic XMLHttpRequest function with FormData. Check the POST example on the documentation though, it requires both the data string and that header to be set to accept the POST request, so maybe you just forgot about it?

Generally, no, there is no problem, but I recommend GM_xmlhttpRequest since it allows for cross-domain requests. JS by itself is very limited on the stuff it can do, for security reasons, so a lot of stuff that might be used with malicious intent is not allowed by the browsers. Making cross-domain requests to pages that do not include the proper header to allow it on their responses is prohibited, so unless the server happens to allow JSONP you are out of luck in those cases. The only way is to either set up your own server to fetch those requests for you, and then allow cross-domain requests on your responses or use GM_xmlhttpRequest which is a modified version of JS' XMLHttpRequest (and since browser add-ons have way more privileges than simple userscripts) it is allowed to make that kind of requests.

1 year ago
Permalink

Comment has been collapsed.

Oh sorry, I meant jQuery.ajax(). :P Since I'm sending to the same domain, I can use it without any issues.

1 year ago
Permalink

Comment has been collapsed.

Bumpin :)

1 year ago
Permalink

Comment has been collapsed.

Thankin :)

1 year ago
Permalink

Comment has been collapsed.

That username history and comment chains work beautifully! Thank you so much for developing this script.

Can you explain how are the permanent comments stored and who has access to this data?

1 year ago
Permalink

Comment has been collapsed.

The comments are stored as strings on the browser's local storage.

The browser's local storage is a dictionary (also called map or hash map in other languages):

{
    "key": "value-string",
    "key2": 23412
}

Dictionaries hold key=>value pairs, so to access the value you need to know the key. The key has to be a string in most cases (it is on this one) while the value can be a string, or an integer, or a float (a decimal number), or even another dictionary as value. The browser's localStorage API has the limitation of only being able to store about 5MB maximum and the values can only be integers or strings (or boolean types, that can only be either true or false), it also has the limitation of keeping a different localStorage instance for every website, so you wouldn't be able to access the stored keys/values in SG if you were browsing from Steam, for example. Bad thing about this is that since it's related to your browser's cache, deleting your cache would delete all that information.

So basically, revilheart is using that functionality to store your user notes. Anyone with access to your browser's console, and while browsing SG, if knowing the commands you have to use, could access them. It could also be done by figuring out where does your specific browser store all that information and figuring out the exact file for SG, but I'm clueless on how browsers handle their file system stuff or where do they store things inside their folders.

As a side note for Revilheart, check GM_setValue. I know I sound like a GM/TM fanboy, but I'm really not, it's just that usually their specific implementations are way superior to basic JavaScript xD In particular, this one stores its data on the add-on's files, so it's not cleaned when the user cleans its browser's cache. It also has no limitation on how much you can store, and that data is accessible only within the script, which means that you could store info using that function, and you would be able to access it from Steam, or SG or any other website that the script is allowed to visit instead of being limited by the origin (protocol + domain) like in the localStorage implementation.

1 year ago
Permalink

Comment has been collapsed.

Thanks for explaining and for the suggestion! I'll check it out and see if I can implement it in the next version. :)

1 year ago
Permalink

Comment has been collapsed.

Thanks for the explanation. Would the following summary of pros and cons be accurate?

Pros: Local database means there are no real privacy concerns (as the data is not available online to anyone, not even to revilheart)
Cons: Data isn't accessible to other browsers or other computers; Potential dataloss if the database isn't backed up by the user and the machine is formatted.

Is there a way to use dropbox to host the database online? If so, an risk in multiple browsers accessing the same database at the same time? this could be the best of both worlds.

1 year ago
Permalink

Comment has been collapsed.

No, no, don't think of it as databases. While it's true that Greasemonkey uses a SQLite database to store all its stuff (including all the info about the scripts you are running and such, not just the settings and data for them), they could have used any kind of file or technology to store that kind of information, like a JSON file for example. They just chose to store it in a database along with some other info, but Tampermonkey for example uses a different thing instead of a database to store that same info.

Overall, you are right with your pros and cons, yes, there are more pros and more cons, like security concerns on cons, but you get the idea.

So, as I mention, is not about the database, but about the specific data this script stores in it, that's what you want, not the rest of the stuff, especially not if that would mean having a different type of file for each script manager (again, GM uses a DB to store that info but TM does so in a text file instead). So to make it work, you would need a server online, with access to the Internet and capable of creating and hosting a database. These would be the steps:

  1. You set up all that stuff, plan the database schema, plan how the database it's going to be called, and what tables is it going to have, and what columns will it have and what type of values will those columns accept (think of databases like a book with pages on that book, tables are the pages, databases are actually pretty similar to Excel files if that helps you understand it). Databases on servers online can't be directly accessed, nor physically either. With directly I mean that you can't just go in, find the .db file and open it and look at it, you have to set users, with passwords and permissions to be able to log in and do stuff as long as their account privileges allow it.

  2. So you need some sort of middleman code that will interact with the database from within the server, instead of having that code directly into what the user sees and uses (the script), since to make that connection you need to provide some data, like the host, username and password, and someone with access to that stuff could screw up your whole database. That middleman code should have some methods, like an API to interact with the database, so in this case you would need two methods, one to add the data to the database, and one to retrieve it. You would usually use PHP for this stuff, is the most common, but it depends really, there are a lot of languages that can do this as well, but not all hostings offer support for those other languages, most only do for PHP.

  3. Then the script would just send requests to the website for those methods, one for storing the data when you add a note to someone, and one for retrieving it when you visit someone's profile.

So it would go like this:
> User views a profile, the script realizes that and sends the request to the website to retrieve the information about that user (if any) and display it.
> The request, which could look something like http://api.yirg.com/NoteUsers/GetNote/?user=Sighery would actually trigger a PHP file, with some code in it that would connect to the database, and send the commands to look for info about the user Sighery.
> Database would check the proper table for that info, and search on the user column for Sighery, if it doesn't find it the PHP code should return some kind of empty response, if it does find it, the PHP code should return a response that contains the message, which the script can then pick up and display to you on your browser.

So that would be it, it may sound crazy hard, but it's really not that hard. The PHP files would basically be a very basic API, with just two methods, and the schema for the database shouldn't be that hard either, you would just need a single table with a column for the ID64, and another column for the note. The script would have simplified code since it would only need to retrieve and send data, not actually care about storing it manually and such. Thing is, you would have to worry about setting some kind of protection against stuff like DDoS, or just people figuring out the exact request and inserting false data in your database if you wanted to make this public and not just for yourself.

1 year ago*
Permalink

Comment has been collapsed.

With the new version they are stored in Greasemonkey's SQLite database, like Sighery explained in his last paragraph. :)

1 year ago
Permalink

Comment has been collapsed.

v0.3 Fixed some bugs, made some improvements and added Reply From Inbox feature.

1 year ago
Permalink

Comment has been collapsed.

added Reply From Inbox feature

woah, awesome! that'll certainly come in handy. thanks 4 the update. ^^

1 year ago
Permalink

Comment has been collapsed.

You're welcome! ^^

1 year ago
Permalink

Comment has been collapsed.

Just installed this and checked it. Neat. Absolutely like reply from inbox.

can you incorporate whitelist/blacklist indicator? I think there was a script, but it was no longer updated, I had to manually fix it. Well, it's working now, but with additional script like endless scrolling it only works for the first page.

If this request isn't suitable for your script, please disregard. Thank you.

1 year ago
Permalink

Comment has been collapsed.

Glad you liked it. :) I'll see what I can do and get back to you later.

1 year ago
Permalink

Comment has been collapsed.

Added the Whitelist / Blacklist feature. It should be working with endless scrolling, let me know if it's not.

1 year ago
Permalink

Comment has been collapsed.

Damn sir it's so nice. xD

Yes it works. Thanks alot!

1 year ago
Permalink

Comment has been collapsed.

Perfect! xD

1 year ago
Permalink

Comment has been collapsed.

v0.4 Changed the location of the permanent notes from the browser's local storage to Greasemonkey's SQLite database. If you had already saved any notes in the previous versions, they will be automatically transferred to the new location.

1 year ago
Permalink

Comment has been collapsed.

questions on this one. i know sighery stated "not cleaned when the user cleans its browser's cache" however, now this brings up another couple questions.. what is associating that sql db to me? would this new feature also be impervious to a full wipe and re-installation of an operating system, as well as would it be multiple-pc friendly now (at work pc's notes will now also be linked to home pc's notes)?

1 year ago
Permalink

Comment has been collapsed.

The only thing that can survive a full wipe (let's assume it's a real full wipe, which is actually not that easy to do) is if you backed up your data on either the cloud or some sort of separated storage device that is not connected to the one you are going to erase. I think TM allows exporting your scripts and data into a text file and then import it into another PC? But I'm not quite sure of how much does it export, if just the scripts' code or the data and settings each one stores as well, and I'm not sure if any of the other script managers offer this functionality either.

What you are suggesting, having info sync up on different computers, would require a third-party server holding all that information and serving it to you when you/the script asks for it.

1 year ago
Permalink

Comment has been collapsed.

okay, so "Greasemonkey's SQLite database" is a local-file of a sort also then i guess. when i think "sql" I instantly think online database, but clearly that's not the case here. it wasn't meant as a suggestion really, it was just me assuming it was online stored now and that was what was making it "not get removed upon a browsers cache wipe" which in turn would of already made it able to be cross-pc accessible.

honestly that's the only way i'd actually trust "notes" is if they were constantly clouded/databased/whatever online.. still using this script for other features, but i'd never trust a local-file if my life depended on it.

edit: oh and on the export/import, it does import the actual scripts and the load order, but none of the local storage files for any of the prior scripts i've used. not sure with this syle of localstorage though compared to others. (i'd assume same though)

1 year ago*
Permalink

Comment has been collapsed.

when i think "sql" I instantly think online database

Not at all. SQL by itself is the query language (not really considered programming language) that most popular databases use, note that I'm not mentioning here whether those databases are local or online. There are also non-SQL databases, that use JavaScript to make the queries, like MongoDB, but I might be wrong here since I don't have any experience with those. Databases can be hosted online, on some server connected to the Internet, or locally, like the .db file ASF stores, that's a database as well.

honestly that's the only way i'd actually trust "notes" is if they were constantly clouded/databased/whatever online.. still using this script for other features, but i'd never trust a local-file if my life depended on it.

It depends really, it's not like the cloud is the solution for everything, it has its cons as well. It depends on what you want to achieve and what you have, if you have a super fast Internet and an unlimited data plan for your phone then yeah, you'll probably use cloud-based stuff since it's just more comfortable than storing stuff locally on external HDDs, pendrives and such and carrying those around.

It could be modified relatively easilyy to add the cloud functionality though. I'm guessing Revilheart has a reason to not do so, but overall would be creating a new database, a few PHP files to interact with the database, sort of like an API middleman, and then the script would just call those PHP files that would be in charge of storing/retrieving data.

But, as I say, I'm guessing Revilheart doesn't do it for a reason. I would, but I can't really say how much longer I'll be able to pay for my current hosting without a job, so I wouldn't make anything that relies on my own hosting without having that clear first. But if I remember right you said you had your own hosting and domain, right? You could use your own stuff for what I mention.

1 year ago
Permalink

Comment has been collapsed.

i knew they could be a local storage file too, but my mind just instantly goes online with todays technology. no logical reason for that though.

idk why a unlimited phone internet is needed in order to use a cloud though. i don't even touch the phones internet. ;) i don't see how someone would tear thru their internet plan simple saving a few bytes of data unless they plan on typing up full blown biographies as notes for people. but i understand why it would be a localfile.. i just learned long ago after many family photos went corrupt from hdd failure not to trust technology that isn't backing itself up elsewhere if it's something i care about.. so a simple .txt saved to dropbox or any other cloud i trust far more then a localfile on my drive (even ssd). --when i say trust, i mean i trust it to exist at a later date, not that i trust the security and privacy of it so much.

idk anything really about the coding, just enough to scrape by when told what to edit. but thats about it tbh. this whole question was really more just for curiosity on how "permanent" it was because a online stored db would be the most amount of "permanent" you can really get versus the localfile that imo isn't so permanent. to be perfectly honest i don't even know what notes i'd type up, so it be no means needs to be tailored to my needs.. but that does sound cool for anyone that would want that. for me if anything all i'd need to know is what the filename is and where and i could add it to cloud backup itself. would be easier then even customizing the script.

oh and yes i do have two domains and their free hosting service that comes with them. but we discovered it isn't nearly as good as it used to be in bandwidth.

1 year ago
Permalink

Comment has been collapsed.

for me if anything all i'd need to know is what the filename is and where and i could add it to cloud backup itself. would be easier then even customizing the script.

It's not that easy, sadly, check my reply to Yirg if you want to read more. Beware, long text.

idk why a unlimited phone internet is needed in order to use a cloud though

Well, yeah, if you are just going to use the cloud you most likely won't need it, but if you tend to do other stuff, your data plan may just fall short and then you would have no data left to use for the cloud stuff, I mean... That's what a friend told me... It's not like I waste all my data watching videos and basically using it as if it was my laptop at home... xD

1 year ago
Permalink

Comment has been collapsed.

but on the phone part you're talking about for people that actually use a phone. i have a prepaid phone that i only have used 100mb's in 10months out of the 1.3gb's i had for the full year.

i'm dsl and afaik (was talk about it changing, but i don't think it has) still no bandwidth limit at all. and i go nowhere really at all. xD

1 year ago
Permalink

Comment has been collapsed.

Well, lucky you, this month I spent like 600MB on the browser alone (actually even more, about 100-150 more that aren't listed there), not even counting stuff like Youtube and such so... Yeah, you don't seem to have my problem xD

View attached image.
1 year ago
Permalink

Comment has been collapsed.

Well, the new version allows you to import / export your notes, so you can choose your Dropbox folder as destination and use that as backup. Of course it's a manual process through.

1 year ago
Permalink

Comment has been collapsed.

ahh nice update! that pretty much does solve that. =)

1 year ago
Permalink

Comment has been collapsed.

I have a free hosting, so that's not suitable for something like this. I was going to use it for my Preview Posts feature, but it was often down, and the request limits could be an issue. Even the Username History feature could use a database that's not a Google Sheet. :P I guess maybe in the future if I can, but "permanent" is really just related to sticking to someone if they change their username, which is something other tagging scripts don't do afaik.

1 year ago
Permalink

Comment has been collapsed.

and the request limits could be an issue

Most likely. Ruphine wrote some PHP code to check and keep a JSON list of all the games on the bundled list for his SG Game Tags script, and tried to host it on a free hosting plan. Basically... It didn't end well, he hit the requests limit immediately xD

If I was sure I would be able to pay for my domain another year more and for the hosting once it ends (they'll both end around the end of January) I would have offered you to host whatever PHP you might have needed for the Username History feature and a DB to store all that info, as long as you do some data modelling and stuff and don't just store replicate data of course :P but yeah, not sure it will last too long, which is a shame because I was working on something pretty cool for SG, but oh well, hopefully I can get a job by then?

1 year ago
Permalink

Comment has been collapsed.

Yeah, that's what I thought. Just from some quick testing I managed to use 0.5% of my limit, so I decided to just rewrite Parsedown in Javascript. Plus Google Sheets is holding well for the Username History, so it's not that urgent. Google's limits are pretty good. I appreciate the thought tough. Me too, let's hope we get a job in 2017. xD

1 year ago
Permalink

Comment has been collapsed.

v0.5 Added Whitelist / Blacklist Highlighter feature.

1 year ago
Permalink

Comment has been collapsed.

Oooh thanks for the notes! :)

1 year ago
Permalink

Comment has been collapsed.

You're welcome! :)

1 year ago
Permalink

Comment has been collapsed.

I would be more happy if you have the feature to check ur whitelist for an specific game

also love the reply from inbox feature already!

1 year ago
Permalink

Comment has been collapsed.

That one is coming soon. :)

1 year ago
Permalink

Comment has been collapsed.

Ugh, hate chiming in yet again, feel like I've done that enough for today, but there's already a script for that, SteamGifts Library Checker ^^

I mean, nothing wrong with making your own version, just saying that there's one already in case you didn't know and that's why you're making yours.

1 year ago
Permalink

Comment has been collapsed.

Does it only count how many people own it or actually shows the members? The reason I was going to do it is because someone was asking for it in a thread, to show the list of people, not just the number, like what that site "mabako" or something does for groups.

1 year ago
Permalink

Comment has been collapsed.

Not yet as far as I know (show the individual list I mean). But I'm not really up to date with his project, he might have that feature on the beta branch already. All I know for sure is he had it listed it on the TODO list but that's about it :X

1 year ago
Permalink

Comment has been collapsed.

Hmm I might put that feature off then. Don't want to discredit his work if he has plans for it.

1 year ago
Permalink

Comment has been collapsed.

Well, what's wonderful about these scripts is that they are open source, and Gaffi keeps his on a GitHub repo, so you could go in, fork it, add the code for it and send a pull request if you feel like it :P

Didn't mean it as you shouldn't though, it's not like there is a rule to prevent having different scripts with the same functionality, I was saying just in case you were doing it because you thought it hasn't been done before. You should check the Registry in those cases, it's not totally up to date, but the dev community here is awesome, there are literally a ton of scrips to change SG to your liking.

1 year ago
Permalink

Comment has been collapsed.

Thanks for letting me know, we'll see. :P

1 year ago
Permalink

Comment has been collapsed.

v0.6 Fixed some bugs, made some improvements and added Settings Menu feature.

1 year ago
Permalink

Comment has been collapsed.

Just submitted a reply via the notifications page, it said it was successful but the reply actually didn't register.
Does this script auto-update or I should update it manually?

1 year ago
Permalink

Comment has been collapsed.

I got auto update when I woke up. At least it worked for me.

1 year ago
Permalink

Comment has been collapsed.

Hmm I have an idea to prevent that, will test it later. The script should auto-update.

1 year ago
Permalink

Comment has been collapsed.

I just pushed a new version, it should be fixed now.

1 year ago
Permalink

Comment has been collapsed.

Again tried to send you a reply, didn't send it. Strange. Maybe it hasn't auto-updated on my side yet?

1 year ago
Permalink

Comment has been collapsed.

Did it show "Reply sent!" though? Can you try manually updating?

1 year ago
Permalink

Comment has been collapsed.

It did. I'll try updating manually, if you can send me a reply for tasting purpose that would be neat. :P

1 year ago
Permalink

Comment has been collapsed.

You should be able to click in "Reply sent!" and go to the reply since v0.7.

1 year ago
Permalink

Comment has been collapsed.

Testing.
[Edit] Works now, thanks!

1 year ago
Permalink

Comment has been collapsed.

Perfect! By the way, when you were sending the replies before and they weren't coming through, were your messages marked as read?

1 year ago
Permalink

Comment has been collapsed.

I don't think so, no.

1 year ago
Permalink

Comment has been collapsed.

Ah 'cause prior to v0.8 the replies didn't go through if all the messages were marked as read. Looks like your problem was different then.

1 year ago
Permalink

Comment has been collapsed.

Also, I'm having a new problem. Every single time I refresh/load up the forum page, it loads up, freezes for a second, and this message pops up (see attached image). I'm not sure how scripts work, but it says Chrome and I user Firefox, so yeah.

It happens right after the whitelist/blacklist notifications appear on usernames.

View attached image.
1 year ago
Permalink

Comment has been collapsed.

Do you have a lot of people on your whitelist / blacklist? I experienced a few freezes while endlessly scrolling, but not just by opening the forum. But then again I only added a few people to my whitelist to test it. That might be the issue. I'll see if I can improve my code to prevent those freezes. You can disable the Whitelist / Blacklist Highlighter feature in the settings menu if you want.

1 year ago
Permalink

Comment has been collapsed.

Just counted, I currently have 25 whitelists on page 1 of the forum (no endless scrolling).

1 year ago
Permalink

Comment has been collapsed.

Hmm I had way more than that on page 1 and didn't freeze. I'll have to do some testing.

1 year ago
Permalink

Comment has been collapsed.

out of curiosity are you using firefox+tampermonkey or firefox+greasemonkey?

@revilheart -- same for you on your testing... maybe that could be why some stuffs working on tests but not for jbond?

1 year ago
Permalink

Comment has been collapsed.

Greasemonkey.

1 year ago
Permalink

Comment has been collapsed.

ahh okay, not even sure there would of been a diff, but if i had to guess i think that'd be the one that most people use still for firefox and likely was what revil used for testing as well.

1 year ago
Permalink

Comment has been collapsed.

Hmm I didn't even know there was Tampermonkey for Firefox. :P But I think the issue was really my code, it was crappy made: every time you opened a page on SteamGifts it would scan your whitelist / blacklist, filter every single link in the page looking for the usernames, and then highlight them. Now it only scans your whitelist / blacklist every number of days or manually (you can configure this in the settings menu), and it no longer filters every single link in the page. So I think jbond won't be having this problem anymore, or at least I hope so. :)

1 year ago
Permalink

Comment has been collapsed.

i only recently heard someone else mention using TM on firefox, prior to that i didn't either. i'd imagine it's pretty new and not as good as greasemonkey would be for it (yet at least). & nice on that update, i didn't realize it was scanning that much before, but glad you got that worked out. ^^

1 year ago
Permalink

Comment has been collapsed.

I think there's another one too called Violentmonkey .

A friend uses it and said it's good for his needs..

3 months ago
Permalink

Comment has been collapsed.

Well, this is old. And yes, I'm aware of Violentmonkey.

3 months ago
Permalink

Comment has been collapsed.

Just pushed an update. Let me know if it's still freezing. :)

1 year ago
Permalink

Comment has been collapsed.

No more crash, but freezes for 5 to 10 seconds every time I visit the forum page - needless to say, I'm going to disable that setting again for now. :P

1 year ago
Permalink

Comment has been collapsed.

Your current version is v1.3+? If so, I'm starting to think it might be conflicting with another one of your scripts, because I added more than 50 people from page 1 of the discussions to my whitelist and tested on Firefox, it works fine here. And apparently this hasn't affected other people who posted in this thread.

1 year ago
Permalink

Comment has been collapsed.

Argh, sorry, it hadn't auto-updated so I re-installed it. Now it won't freeze, but it also won't display whitelist/blacklist highlighter at all, even when enabled. :/

1 year ago
Permalink

Comment has been collapsed.

The first scan has to be manual, I forgot to add that to the settings page. Just click on the scan button and it should start showing.

1 year ago
Permalink

Comment has been collapsed.

Ah, I see. It works now, but unfortunately there is still a freeze/delay of around five seconds when I refresh my page. Doesn't matter much though, I don't really care for this setting so I can just disable it.

1 year ago
Permalink

Comment has been collapsed.

Ah that's unfortunate. :/ Well if you do become interested in this feature in the future, I'd recommend disabling all other scripts you have running and see if it still freezes. :)

1 year ago
Permalink

Comment has been collapsed.

Here I am bugging you again, but... I just pushed an update that I think will not have that problem anymore, so could you maybe possibly test it? :)

1 year ago
Permalink

Comment has been collapsed.

Sure. By the way, the scan thing says "Last scanned 12/31/1969, 8:00:00 PM." :P

1 year ago
Permalink

Comment has been collapsed.

That should be fixed the next time you scan it. :P

1 year ago
Permalink

Comment has been collapsed.

It now works perfectly fine. Thanks!

1 year ago
Permalink

Comment has been collapsed.

Yay, awesome!

1 year ago
Permalink

Comment has been collapsed.

Whitelist parsing is only returning first and last page, better start whitelisting/blacklisting a bunch of peeps ( for science ⚛ )

1 year ago
Permalink

Comment has been collapsed.

Looks like my logic is flawed. Will fix it later, thanks.

1 year ago
Permalink

Comment has been collapsed.

It's fixed in the new version. It was a silly mistake of re-using variables. :P

1 year ago
Permalink

Comment has been collapsed.

v0.7 Fixed a bug in the Settings Menu feature that had all features disabled upon first use. Fixed a bug in the Reply From Inbox feature that showed the success message when the reply had not been sent (the reply is now also linked in the message). Fixed a bug in the Whitelist / Blacklist Highlighter feature that only retrieved members from the first and last pages.

1 year ago
Permalink

Comment has been collapsed.

Yay! =) much better.. now almost everyone on this topic has a heart next to them. ^^
(coincidence??? i think not!!! xD)

1 year ago
Permalink

Comment has been collapsed.

Haha xD

1 year ago
Permalink

Comment has been collapsed.

v0.8 Fixed a bug in the Reply From Inbox feature that did not send a reply if all the messages had been marked as read.

1 year ago
Permalink

Comment has been collapsed.

v0.9 Actually now fixed the bug in the Settings Menu feature that had all features disabled upon first use and added Better Archive Search feature.

1 year ago
Permalink

Comment has been collapsed.

Aaaaaand finally added it to the Registry :D

Took me a while, I usually wait about a week or a month to update it because my laptop lags when trying to edit the thread, and that annoys me tremendously, so I don't do it often. I should really write some script or something to update automatically so I don't have to deal with that and can update faster. Ah, c'est the developer life, busy, always busy @_@

1 year ago
Permalink

Comment has been collapsed.

Thanks! xD

Yeah, you really should. :P I know, this userscript has been way more time consuming than I thought it would be. I've been busy busy busy.

1 year ago
Permalink

Comment has been collapsed.

v1.0 You can now reply to multiple comments at the same time in the Reply From Inbox feature, and a status message has been added to alert failures.

1 year ago
Permalink

Comment has been collapsed.

Is there a chance this script to be ported for ST?

1 year ago
Permalink

Comment has been collapsed.

Yes, there is. Coming in the next version. :)

1 year ago
Permalink

Comment has been collapsed.

Better Comment Chains and Reply From Inbox features are now supported in SteamTrades. Whitelist / Blacklist Highlighter support is coming soon.

1 year ago
Permalink

Comment has been collapsed.

Sign in through Steam to add a comment.