from app.settings_cache import SettingsCache from app.conversation import get_or_create_user, get_template_rendered from app.fsm import BotState, FSM from app.keyboards.inline import build_main_menu_buttons async def handle_my_objects(bot, user_data: dict, db, max_api): max_user_id = user_data["user_id"] text = user_data.get("text", "").strip() if FSM.get_state(max_user_id) != BotState.FEATURE_MY_OBJECTS: FSM.set_state(max_user_id, BotState.FEATURE_MY_OBJECTS) user = await get_or_create_user(db, max_user_id) await max_api.send_message(max_user_id, "🏒 **Мои ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹**\n\n" "Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ вашСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ для поиска ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²." ) return if not text: await max_api.send_message(max_user_id, "Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.") return from app.integrations.portal_db import get_objects_for_customer objects = await get_objects_for_customer(db, text) if not objects: await max_api.send_message(max_user_id, "ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ.") else: lines = [f"🏒 **{obj.name}** β€” {obj.status}" for obj in objects[:10]] msg = "Π’Π°ΡˆΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹:\n\n" + "\n".join(lines) if len(objects) > 10: msg += f"\n\n...ΠΈ Π΅Ρ‰Ρ‘ {len(objects) - 10} ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²" await max_api.send_message(max_user_id, msg, format="markdown") FSM.transition(max_user_id, "done") buttons = build_main_menu_buttons() menu_text = await get_template_rendered(db, "main_menu") await max_api.send_message_with_keyboard(max_user_id, menu_text, buttons)