diff --git a/handlers/admin/admin_coupons.py b/handlers/admin/admin_coupons.py
index ecc661d5..6c786cd3 100644
--- a/handlers/admin/admin_coupons.py
+++ b/handlers/admin/admin_coupons.py
@@ -16,7 +16,7 @@ class AdminCouponsState(StatesGroup):
router = Router()
-@router.callback_query(F.data == "coupons_editor",IsAdminFilter())
+@router.callback_query(F.data == "coupons_editor", IsAdminFilter())
async def show_coupon_management_menu(callback_query: types.CallbackQuery):
try:
await callback_query.message.delete()
@@ -39,7 +39,7 @@ async def show_coupon_management_menu(callback_query: types.CallbackQuery):
await callback_query.answer()
-@router.callback_query(F.data == "coupons",IsAdminFilter())
+@router.callback_query(F.data == "coupons", IsAdminFilter())
async def show_coupon_list(callback_query: types.CallbackQuery):
try:
try:
@@ -100,7 +100,7 @@ async def show_coupon_list(callback_query: types.CallbackQuery):
await callback_query.answer()
-@router.callback_query(F.data.startswith("delete_coupon_"),IsAdminFilter())
+@router.callback_query(F.data.startswith("delete_coupon_"), IsAdminFilter())
async def handle_delete_coupon(callback_query: types.CallbackQuery):
coupon_code = callback_query.data[len("delete_coupon_") :]
@@ -128,24 +128,29 @@ async def handle_delete_coupon(callback_query: types.CallbackQuery):
await callback_query.answer()
-@router.callback_query(F.data == "create_coupon",IsAdminFilter())
+@router.callback_query(F.data == "create_coupon", IsAdminFilter())
async def handle_create_coupon(callback_query: types.CallbackQuery, state: FSMContext):
try:
await callback_query.message.delete()
except Exception as e:
logger.error(f"Ошибка при удалении сообщения: {e}")
+ builder = InlineKeyboardBuilder()
+ builder.row(InlineKeyboardButton(text="🔙 Назад", callback_data="coupons_editor"))
+ markup = builder.as_markup()
+
await callback_query.message.answer(
"Введите данные для создания купона в формате:\n\n"
"код сумма лимит\n\n"
"Пример: 'COUPON1 50 5'\n\n",
parse_mode="HTML",
+ reply_markup=markup,
)
await state.set_state(AdminCouponsState.waiting_for_coupon_data)
await callback_query.answer()
-@router.message(AdminCouponsState.waiting_for_coupon_data,IsAdminFilter())
+@router.message(AdminCouponsState.waiting_for_coupon_data, IsAdminFilter())
async def process_coupon_data(message: types.Message, state: FSMContext):
text = message.text.strip()
@@ -203,6 +208,7 @@ async def process_coupon_data(message: types.Message, state: FSMContext):
@router.callback_query(F.data == "back_to_coupons_menu")
-async def back_to_coupons_menu(callback_query: types.CallbackQuery):
+async def back_to_coupons_menu(callback_query: types.CallbackQuery, state: FSMContext):
"""Возвращаем пользователя в меню управления купонами"""
+ await state.clear()
await show_coupon_management_menu(callback_query)
diff --git a/handlers/admin/admin_panel.py b/handlers/admin/admin_panel.py
index 1cfa9eab..414fdbd0 100644
--- a/handlers/admin/admin_panel.py
+++ b/handlers/admin/admin_panel.py
@@ -22,10 +22,11 @@ class UserEditorState(StatesGroup):
waiting_for_tg_id = State()
displaying_user_info = State()
+
@router.callback_query(F.data == "admin", IsAdminFilter())
async def handle_admin_callback_query(callback_query: CallbackQuery):
await handle_admin_message(callback_query.message)
-
+
@router.message(Command("admin"), F.data == "admin", IsAdminFilter())
async def handle_admin_message(message: types.Message):
diff --git a/handlers/pay.py b/handlers/pay.py
index c09cb66e..8f4c33d9 100644
--- a/handlers/pay.py
+++ b/handlers/pay.py
@@ -72,8 +72,8 @@ async def handle_pay(callback_query: CallbackQuery):
@router.callback_query(F.data == "back_to_menu")
-async def handle_back_to_menu(callback_query: CallbackQuery):
+async def handle_back_to_menu(callback_query: CallbackQuery, admin: bool):
await callback_query.message.delete()
trial_status = await get_trial(callback_query.from_user.id)
- await send_welcome_message(callback_query.from_user.id, trial_status)
+ await send_welcome_message(callback_query.from_user.id, trial_status, admin)
await callback_query.answer()
diff --git a/handlers/start.py b/handlers/start.py
index 8f9ac132..beddb670 100644
--- a/handlers/start.py
+++ b/handlers/start.py
@@ -154,8 +154,8 @@ async def handle_about_vpn(callback_query: CallbackQuery):
@router.callback_query(F.data == "back_to_menu")
-async def handle_back_to_menu(callback_query: CallbackQuery):
+async def handle_back_to_menu(callback_query: CallbackQuery, admin: bool):
await callback_query.message.delete()
trial_status = await get_trial(callback_query.from_user.id)
- await send_welcome_message(callback_query.from_user.id, trial_status)
+ await send_welcome_message(callback_query.from_user.id, trial_status, admin)
await callback_query.answer()