Redeem Steam Key

Redirect to Steam Register Key page when copying key

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Redeem Steam Key
// @namespace    https://savagecore.eu
// @version      0.1.0
// @description  Redirect to Steam Register Key page when copying key
// @author       SavageCore
// @include      *
// @grant        GM_openInTab
// ==/UserScript==
//
/* global document window GM_openInTab */

(function () {
	'use strict';

	// Automatically accept Steam Subscriber Agreement
	if (window.location.href.match(/^https?:\/\/store.steampowered.com\/account\/registerkey/)) {
		const ssaElem = document.getElementById('accept_ssa');
		if (ssaElem) {
			ssaElem.checked = 'checked';
		}
	} else {
		const activateProduct = function (e) {
			const productKey = window.getSelection().toString().trim() || e.target.value;
			let m;
			if ((m = /^[\d\w]{2,5}(-[\d\w]{4,5}){2,4}$/.exec(productKey)) !== null) {
				// GM_openInTab so that the 'popup' is not blocked by browser
				GM_openInTab('https://store.steampowered.com/account/registerkey?key=' + m[0]); // eslint-disable-line new-cap
			}
		};

		window.addEventListener('copy', activateProduct, false);
	}
})();