feat: add get_collectible_item_id method; fix onsale_asset to use PATCH with collectible_item_id

This commit is contained in:
2026-03-07 12:57:03 -05:00
parent 00b5caf776
commit 23a70073a1
2 changed files with 12 additions and 1 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
[project] [project]
name = "rbx-upload" name = "rbx-upload"
version = "0.2.2" version = "0.2.3"
description = "Roblox asset upload client" description = "Roblox asset upload client"
requires-python = ">=3.13" requires-python = ">=3.13"
dependencies = [ dependencies = [
+11
View File
@@ -289,6 +289,17 @@ class RobloxClient:
response.raise_for_status() response.raise_for_status()
return response.json() if response.text else {} return response.json() if response.text else {}
async def get_collectible_item_id(self, asset_id: int) -> str | None:
"""Look up the collectible item ID (UUID) for a given asset ID."""
response = await self._http.post(
self._proxy_url("https://catalog.roblox.com/v1/catalog/items/details"),
json={"items": [{"itemType": "Asset", "id": asset_id}]},
cookies=self._csrf_cookies,
)
response.raise_for_status()
items = response.json().get("data", [])
return items[0].get("collectibleItemId") if items else None
async def close(self): async def close(self):
"""Close the underlying HTTP client.""" """Close the underlying HTTP client."""
await self._http.aclose() await self._http.aclose()