From 005c88337b5d496db025c16f314b7844a0f48342 Mon Sep 17 00:00:00 2001 From: Ilya_Chis Date: Fri, 21 Feb 2025 13:52:44 +0500 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5=20=D1=81=D0=BF=D0=B8=D1=81=D0=BA=D0=B0=20?= =?UTF-8?q?=D0=B7=D0=B0=D1=80=D0=B5=D0=B3=D0=B8=D1=81=D1=82=D1=80=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D1=85=20=D0=BF=D0=B0?= =?UTF-8?q?=D1=86=D0=B8=D0=B5=D0=BD=D1=82=D0=BE=D0=B2,=20=D0=BA=D0=BE?= =?UTF-8?q?=D0=BC=D0=B0=D0=BD=D0=B4=D1=8B=20=D0=B3=D0=BB=D0=B0=D0=B2=D0=BD?= =?UTF-8?q?=D0=BE=D0=B3=D0=BE=20=D0=BC=D0=B5=D0=BD=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BotPM.py | 40 ++++++++++++++++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/BotPM.py b/BotPM.py index b2cacdc..52682e5 100644 --- a/BotPM.py +++ b/BotPM.py @@ -17,6 +17,7 @@ import re from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton, WebAppInfo import logging from aiogram.types import ReplyKeyboardRemove +from aiogram.utils.callback_data import CallbackData TOKEN = '7907319434:AAEEM55xbWHhp5uPAlJ5AS2vNoleES_z_Kk' @@ -144,6 +145,13 @@ whatsapp = InlineKeyboardMarkup(row_width=1).add( ) +# Обработчик команды /menu +@dp.message_handler(Command("menu")) +async def show_menu(message: types.Message): + await message.answer("В настоящее время я, как Ваш виртуальный помощник, активно развиваюсь." + " В ближайшее время у меня появятся новые функции и возможности." + " А пока Вы можете ознакомиться с текущим меню.", reply_markup=main_menu) + # Обработка нажатий на инлайн-кнопки @dp.callback_query_handler(lambda c: c.data.startswith("menu_") or c.data == "main_menu") async def handle_main_menu(call: types.CallbackQuery): @@ -156,8 +164,8 @@ async def handle_main_menu(call: types.CallbackQuery): " В ближайшее время у меня появятся новые функции и возможности." " А пока Вы можете ознакомиться с текущим меню.", reply_markup=main_menu) elif call.data == "menu_contacts": - await call.message.edit_text("Клиники им. проф. Е.Н.Оленевой\n\n" - "Клиника УХО•ГОРЛО•НОС\n" + await call.message.edit_text("Клиники им. проф. Е.Н.Оленевой\n\n" + "Клиника УХО•ГОРЛО•НОС\n" "Записаться на приём, задать вопрос:\n" "📞 +7 (342) 207-03-03\n\n" "Больше информации о клинике и врачах на нашем 🔗САЙТЕ\n" @@ -165,7 +173,7 @@ async def handle_main_menu(call: types.CallbackQuery): "(ост. Строительный факультет)\n" "Построить маршрут\n\n" "--------------\n\n" - "Клиника лечения КАШЛЯ•АЛЛЕРГИИ\n" + "Клиника лечения КАШЛЯ•АЛЛЕРГИИ\n" "Записаться на приём, задать вопрос:\n" "📞 +7 (342) 200-02-03\n\n" "Больше информации о клинике и врачах на нашем 🔗САЙТЕ\n\n" @@ -173,7 +181,7 @@ async def handle_main_menu(call: types.CallbackQuery): "(ост. Г. Звезда)\n" "Построить маршрут\n\n" "--------------\n\n" - "Центр ДИАГНОСТИКИ И РЕАБИЛИТАЦИИ \n" + "Центр ДИАГНОСТИКИ И РЕАБИЛИТАЦИИ \n" "📞 +7 (342) 287-16-94\n\n" "Больше информации о клинике и врачах на нашем 🔗САЙТЕ\n\n" "📍 г. Пермь, ул. Пермь, ул. Г. Звезда, 31А\n" @@ -738,7 +746,31 @@ def find_patient_by_id(telegram_id): return None # Возвращаем None, если номер неправильной длины return None +# Коллбек-дата для кнопок +patient_callback = CallbackData("patient", "index") + +@dp.message_handler(Command("patients")) +async def show_patients(message: types.Message): + telegram_id = message.from_user.id + patients = find_patients_by_id(telegram_id) + + if not patients: + await message.answer("Пациенты с вашим Telegram ID не найдены.") + return + + keyboard = InlineKeyboardMarkup(row_width=3) # Теперь 2 кнопки в строке + buttons = [ + InlineKeyboardButton( + text=patient["ФИО"], + callback_data=patient_callback.new(index=index) + ) + for index, patient in enumerate(patients) + ] + + # Добавляем кнопки в клавиатуру по 2 в строке + keyboard.add(*buttons) + await message.answer("Выберите пациента:", reply_markup=keyboard) def authorize_google():