var checkable_accounts = { '76561198311319887': 'Weapon Crusher' }; var ignorable_accounts = ['76561198042562877', '76561199193118161', '76561199090583973', '76561198103306049', '76561198093294992', '76561198109434661', '76561198080691777', '76561199209645193', '76561198176218038', '76561198257334931', '76561198931095630', '76561198131872819', '76561198992992515', '76561199212467171', '76561198077063170', '76561198425401222', '76561198894975185', '76561198838991191', '76561198340433719', '76561198013043575', '76561199065090344', '76561198268232003', '76561199048217964', '76561199530159630', '76561198127485269', '76561198342313822', '76561198312709731', '76561199233501388', '76561198284551661', '76561198272789816', '76561199480386464', '76561199571032477', '76561198837917799', '76561198983391628', '76561198403393033', '76561199182466000']; var ignored_accounts = []; decaled_objects = { 'Conscientious Objector': '4.66' } // 'Clan Pride': '2.11', 'Flair!': '4.22', 'Photo Badge': '2.44' backpack_page_limit = 10; function fetchAccounts() { for (const [item, price] of Object.entries(decaled_objects)) { handleItem(item, price); } } function handleItem(item, price) { var stop = false; for (let i = 1; i <= backpack_page_limit; i++) { var url = 'https://backpack.tf/classifieds'; var data = 'page=' + i + '&item=' + encodeURIComponent(item) + '&quality=6&tradable=1&craftable=1&australium=-1&killstreak_tier=0&numeric=price&comparison=lt&value=' + price + '&low=' + price; $.ajax({ dataType: 'html', url: url, data: data, tryCount: 0, retryLimit: 10, success: function (msg) { if ($('.col-md-6:first .alert', msg).length > 0) { stop = true; return false; } $('.col-md-6:first .user-link', msg).each(function () { var steam_id = $(this).attr('data-id'); var steam_name = $(this).attr('data-name'); if (ignorable_accounts.includes(steam_id)) { if (!ignored_accounts.includes(steam_id)) { var ignore_accounts = $('#ignored-accounts'); ignore_accounts.append(getHiddenAccountLink(steam_id, steam_name) + '; '); ignore_accounts.fadeIn(); ignored_accounts.push(steam_id); } } else if (!(steam_id in checkable_accounts)) { handleAccount(steam_id, steam_name); checkable_accounts[steam_id] = steam_name; } }); }, error: function (response, status, error) { if (response.status == 429) { this.tryCount++; if (this.tryCount <= this.retryLimit) { setTimeout(() => { $.ajax(this); }, 3000 + i * 300 + this.retryCount * 70 + Math.floor(Math.random() * 1000)); return; } } } }); if (stop) { break; } } } function handleAccounts() { for (const [steam_id, steam_name] of Object.entries(checkable_accounts)) { handleAccount(steam_id, steam_name); } } function handleAccount(steam_id, steam_name) { var url = "https://backpack.tf/_inventory/" + steam_id; $.ajax({ dataType: 'json', url: url, tryCount: 0, retryLimit: 30, success: function (msg) { handleHTML(steam_id, steam_name, msg['html']); }, error: function (response, status, error) { this.tryCount++; if (this.tryCount <= this.retryLimit) { setTimeout(() => { $.ajax(this); }, 3000 + this.tryCount * 40 + Math.floor(Math.random() * 1000)); return; } } }); } function getHiddenAccountLink(steam_id, steam_name) { return '' + steam_name + ''; } function previewFilteredItem() { $('li', $(this)).fadeIn(100) } function hideFilteredItem() { $('li', $(this)).fadeOut(100) } function handleHTML(steam_id, steam_name, html_string) { var html = $.parseHTML(html_string); var filtered_item_count = 0; var filtered_item_previews = []; var decaled_items = $('div.decal', html); if (decaled_items.length == 0) { var empty_accounts = $('#empty-accounts'); empty_accounts.append(getHiddenAccountLink(steam_id, steam_name) + '; '); empty_accounts.fadeIn(); return false; } var inventory = $('
'); inventory.append('