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():