emergency switched roblox api calls to proxies since roblox is blocking datacenter ips

This commit is contained in:
yhqe committed 2026-03-15 03:57:39 -05:00
1 parent 670512944c
commit 55df89c02b
2 files changed
+51 -45

No files matched your search

+34 -34
View File
@@ -5,9 +5,9 @@
"1028606": [ "1028606": [
"Red Baseball Cap", "Red Baseball Cap",
"", "",
1528, 1535,
-1, -1,
1528, 1535,
-1, -1,
-1, -1,
-1, -1,
@@ -148,9 +148,9 @@
"1051578": [ "1051578": [
"Target Hat", "Target Hat",
"", "",
1810, 1827,
-1, -1,
1810, 1827,
-1, -1,
-1, -1,
-1, -1,
@@ -3086,9 +3086,9 @@
"17925914": [ "17925914": [
"Commando Skullcap", "Commando Skullcap",
"", "",
1210, 1234,
-1, -1,
1210, 1234,
-1, -1,
-1, -1,
-1, -1,
@@ -3190,9 +3190,9 @@
"18174901": [ "18174901": [
"Guardia in Exile", "Guardia in Exile",
"", "",
1142, 1128,
-1, -1,
1142, 1128,
-1, -1,
-1, -1,
-1, -1,
@@ -11549,9 +11549,9 @@
"63239668": [ "63239668": [
"Bat Tie", "Bat Tie",
"", "",
1348, 1406,
-1, -1,
1348, 1406,
-1, -1,
-1, -1,
-1, -1,
@@ -27409,7 +27409,7 @@
"553970606": [ "553970606": [
"Blue Queen of the Night", "Blue Queen of the Night",
"BQOTN", "BQOTN",
179126, 184013,
180000, 180000,
180000, 180000,
3, 3,
@@ -27838,9 +27838,9 @@
"628769409": [ "628769409": [
"Adurite Bowler", "Adurite Bowler",
"", "",
1866, 1847,
-1, -1,
1866, 1847,
-1, -1,
-1, -1,
-1, -1,
@@ -29281,9 +29281,9 @@
"1556204905": [ "1556204905": [
"Inkwell Egg", "Inkwell Egg",
"", "",
343, 348,
-1, -1,
343, 348,
-1, -1,
-1, -1,
-1, -1,
@@ -30100,9 +30100,9 @@
"2470988571": [ "2470988571": [
"Spider Headphones", "Spider Headphones",
"", "",
387, 391,
-1, -1,
387, 391,
-1, -1,
-1, -1,
-1, -1,
@@ -30750,9 +30750,9 @@
"3581868178": [ "3581868178": [
"Goldrow", "Goldrow",
"", "",
394, 389,
-1, -1,
394, 389,
-1, -1,
-1, -1,
-1, -1,
@@ -30763,9 +30763,9 @@
"3798231832": [ "3798231832": [
"Party Unicorn Floatie", "Party Unicorn Floatie",
"", "",
370, 375,
-1, -1,
370, 375,
-1, -1,
-1, -1,
-1, -1,
@@ -30789,9 +30789,9 @@
"3798243238": [ "3798243238": [
"Party Fedora ", "Party Fedora ",
"", "",
820, 813,
-1, -1,
820, 813,
-1, -1,
-1, -1,
-1, -1,
@@ -30815,9 +30815,9 @@
"3798251754": [ "3798251754": [
"Sugar Shades", "Sugar Shades",
"", "",
324, 327,
-1, -1,
324, 327,
-1, -1,
-1, -1,
-1, -1,
@@ -30997,9 +30997,9 @@
"4773579034": [ "4773579034": [
"Brainfreeze Egg", "Brainfreeze Egg",
"", "",
337, 343,
-1, -1,
337, 343,
-1, -1,
-1, -1,
-1, -1,
@@ -31023,9 +31023,9 @@
"4773591735": [ "4773591735": [
"Saber Boss Egg", "Saber Boss Egg",
"", "",
352, 358,
-1, -1,
352, 358,
-1, -1,
-1, -1,
-1, -1,
@@ -31036,9 +31036,9 @@
"4786869155": [ "4786869155": [
"Eggraging Shark of the Sea", "Eggraging Shark of the Sea",
"", "",
294, 298,
-1, -1,
294, 298,
-1, -1,
-1, -1,
-1, -1,
@@ -31049,9 +31049,9 @@
"4786877411": [ "4786877411": [
"Tiny Tank Egg", "Tiny Tank Egg",
"", "",
321, 324,
-1, -1,
321, 324,
-1, -1,
-1, -1,
-1, -1,
@@ -32674,7 +32674,7 @@
"16477149823": [ "16477149823": [
"Gold Clockwork Headphones", "Gold Clockwork Headphones",
"GCWHP", "GCWHP",
8373, 8252,
11000, 11000,
11000, 11000,
4, 4,
+17 -11
View File
@@ -6,7 +6,7 @@ const fs = require('fs');
const logger = require('../../utils/logger'); const logger = require('../../utils/logger');
async function fetch_avatar(id) { async function fetch_avatar(id) {
const res = await fetch(`https://thumbnails.roblox.com/v1/users/avatar?userIds=${id}&size=420x420&format=Png&isCircular=false`, { const res = await fetch(`https://thumbnails.roproxy.com/v1/users/avatar?userIds=${id}&size=420x420&format=Png&isCircular=false`, {
method: 'GET', method: 'GET',
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}); });
@@ -22,7 +22,7 @@ async function fetch_avatar(id) {
} }
async function fetch_item_thumb(id) { async function fetch_item_thumb(id) {
const res = await fetch(`https://thumbnails.roblox.com/v1/assets?assetIds=${id}&returnPolicy=PlaceHolder&size=420x420&format=Png&isCircular=false`, { const res = await fetch(`https://thumbnails.roproxy.com/v1/assets?assetIds=${id}&returnPolicy=PlaceHolder&size=420x420&format=Png&isCircular=false`, {
method: 'GET', method: 'GET',
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}); });
@@ -96,14 +96,14 @@ module.exports = {
if (subcommand === 'user') { if (subcommand === 'user') {
try { try {
const res = await fetch(`https://users.roblox.com/v1/usernames/users`, { const res = await fetch(`https://users.roproxy.com/v1/usernames/users`, {
method: 'POST', method: 'POST',
headers: { 'Content-Type': 'application/json' }, headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ usernames: [argument], excludeBannedUsers: false }) body: JSON.stringify({ usernames: [argument], excludeBannedUsers: false })
}); });
const data = await res.json(); const data = await res.json();
const extra_res = await fetch(`https://users.roblox.com/v1/users/${data.data[0].id}`, { const extra_res = await fetch(`https://users.roproxy.com/v1/users/${data.data[0].id}`, {
method: 'GET', method: 'GET',
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}); });
@@ -113,7 +113,13 @@ module.exports = {
method: 'GET', method: 'GET',
headers: { 'Content-Type': 'application/json' } headers: { 'Content-Type': 'application/json' }
}); });
const r_data = await r_res.json(); let r_data = {};
if (r_res.ok) {
r_data = await r_res.json();
} else {
logger.warn(`[rbx] Failed to fetch rolimons playerinfo for id ${data.data[0].id}: HTTP ${r_res.status}`);
r_data = {};
}
const ra_res = await fetch(`https://api.rolimons.com/players/v1/playerassets/${data.data[0].id}`, { const ra_res = await fetch(`https://api.rolimons.com/players/v1/playerassets/${data.data[0].id}`, {
method: 'GET', method: 'GET',
@@ -197,9 +203,9 @@ module.exports = {
} }
} else if (subcommand === 'item') { } else if (subcommand === 'item') {
try { try {
const res = await fetch(`https://economy.roblox.com/v2/assets/${argument}/details`); const res = await fetch(`https://economy.roproxy.com/v2/assets/${argument}/details`);
const p_res = await fetch(`https://thumbnails.roblox.com/v1/ assets?assetIds=${argument}&returnPolicy=PlaceHolder&size=420x420&format=Png&isCircular=false`) const p_res = await fetch(`https://thumbnails.roproxy.com/v1/ assets?assetIds=${argument}&returnPolicy=PlaceHolder&size=420x420&format=Png&isCircular=false`)
const resale_res = await fetch(`https://economy.roblox.com/v1/assets/${argument}/resale-data`); const resale_res = await fetch(`https://economy.roproxy.com/v1/assets/${argument}/resale-data`);
const item = await res.json(); const item = await res.json();
logger.debug(`[rbx] fetched item data (roblox) for "${argument}": ${JSON.stringify(item)}`); logger.debug(`[rbx] fetched item data (roblox) for "${argument}": ${JSON.stringify(item)}`);
@@ -274,8 +280,8 @@ module.exports = {
} }
} else if (subcommand === 'group') { } else if (subcommand === 'group') {
try { try {
const res = await fetch(`https://groups.roblox.com/v1/groups/${argument}`); const res = await fetch(`https://groups.roproxy.com/v1/groups/${argument}`);
const p_res = await fetch(`https://thumbnails.roblox.com/v1/groups/icons?groupIds=${argument}&size=420x420&format=Png&isCircular=false`); const p_res = await fetch(`https://thumbnails.roproxy.com/v1/groups/icons?groupIds=${argument}&size=420x420&format=Png&isCircular=false`);
if (!res.ok) throw new Error(); if (!res.ok) throw new Error();
if (!p_res.ok) throw new Error(); if (!p_res.ok) throw new Error();
@@ -317,7 +323,7 @@ module.exports = {
} }
} else if (subcommand === 'game') { } else if (subcommand === 'game') {
try { try {
const res = await fetch(`https://games.roblox.com/v1/games?universeIds=${argument}`); const res = await fetch(`https://games.roproxy.com/v1/games?universeIds=${argument}`);
if (!res.ok) throw new Error(); if (!res.ok) throw new Error();
const data = await res.json(); const data = await res.json();
if (!data.data || !data.data[0]) { if (!data.data || !data.data[0]) {