Archived
refactor(logging): logging and rename token env
This commit is contained in:
+48
-11
@@ -1,10 +1,14 @@
|
||||
from bot.api.asf import get_bot_inventory
|
||||
from bot.constants import PAGE_SIZE
|
||||
from bot.logging_utils import get_logger
|
||||
from bot.ui.formatters import get_inventory_icon
|
||||
from bot.ui.keyboards import inventory_menu_keyboard, inventory_page_keyboard
|
||||
|
||||
logger = get_logger(__name__)
|
||||
|
||||
|
||||
async def build_inventory_menu(bot_name: str) -> tuple[str, object]:
|
||||
logger.info("Формирование меню инвентаря: bot=%s", bot_name)
|
||||
cs2_inventory = await get_bot_inventory(bot_name, 730, 2)
|
||||
steam_inventory = await get_bot_inventory(bot_name, 753, 6)
|
||||
cs2_assets = []
|
||||
@@ -12,13 +16,23 @@ async def build_inventory_menu(bot_name: str) -> tuple[str, object]:
|
||||
try:
|
||||
cs2_assets = cs2_inventory.get(bot_name, {}).get("Assets", []) # type: ignore[union-attr]
|
||||
except Exception:
|
||||
pass
|
||||
logger.exception("Ошибка чтения CS2-инвентаря: bot=%s", bot_name)
|
||||
try:
|
||||
steam_assets = steam_inventory.get(bot_name, {}).get("Assets", []) # type: ignore[union-attr]
|
||||
except Exception:
|
||||
pass
|
||||
logger.exception("Ошибка чтения Steam-инвентаря: bot=%s", bot_name)
|
||||
if not cs2_assets and not steam_assets:
|
||||
return f"📦 Инвентарь {bot_name} пуст", inventory_menu_keyboard(bot_name, 0, 0)
|
||||
logger.info("Инвентарь пуст: bot=%s", bot_name)
|
||||
return (
|
||||
f"📦 Инвентарь {bot_name} пуст",
|
||||
inventory_menu_keyboard(bot_name, 0, 0),
|
||||
)
|
||||
logger.info(
|
||||
"Меню инвентаря сформировано: bot=%s cs2_items=%s steam_items=%s",
|
||||
bot_name,
|
||||
len(cs2_assets),
|
||||
len(steam_assets),
|
||||
)
|
||||
text = (
|
||||
f"📦 Инвентарь {bot_name}\n\n"
|
||||
"🔄 — можно трейдить\n"
|
||||
@@ -32,13 +46,28 @@ async def build_inventory_menu(bot_name: str) -> tuple[str, object]:
|
||||
async def render_inventory_page(
|
||||
bot_name: str, inventory_type: str, appid: int, contextid: int, page: int
|
||||
) -> tuple[str, object] | tuple[None, None]:
|
||||
logger.info(
|
||||
"Формирование страницы инвентаря: bot=%s type=%s appid=%s contextid=%s page=%s",
|
||||
bot_name,
|
||||
inventory_type,
|
||||
appid,
|
||||
contextid,
|
||||
page,
|
||||
)
|
||||
inventory = await get_bot_inventory(bot_name, appid, contextid)
|
||||
if not inventory:
|
||||
logger.warning(
|
||||
"Не удалось получить данные для страницы инвентаря: bot=%s type=%s page=%s",
|
||||
bot_name,
|
||||
inventory_type,
|
||||
page,
|
||||
)
|
||||
return None, None
|
||||
bot_inventory = inventory.get(bot_name, {})
|
||||
assets = bot_inventory.get("Assets", [])
|
||||
descriptions = bot_inventory.get("Descriptions", [])
|
||||
if not assets:
|
||||
logger.info("Инвентарь выбранного типа пуст: bot=%s type=%s", bot_name, inventory_type)
|
||||
return f"Инвентарь {bot_name} пуст", inventory_menu_keyboard(bot_name, 0, 0)
|
||||
desc_map = {}
|
||||
for desc in descriptions:
|
||||
@@ -67,7 +96,7 @@ async def render_inventory_page(
|
||||
marketable_count += 1
|
||||
if desc.get("tradable"):
|
||||
tradable_count += 1
|
||||
if icon == "🃏":
|
||||
if icon == "🎏":
|
||||
cards_count += amount
|
||||
elif icon == "😀":
|
||||
emotes_count += amount
|
||||
@@ -78,22 +107,30 @@ async def render_inventory_page(
|
||||
lines.append(f"{icon} {tradable}{marketable} {name} x{amount}")
|
||||
inv_name = "CS2" if appid == 730 else "Steam"
|
||||
stats = (
|
||||
f"📦 Items: {len(assets)}\n"
|
||||
f"💰 Marketable: {marketable_count}\n"
|
||||
f"🔄 Tradable: {tradable_count}"
|
||||
f"📦 Предметов: {len(assets)}\n"
|
||||
f"💰 Можно продать: {marketable_count}\n"
|
||||
f"🔄 Можно трейдить: {tradable_count}"
|
||||
)
|
||||
if appid == 753:
|
||||
stats += (
|
||||
f"\n🃏 Cards: {cards_count}"
|
||||
f"\n😀 Emotes: {emotes_count}"
|
||||
f"\n🖼 Backgrounds: {backgrounds_count}"
|
||||
f"\n💎 Gems: {gems_count}"
|
||||
f"\n🎏 Карточек: {cards_count}"
|
||||
f"\n😀 Смайлов: {emotes_count}"
|
||||
f"\n🖼 Фонов: {backgrounds_count}"
|
||||
f"\n💎 Самоцветов: {gems_count}"
|
||||
)
|
||||
text = (
|
||||
f"📦 {inv_name} Inventory {bot_name}\n"
|
||||
f"📄 Страница {page + 1}/{total_pages}\n\n"
|
||||
f"{stats}\n\n" + "\n".join(lines)
|
||||
)
|
||||
logger.info(
|
||||
"Страница инвентаря сформирована: bot=%s type=%s page=%s total_pages=%s items_on_page=%s",
|
||||
bot_name,
|
||||
inventory_type,
|
||||
page,
|
||||
total_pages,
|
||||
len(page_assets),
|
||||
)
|
||||
return text[:4000], inventory_page_keyboard(
|
||||
inventory_type, bot_name, page, total_pages
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user