// ==UserScript== // @name SteamRedeemKeys // @namespace https://gist.github.com/zyfworks/ccb12bd87f09cf49d0a3465d167bece9 // @version 1.3 // @description Steam网页激活 —— 批量激活 // @author Makazeu // @match https://store.steampowered.com/account/registerkey // @grant GM_addStyle // @downloadURL none // ==/UserScript== (function() { 'use strict'; var keyCount = 0; var failureDetail = { 14: '无效激活码', 15: '重复激活', 53: '次数上限', 13: '地区限制', 9: '已拥有', 24: '缺少主游戏', 36: '需要PS3?', 50: '这是充值码', }; var myTexts = { fail: '失败', success: '成功', network: '网络错误或超时', line: '——', nothing: '', others: '其他错误', unknown: '未知错误', redeeming: '激活中', }; function redeemKey(key) { jQuery.ajax({ url: 'https://store.steampowered.com/account/ajaxregisterkey/', data: { product_key: key, sessionid: g_sessionID }, type: 'post', dataType: 'json', timeout: 150000, beforeSend: function(){ if (jQuery('table').is(':hidden')) { jQuery('table').fadeIn(); } tableInsertKey(key); }, complete: function() { jQuery('#buttonRedeem').fadeIn(); jQuery('#inputKey').removeAttr('disabled'); }, error: function() { tableUpdateKey(key, myTexts.fail, myTexts.network, 0, myTexts.nothing); return; }, success: function(data) { console.log(data); if (data.success == 1) { tableUpdateKey(key, myTexts.success, myTexts.line, data.purchase_receipt_info.line_items[0].packageid, data.purchase_receipt_info.line_items[0].line_item_description); return; } else if (data.purchase_result_details !== undefined && data.purchase_receipt_info) { if (!data.purchase_receipt_info.line_items[0]) { tableUpdateKey(key, myTexts.fail, failureDetail[data.purchase_result_details] ? failureDetail[data.purchase_result_details] : myTexts.unknown, 0, myTexts.nothing); } else { tableUpdateKey(key, myTexts.fail, failureDetail[data.purchase_result_details] ? failureDetail[data.purchase_result_details] : myTexts.unknown, data.purchase_receipt_info.line_items[0].packageid, data.purchase_receipt_info.line_items[0].line_item_description); } return; } tableUpdateKey(key, myTexts.fail, myTexts.others, 0, myTexts.nothing); } }); } function tableInsertKey(key) { keyCount++; var row = jQuery('
' + key + '
' + subId + '
' + subName + '