Initial commit

This commit is contained in:
2025-12-21 00:07:51 -05:00
commit 18eb2d611f
9 changed files with 1259 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
from enum import IntEnum
from typing import Literal
# Enums
class RbxAssetType(IntEnum):
IMAGE = 1
SHIRT = 11
PANTS = 12
# Types
ClothingAssetType = Literal[
RbxAssetType.SHIRT,
RbxAssetType.PANTS,
]
CreatorType = Literal["User", "Group"]
# Roblox Creator class (for creator info - mainly useful for returning data + TUI)
class RbxCreator:
def __init__(self, creator_id: int, username: str, creator_type: CreatorType):
self.creator_id = creator_id
self.username = username
self.creator_type = creator_type
# Asset base class
class RbxAsset:
def __init__(
self,
asset_id: int,
creator: RbxCreator,
name: str,
description: str,
asset_type: RbxAssetType,
) -> None:
self.asset_id = asset_id
self.name = name
self.description = description
self.creator = creator
self.asset_type = asset_type
# Clothing asset class
class ClothingAsset(RbxAsset):
def __init__(
self,
asset_id: int,
creator: RbxCreator,
name: str,
description: str,
asset_type: ClothingAssetType,
) -> None:
super().__init__(
asset_id=asset_id,
creator=creator,
name=name,
description=description,
asset_type=asset_type,
)
def get_image(self) -> bytes:
from utils import roblox_service
return roblox_service.fetch_clothing_image(self)