Добавление списка зарегистрированных пациентов, команды главного меню
This commit is contained in:
@@ -17,6 +17,7 @@ import re
|
|||||||
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton, WebAppInfo
|
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton, WebAppInfo
|
||||||
import logging
|
import logging
|
||||||
from aiogram.types import ReplyKeyboardRemove
|
from aiogram.types import ReplyKeyboardRemove
|
||||||
|
from aiogram.utils.callback_data import CallbackData
|
||||||
|
|
||||||
|
|
||||||
TOKEN = '7907319434:AAEEM55xbWHhp5uPAlJ5AS2vNoleES_z_Kk'
|
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")
|
@dp.callback_query_handler(lambda c: c.data.startswith("menu_") or c.data == "main_menu")
|
||||||
async def handle_main_menu(call: types.CallbackQuery):
|
async def handle_main_menu(call: types.CallbackQuery):
|
||||||
@@ -156,8 +164,8 @@ async def handle_main_menu(call: types.CallbackQuery):
|
|||||||
" В ближайшее время у меня появятся новые функции и возможности."
|
" В ближайшее время у меня появятся новые функции и возможности."
|
||||||
" А пока Вы можете ознакомиться с текущим меню.", reply_markup=main_menu)
|
" А пока Вы можете ознакомиться с текущим меню.", reply_markup=main_menu)
|
||||||
elif call.data == "menu_contacts":
|
elif call.data == "menu_contacts":
|
||||||
await call.message.edit_text("Клиники им. проф. Е.Н.Оленевой\n\n"
|
await call.message.edit_text("<b>Клиники им. проф. Е.Н.Оленевой</b>\n\n"
|
||||||
"Клиника УХО•ГОРЛО•НОС\n"
|
"Клиника <b>УХО•ГОРЛО•НОС</b>\n"
|
||||||
"Записаться на приём, задать вопрос:\n"
|
"Записаться на приём, задать вопрос:\n"
|
||||||
"📞 +7 (342) 207-03-03\n\n"
|
"📞 +7 (342) 207-03-03\n\n"
|
||||||
"Больше информации о клинике и врачах на нашем <a href='https://perm.oclinica.ru/lor'>🔗САЙТЕ</a>\n"
|
"Больше информации о клинике и врачах на нашем <a href='https://perm.oclinica.ru/lor'>🔗САЙТЕ</a>\n"
|
||||||
@@ -165,7 +173,7 @@ async def handle_main_menu(call: types.CallbackQuery):
|
|||||||
"(ост. Строительный факультет)\n"
|
"(ост. Строительный факультет)\n"
|
||||||
"<a href='https://tinyurl.com/286a8tv7'>Построить маршрут</a>\n\n"
|
"<a href='https://tinyurl.com/286a8tv7'>Построить маршрут</a>\n\n"
|
||||||
"--------------\n\n"
|
"--------------\n\n"
|
||||||
"Клиника лечения КАШЛЯ•АЛЛЕРГИИ\n"
|
"Клиника лечения <b>КАШЛЯ•АЛЛЕРГИИ</b>\n"
|
||||||
"Записаться на приём, задать вопрос:\n"
|
"Записаться на приём, задать вопрос:\n"
|
||||||
"📞 +7 (342) 200-02-03\n\n"
|
"📞 +7 (342) 200-02-03\n\n"
|
||||||
"Больше информации о клинике и врачах на нашем <a href='https://perm.oclinica.ru/allergo'>🔗САЙТЕ</a>\n\n"
|
"Больше информации о клинике и врачах на нашем <a href='https://perm.oclinica.ru/allergo'>🔗САЙТЕ</a>\n\n"
|
||||||
@@ -173,7 +181,7 @@ async def handle_main_menu(call: types.CallbackQuery):
|
|||||||
"(ост. Г. Звезда)\n"
|
"(ост. Г. Звезда)\n"
|
||||||
"<a href='https://tinyurl.com/9a9w5pdu'>Построить маршрут</a>\n\n"
|
"<a href='https://tinyurl.com/9a9w5pdu'>Построить маршрут</a>\n\n"
|
||||||
"--------------\n\n"
|
"--------------\n\n"
|
||||||
"Центр ДИАГНОСТИКИ И РЕАБИЛИТАЦИИ \n"
|
"Центр <b>ДИАГНОСТИКИ И РЕАБИЛИТАЦИИ</b> \n"
|
||||||
"📞 +7 (342) 287-16-94\n\n"
|
"📞 +7 (342) 287-16-94\n\n"
|
||||||
"Больше информации о клинике и врачах на нашем <a href='https://cdr.oclinica.ru/'>🔗САЙТЕ</a>\n\n"
|
"Больше информации о клинике и врачах на нашем <a href='https://cdr.oclinica.ru/'>🔗САЙТЕ</a>\n\n"
|
||||||
"📍 г. Пермь, ул. Пермь, ул. Г. Звезда, 31А\n"
|
"📍 г. Пермь, ул. Пермь, ул. Г. Звезда, 31А\n"
|
||||||
@@ -738,7 +746,31 @@ def find_patient_by_id(telegram_id):
|
|||||||
return None # Возвращаем None, если номер неправильной длины
|
return None # Возвращаем None, если номер неправильной длины
|
||||||
return 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():
|
def authorize_google():
|
||||||
|
|||||||
Reference in New Issue
Block a user