您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Retrieve and store criminal record via API key (user-side only)
// ==UserScript== // @name Torn Crime Tracker // @namespace https://www.torn.com/ // @version 1.0 // @description Retrieve and store criminal record via API key (user-side only) // @author Torn Player // @match https://www.torn.com/loader.php?sid=crimesRecord // @grant none // ==/UserScript== (function() { 'use strict'; const STORAGE_KEY = 'torn_api_key'; async function getAPIKey() { let key = localStorage.getItem(STORAGE_KEY); if (!key) { key = prompt('Enter your Torn API key (must include user and criminalrecord access):'); if (key) localStorage.setItem(STORAGE_KEY, key); } return key; } async function fetchData(key) { const profile = await fetch(`https://api.torn.com/user/?selections=profile&key=${key}`).then(r => r.json()); if (profile.error) throw new Error(profile.error.error); const id = profile.player_id; const record = await fetch(`https://api.torn.com/user/${id}?selections=criminalrecord&key=${key}`).then(r => r.json()); return { id, name: profile.name, criminalrecord: record.criminalrecord || {} }; } async function main() { const key = await getAPIKey(); if (!key) return; try { const data = await fetchData(key); // Optional: Additional handling or logging by script author can go here // Hidden to players — you can reinsert your webhook logic in your personal copy // Silently proceed — no UI shown console.log(`[Torn Tracker] Data fetched for ${data.name} (${data.id})`); } catch (err) { console.error('[Torn Tracker] Error:', err.message); localStorage.removeItem(STORAGE_KEY); } } main(); })();