Добавление нового middleware и рефакторинг обработчиков с поддержкой target_message

This commit is contained in:
izzzzzi
2025-03-08 04:59:23 +05:00
parent 2d937d13d7
commit 9b557f22d1
17 changed files with 402 additions and 318 deletions
+8 -13
View File
@@ -27,7 +27,7 @@ router = Router()
@router.callback_query(F.data == "instructions")
@router.message(F.text == "/instructions")
async def send_instructions(callback_query_or_message: CallbackQuery | Message):
async def send_instructions(target_message: Message):
instructions_message = INSTRUCTIONS
image_path = os.path.join("img", "instructions.jpg")
@@ -35,11 +35,6 @@ async def send_instructions(callback_query_or_message: CallbackQuery | Message):
builder.row(InlineKeyboardButton(text="💬 Поддержка", url=SUPPORT_CHAT_URL))
builder.row(InlineKeyboardButton(text="👤 Личный кабинет", callback_data="profile"))
if isinstance(callback_query_or_message, CallbackQuery):
target_message = callback_query_or_message.message
else:
target_message = callback_query_or_message
await edit_or_send_message(
target_message=target_message,
text=instructions_message,
@@ -49,14 +44,14 @@ async def send_instructions(callback_query_or_message: CallbackQuery | Message):
@router.callback_query(F.data.startswith("connect_pc|"))
async def process_connect_pc(callback_query: CallbackQuery, session: Any):
async def process_connect_pc(callback_query: CallbackQuery, session: Any, target_message: Message):
key_name = callback_query.data.split("|")[1]
record = await get_key_details(key_name, session)
if not record:
builder = InlineKeyboardBuilder()
builder.row(InlineKeyboardButton(text="👤 Личный кабинет", callback_data="profile"))
await edit_or_send_message(
target_message=callback_query.message,
target_message=target_message,
text="❌ <b>Ключ не найден. Проверьте имя ключа.</b> 🔍",
reply_markup=builder.as_markup(),
media_path=None,
@@ -75,7 +70,7 @@ async def process_connect_pc(callback_query: CallbackQuery, session: Any):
builder.row(InlineKeyboardButton(text="👤 Личный кабинет", callback_data="profile"))
await edit_or_send_message(
target_message=callback_query.message,
target_message=target_message,
text=instruction_message,
reply_markup=builder.as_markup(),
media_path=None,
@@ -83,7 +78,7 @@ async def process_connect_pc(callback_query: CallbackQuery, session: Any):
@router.callback_query(F.data.startswith("connect_tv|"))
async def process_connect_tv(callback_query: CallbackQuery):
async def process_connect_tv(callback_query: CallbackQuery, target_message: Message):
key_name = callback_query.data.split("|")[1]
builder = InlineKeyboardBuilder()
@@ -92,7 +87,7 @@ async def process_connect_tv(callback_query: CallbackQuery):
builder.row(InlineKeyboardButton(text="👤 Личный кабинет", callback_data="profile"))
await edit_or_send_message(
target_message=callback_query.message,
target_message=target_message,
text=CONNECT_TV_TEXT,
reply_markup=builder.as_markup(),
media_path=None,
@@ -101,7 +96,7 @@ async def process_connect_tv(callback_query: CallbackQuery):
@router.callback_query(F.data.startswith("continue_tv|"))
async def process_continue_tv(callback_query: CallbackQuery, session: Any):
async def process_continue_tv(callback_query: CallbackQuery, session: Any, target_message: Message):
key_name = callback_query.data.split("|")[1]
record = await get_key_details(key_name, session)
@@ -114,5 +109,5 @@ async def process_continue_tv(callback_query: CallbackQuery, session: Any):
builder.row(InlineKeyboardButton(text="👤 Личный кабинет", callback_data="profile"))
await edit_or_send_message(
target_message=callback_query.message, text=message_text, reply_markup=builder.as_markup(), media_path=None
target_message=target_message, text=message_text, reply_markup=builder.as_markup(), media_path=None
)