This is a collection of userscripts to aid in using Steam and doing things you can't do with the normal features.
Most of these scripts need to be executed while on a specific page using your browser's console.
Beneath all the scripts it is specifically stated where you have to be, but in all cases you need to be in a browser window and NOT the Steam client window.
It does not matter whether it's Chrome, Firefox or any other browser.
Some scripts can also be executed from this page, then you only need to fill in some basic details like Steam ID and the rest gets done for you.
There are multiple ways to open the console: either press F12, the combination CTRL + SHIFT + J or simply right click anywhere on the page and press Inspect Element.
In all cases, a new (sub)window will show up. Make sure that the Console tab is selected.
If you have any requests or need to contact me you can do so via Steam or create an issue on the GitHub repo.
This script removes the featured badge on the top right of your profile.
For this script you need to be on the "Edit Profile" screen, but it does not matter on which edit screen you're actually on.
Alternatively, you can also
click this link and it should automatically take you to the correct location.
Run this script in the console and then check out your profile, the badge should be gone!
/*
Steam Featured Badge Remover
Author: DvD / rogerxiii
https://steamtools.rogerxiii.com/
*/
const formData = new FormData();
formData.append('input_protobuf_encoded', '');
const xhr = new XMLHttpRequest();
const token = JSON.parse(document.getElementById('profile_edit_config').readAttribute('data-profile-edit')).webapi_token;
xhr.open('POST', 'https://api.steampowered.com/IPlayerService/SetFavoriteBadge/v1?access_token=' + token);
xhr.send(formData);
This script removes the location on your profile, including country and flag.
For this script you need to be on the "General" tab of the "Edit Profile" screen.
Alternatively, you can also
click this link and it should automatically take you to the correct location.
Run this script in the console and then check out your profile, the location should be gone!
/*
Steam Profile Location Remover
Author: DvD / rogerxiii
https://steamtools.rogerxiii.com/
*/
const formData = new FormData();
const profile_data = JSON.parse(document.getElementById('profile_edit_config').readAttribute('data-profile-edit'));
formData.append('sessionID', g_sessionID);
formData.append('type', 'profileSave');
formData.append('weblink_1_title', '');
formData.append('weblink_1_url', '');
formData.append('weblink_2_title', '');
formData.append('weblink_2_url', '');
formData.append('weblink_3_title', '');
formData.append('weblink_3_url', '');
formData.append('personaName', profile_data.strPersonaName);
formData.append('real_name', profile_data.strRealName);
formData.append('customURL', profile_data.strCustomURL);
formData.append('country', '');
formData.append('state', '');
formData.append('city', '');
formData.append('summary', profile_data.strSummary);
formData.append('json', '1');
const xhr = new XMLHttpRequest();
xhr.open('POST', location.href.substr(0, location.href.lastIndexOf('/') + 1));
xhr.send(formData);
This script dumps a list of all your (semi-)completed badges into the console.
Customizable with 4 variables.
This script can also be executed from this page. Please fill in the desired Steam ID or custom ID and customize to your liking.
See the comments in the script below to see what the customization variables mean.
Status:
idle
Show Results
Make sure you are on the badges page with "Sort by" being set to "Completed".
You can check this by seeing a
?sort=c at the end of the url.
Run this script while on that page in the console and the progress and results will be printed in the console.
/*
Steam Completed Badges Dumper
Author: DvD / rogerxiii
https://steamtools.rogerxiii.com/
*/
// Customizations:
const dump_uncompleted_badges = true; // Set this to true to dump badges that are uncompleted (less than level 5)
const dump_completed_badges = false; // Set this to true to dump badges that are completed (level 5)
const ignore_no_level_badges = true; // Set this to true to ignore badges that don't have a level, i.e. "Years of Service"
const show_badge_level = true; // Set this to true to display the current badge level behind the game name in the dump
// ----------------------------------------------------------------------------------------------------------------
const links = document.getElementsByClassName('pageLinks')[0];
const pages = (links === undefined ? 1 : parseInt(links.children[links.children.length - 2].innerText));
var current = 1;
const result = [];
function loop_badges() {
console.log('Getting page ' + current + '/' + pages + '...');
const url = location.origin + location.pathname + '?sort=c&p=' + current;
const xhr = new XMLHttpRequest();
xhr.addEventListener('load', do_page);
xhr.open('GET', url);
xhr.send();
function do_page(event) {
const doc = (new DOMParser()).parseFromString(event.target.response, 'text/html');
const badges = doc.getElementsByClassName('badge_row_inner');
for (var i = 0; i < badges.length; ++i) {
if (badges[i].children[0].children[1] === undefined) {
if (!ignore_no_level_badges) {
title = badges[i].children[0].children[0].innerText.substr(10);
title = title.substr(0, title.search('\t'));
result.push(title);
}
continue;
}
var title = badges[i].children[0].children[1].innerText.substr(10);
const is_foil = (title.search('Foil Badge') != -1);
title = title.substr(0, title.search('\t'));
var level = badges[i].children[2].children[0].children[0].children[1].children[1].innerText.substr(26);
level = level.substr(0, level.search(','));
const completed = (level.charAt(level.length - 1) === '5') || is_foil;
if ((completed && !dump_completed_badges) || (!completed && !dump_uncompleted_badges)) continue;
result.push(title + ' - ' + level);
}
if (++current <= pages) loop_badges();
else {
console.log('*** List generated at https://steamtools.rogerxiii.com/ ***\n' + result.sort().join('\n'));
if (result.length === 0) console.log('No badges found matching criteria!');
}
}
}
loop_badges();