
@router.callback_query(F.data == "admin_set_usdt_rate")
async def ask_usdt_rate(callback: CallbackQuery, state: FSMContext):
    await state.set_state(AdminState.waiting_for_usdt_rate)
    builder = InlineKeyboardBuilder()
    builder.button(text="🔙 بازگشت", callback_data="admin_bot_settings")
    await callback.message.edit_text(
        "💵 لطفاً نرخ روز تتر را به تومان وارد کنید (مثلا 60000):",
        reply_markup=builder.as_markup()
    )

@router.message(AdminState.waiting_for_usdt_rate)
async def process_usdt_rate(message: Message, state: FSMContext):
    if not message.text.isdigit():
        return await message.answer("⚠️ لطفاً فقط عدد وارد کنید:")
    
    rate = int(message.text)
    if rate < 1000:
        return await message.answer("⚠️ مبلغ نامعتبر است.")
        
    async with AsyncSessionLocal() as session:
        await set_setting(session, "usdt_rate", str(rate))
        
    await message.answer(f"✅ نرخ تتر با موفقیت به {rate:,.0f} تومان تنظیم شد.")
    await state.clear()
    await admin_dashboard(message)
