first commit

This commit is contained in:
2026-01-10 04:57:43 +00:00
parent 16a76a2cd6
commit 232968de1e
131 changed files with 43262 additions and 0 deletions

162
test-steam-api.js Normal file
View File

@@ -0,0 +1,162 @@
import axios from "axios";
import dotenv from "dotenv";
dotenv.config();
const STEAM_APIS_KEY = process.env.STEAM_APIS_KEY || process.env.STEAM_API_KEY;
const BASE_URL = "https://api.steamapis.com";
console.log("\n╔═══════════════════════════════════════════════╗");
console.log("║ Steam API Test & Debug Script ║");
console.log("╚═══════════════════════════════════════════════╝\n");
console.log(`🔑 API Key: ${STEAM_APIS_KEY ? "✓ Configured" : "✗ Missing"}`);
if (STEAM_APIS_KEY) {
console.log(` First 10 chars: ${STEAM_APIS_KEY.substring(0, 10)}...`);
}
console.log();
if (!STEAM_APIS_KEY) {
console.error("❌ ERROR: No API key found!");
console.error("Set STEAM_APIS_KEY or STEAM_API_KEY in .env\n");
process.exit(1);
}
async function testAPI() {
try {
// Test CS2 (App ID 730)
console.log("─────────────────────────────────────────────────");
console.log("🎮 Testing CS2 Market Endpoint...\n");
const cs2Url = `${BASE_URL}/market/items/730`;
console.log(`📡 URL: ${cs2Url}`);
console.log(`🔑 Using API key: ${STEAM_APIS_KEY.substring(0, 10)}...\n`);
const cs2Response = await axios.get(cs2Url, {
params: {
api_key: STEAM_APIS_KEY,
},
timeout: 30000,
});
console.log("✅ Request successful!");
console.log(`📊 Status: ${cs2Response.status}`);
console.log(`📦 Response structure:`);
console.log(` - Has data property: ${cs2Response.data ? "✓" : "✗"}`);
console.log(` - Data type: ${typeof cs2Response.data}`);
if (cs2Response.data) {
console.log(` - Data keys: ${Object.keys(cs2Response.data).join(", ")}`);
if (cs2Response.data.data) {
const itemCount = Object.keys(cs2Response.data.data).length;
console.log(` - Items in data.data: ${itemCount}`);
if (itemCount > 0) {
const firstItems = Object.keys(cs2Response.data.data).slice(0, 5);
console.log("\n📋 Sample items:");
firstItems.forEach((itemName) => {
const item = cs2Response.data.data[itemName];
console.log(`\n "${itemName}":`);
console.log(` - Type: ${typeof item}`);
if (item && typeof item === "object") {
console.log(` - Keys: ${Object.keys(item).join(", ")}`);
if (item.prices) {
console.log(` - Has prices: ✓`);
console.log(` - Price types: ${Object.keys(item.prices).join(", ")}`);
if (item.prices["30"]) {
console.log(` - 30-day price: $${item.prices["30"]}`);
}
}
}
});
} else {
console.log("\n ⚠️ No items found in response!");
}
} else {
console.log(" - No 'data' property in response.data");
console.log("\n Full response preview:");
console.log(JSON.stringify(cs2Response.data, null, 2).substring(0, 500));
}
}
console.log("\n─────────────────────────────────────────────────");
console.log("🔧 Testing Rust Market Endpoint...\n");
const rustUrl = `${BASE_URL}/market/items/252490`;
console.log(`📡 URL: ${rustUrl}\n`);
const rustResponse = await axios.get(rustUrl, {
params: {
api_key: STEAM_APIS_KEY,
},
timeout: 30000,
});
console.log("✅ Request successful!");
console.log(`📊 Status: ${rustResponse.status}`);
console.log(`📦 Response structure:`);
console.log(` - Has data property: ${rustResponse.data ? "✓" : "✗"}`);
if (rustResponse.data && rustResponse.data.data) {
const itemCount = Object.keys(rustResponse.data.data).length;
console.log(` - Items in data.data: ${itemCount}`);
if (itemCount > 0) {
const firstItems = Object.keys(rustResponse.data.data).slice(0, 3);
console.log("\n📋 Sample items:");
firstItems.forEach((itemName) => {
const item = rustResponse.data.data[itemName];
console.log(`\n "${itemName}"`);
if (item && item.prices && item.prices["30"]) {
console.log(` - 30-day price: $${item.prices["30"]}`);
}
});
}
}
console.log("\n─────────────────────────────────────────────────");
console.log("\n✅ API Test Complete!\n");
} catch (error) {
console.error("\n❌ ERROR during API test:");
console.error(` Message: ${error.message}\n`);
if (error.response) {
console.error("📡 Response details:");
console.error(` Status: ${error.response.status}`);
console.error(` Status Text: ${error.response.statusText}`);
if (error.response.status === 401) {
console.error("\n🔑 Authentication Error:");
console.error(" Your API key is invalid or expired.");
console.error(" Get a new key from: https://steamapis.com/");
} else if (error.response.status === 429) {
console.error("\n⏱ Rate Limit Error:");
console.error(" You've exceeded the API rate limit.");
console.error(" Wait a few minutes and try again.");
} else if (error.response.status === 403) {
console.error("\n🚫 Forbidden:");
console.error(" Your API key doesn't have access to this endpoint.");
console.error(" Check your subscription plan at https://steamapis.com/");
}
if (error.response.data) {
console.error("\n📦 Response data:");
console.error(JSON.stringify(error.response.data, null, 2));
}
} else if (error.request) {
console.error("\n🔌 Network Error:");
console.error(" No response received from server.");
console.error(" Check your internet connection.");
}
console.error("\n📚 Stack trace:");
console.error(error.stack);
console.error();
process.exit(1);
}
}
testAPI();