About

The TF2 Outpost Automatic Trade Bumper is a userscript that will automatically bump your listed trades on tf2outpost.com. By leaving your Trades tab open, the script will bump each trade on a half-hour timer so that you don't have to!

If you find that this userscript no longer works, you may contact the developer to have it updated. Userscripts may stop functioning whenever the website for which they were created is updated.

How Does It Work?

It's a very simple, small, and open-source userscript. Approximately every 30 minutes, the page is checked for links with the class name trade-bump. Any links found with this class name are automatically clicked, and the trade is resultingly bumped!

Transparency

Using a script to automatically bump trades on TF2Outpost is a bannable offense. If you use this userscript, you are doing so at your own risk. To automatically bump your trades without risking a ban, you need to upgrade to a premium account by purchasing a monthly subscription.

Download & Install

NameTF2 Outpost: Automatic Trade Bumper
Namespacehttps://www.charlesstover.com/userscripts/tf2outpost-bumper
AuthorCharles Stover
DescriptionAutomatically bumps trades on TF2 Outpost.
File Size3,057 bytes
Last Modified09 Nov. 2016
Version1.73
URLs
  • http://www.tf2outpost.com/maintenance
  • http://www.tf2outpost.com/trades
Download

Open Source

// ==UserScript==
// @name        TF2 Outpost: Automatic Trade Bumper
// @namespace   https://www.charlesstover.com/userscripts/tf2outpost-bumper
// @author      Charles Stover
// @description Automatically bumps trades on TF2 Outpost.
// @downloadURL https://www.charlesstover.com/tf2outpost-bumper.user.js
// @grant       none
// @icon        http://i.imgur.com/yWmkvfp.png
// @match       http://www.tf2outpost.com/maintenance
// @match       http://www.tf2outpost.com/trades
// @updateURL   https://www.charlesstover.com/tf2outpost-bumper.meta.js
// @version     1.73
// ==/UserScript==

// Refresh every 15 minutes if the website is under maintenance.
if (location.href.match(/\/maintenance$/))
	setTimeout(
		function() {
			location.href = "/trades";
		},
		1000 * 60 * 15
	);

// Refresh every 1 minute if the website is unavailable.
else if (
	document.title == "Website is currently unavailable" ||
	document.title.match(/\/ 503$/) ||
	document.title.match(/Connection timed out$/)
)
	setTimeout(
		function() {
			location.href = "/trades";
		},
		1000 * 60
	);

// Trades
else if (location.href.match(/\/trades$/))

	window.addEventListener(
		"load",
		function() {

			// Auto-Bump.
			var as = document.getElementsByTagName("a"),
				x;
			for (x = 0; x < as.length; x++) {
				if (as.item(x).className == "trade-bump") {
					var event = document.createEvent("HTMLEvents");
		   			event.initEvent("click", true, true);
		   			as.item(x).dispatchEvent(event);
				}
			}

			// Refresh time: 31-34 minutes
			var minutes = 31 + Math.floor(Math.random() * 4);
			window.tf2oatb = 60 * minutes;

			// Refresh text.
			var refreshText = document.createElement("div");
			refreshText.className = "widget";
			refreshText.setAttribute("id", "tf2o-atb");
			refreshText.innerHTML = '<div style="color: rgba(255, 255, 255, 0.1); float: right;">&copy; Charles Stover<\/div>' +
				'<a href="//www.charlesstover.com/userscripts/tf2outpost-bumper" target="_blank" title="TF2 Outpost: Automatic Trade Bumper Userscript">Automatic Trade Bumper<\/a>: &nbsp; ' +
				'Bumping in <span id="tf2o-atb-m">' + minutes + '<\/span> minute<span id="tf2o-atb-ms">s<\/span>, ' +
				'<span id="tf2o-atb-s">00<\/span> second<span id="tf2o-atb-ss">s<\/span>.';
			var main = document.getElementsByClassName("main-column").item(0);
			main.insertBefore(refreshText, main.firstChild);

			// Start the timer.
			setInterval(
				function() {
					if (window.tf2oatb) {
						window.tf2oatb--;
						var m = Math.floor(window.tf2oatb / 60),
							s = window.tf2oatb % 60;
						document.getElementById("tf2o-atb-m").innerText  = m;
						document.getElementById("tf2o-atb-ms").innerText = m == 1 ? "" : "s";
						document.getElementById("tf2o-atb-s").innerText  = s;
						document.getElementById("tf2o-atb-ss").innerText = s == 1 ? "" : "s";
					}
				},
				1000
			);
			setTimeout(
				function() {
					window.location.reload();
				},
				minutes * 60000
			);
		}
	);