diff --git a/BotPM.py b/BotPM.py
index dfa55fa..3a42def 100644
--- a/BotPM.py
+++ b/BotPM.py
@@ -38,7 +38,7 @@ last_bot_message_id = {}
# Авторизация и доступ к таблице
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
-credentials = ServiceAccountCredentials.from_json_keyfile_name("botforclinic-436512-0c117dd103a8.json", scope)
+credentials = ServiceAccountCredentials.from_json_keyfile_name(r"C:\Users\ilyac\PycharmProjects\Bot_Polimed\botforclinic-436512-0c117dd103a8.json", scope)
client = gspread.authorize(credentials)
sheet = client.open("Пациенты клиники").sheet1 # Открытие таблицы, используйте название вашей таблицы
@@ -85,7 +85,9 @@ logging.basicConfig(level=logging.INFO)
# Главное меню
main_menu = InlineKeyboardMarkup(row_width=2).add(
InlineKeyboardButton("🌍 Контакты", callback_data="menu_contacts"),
- InlineKeyboardButton("📞 Связь", callback_data="menu_contact")
+ InlineKeyboardButton("📞 Связь", callback_data="menu_contact"),
+ InlineKeyboardButton("✅ Добавить пациента", callback_data="menu_registration"),
+ InlineKeyboardButton("🏥 О Клинике", callback_data="o_klinike")
)
# Подменю "контакты"
@@ -93,15 +95,27 @@ contacts_menu = InlineKeyboardMarkup(row_width=1).add(
InlineKeyboardButton("▶️ Назад", callback_data="main_menu")
)
+# Подменю "О Клинике"
+Klinik_o = InlineKeyboardMarkup(row_width=1).add(
+ InlineKeyboardButton("▶️ Назад", callback_data="main_menu")
+)
+
# Меню связь
contact_menu = InlineKeyboardMarkup(row_width=1).add(
InlineKeyboardButton("💬 Отправить сообщение администратору Клиники", callback_data="contact_administrator"),
InlineKeyboardButton("🛎 Заказать звонок от администратора Клиники", callback_data="order_call"),
- InlineKeyboardButton("▶️ Назад", callback_data="main_menu"),
+ InlineKeyboardButton("▶️ Назад", callback_data="main_menu")
)
+# # Меню Добавить пациента
+# registration_menu = InlineKeyboardMarkup(row_width=1).add(
+# InlineKeyboardButton(text="Заполнить форму",web_app=WebAppInfo(url=form_url), callback_data="form_regist"),
+# InlineKeyboardButton("▶️ Назад", callback_data="main_menu")
+# )
+
+
administrator_contact = InlineKeyboardMarkup(row_width=1).add(
InlineKeyboardButton("✍🏼 Написать сообщение", callback_data="message_admin"),
InlineKeyboardButton("▶️ Назад", callback_data="menu_contact"),
@@ -133,6 +147,10 @@ whatsapp = InlineKeyboardMarkup(row_width=1).add(
# Обработка нажатий на инлайн-кнопки
@dp.callback_query_handler(lambda c: c.data.startswith("menu_") or c.data == "main_menu")
async def handle_main_menu(call: types.CallbackQuery):
+ user_id = call.from_user.id
+
+ # Генерируем ссылку с user_id
+ form_url = f"https://tgbotpolimed.pirogov.ai/?user_id={user_id}"
if call.data == "main_menu":
await call.message.edit_text("В настоящее время я, как Ваш виртуальный помощник, активно развиваюсь."
" В ближайшее время у меня появятся новые функции и возможности."
@@ -164,6 +182,68 @@ async def handle_main_menu(call: types.CallbackQuery):
"Присоединяйтесь к нашему каналу новостей в Telegram.", reply_markup=contacts_menu, parse_mode="HTML")
elif call.data == "menu_contact":
await call.message.edit_text("Выберите способ связи", reply_markup=contact_menu)
+ elif call.data == "menu_registration":
+ await call.message.edit_text("Обращаем Ваше внимание, что добавить можно только тех пациентов, которые ранее уже посещали нашу клинику.\n"
+ "Для ввода данных, пожалуйста, заполните форму, нажав на кнопку ниже: 'Заполнить форму'\n"
+ "После заполнения формы вернитесь к боту и нажмите на кнопку ниже: 'Проверить данные'", reply_markup=InlineKeyboardMarkup(row_width=1).add(InlineKeyboardButton(text="Заполнить форму", web_app=WebAppInfo(url=form_url)),
+ InlineKeyboardButton(text="Проверить данные",callback_data="check_verification"),
+ InlineKeyboardButton("▶️ Назад", callback_data="main_menu")))
+
+
+
+
+
+
+
+# Обработка нажатия на "Запись на исследование"
+@dp.callback_query_handler(lambda c: c.data == "form_regist")
+async def handle_call_menu(call: types.CallbackQuery):
+ await call.message.edit_text("После того как Вы заполните форму, нажмите на кнопку ниже для проверки данных.\n"
+ "Если Вы хотите начать общение с ботом заново, нажмите /start.", reply_markup=InlineKeyboardMarkup().add(InlineKeyboardButton(
+ text="Проверить данные",
+ callback_data="check_verification"
+ )
+ )
+ )
+
+
+
+# Обработка нажатия на "Запись на исследование"
+@dp.callback_query_handler(lambda c: c.data == "o_klinike")
+async def klinik_inf(call: types.CallbackQuery):
+ await call.message.edit_text("Добро пожаловать в специализированную ЛОР-клинику им. проф.Е.Н. Оленевой! 🎉🤗\n\n"
+ "С 2007 года мы заботимся о здоровье наших пациентов, предоставляя высококачественные медицинские услуги.\n\n"
+ "✨ Наши преимущества\n"
+ "🔹Команда из 47 профессиональных специалистов, включая 5 кандидатов медицинских наук и 1 доктора медицинских наук\n"
+ "🔹Комплексный подход к лечению с учетом индивидуальных особенностей каждого пациента\n"
+ "🔹Высокое качество первичной диагностики\n"
+ "🔹Оснащение клиники современным оборудованием экспертного класса\n"
+ "🔹Прием пациентов всех возрастных категорий\n\n"
+ "💼Наши услуги\n"
+ "🔹Прием специалистов: ЛОР-врачи, сурдологи, отоневрологи (вестибулологи), фониатр, пульмонологи, аллергологи-иммунологи\n"
+ "🔹Диагностика: эндоскопическая диагностика, аудиометрия, тимпанометрия, ОАЭ, УЗИ, ЭКГ, КТ, КСП\n"
+ "🔹Терапия: ФДТ, АСИТ-терапия, галотерапия\n"
+ "🔹Хирургия: малоинвазивные ЛОР-операции\n"
+ "🔹Слухопротезирование: диагностика слуха, подбор слуховых аппаратов\n\n"
+ "🏢 Наши клиники\n"
+ "🔹Клиника ухо,горло, нос им. проф. Е.Н. Оленевой\n"
+ "🔹Клиника лечения кашля и аллергии им. проф. Е.Н. Оленевой\n"
+ "🔹Центр диагностики и реабилитации им. проф. Е.Н. Оленевой\n\n"
+ "Работаем 7 дней в неделю для вашего удобства!\n\n"
+ "🕙 Часы работы\n"
+ "Пн-пт: 9:00 – 21:00\n"
+ "Сб-вс: 9:00 – 19:00\n"
+ "❗️Каждый 4-ый четверг месяца клиника работает до 17:00\n\n"
+ "📍 Наши адреса\n"
+ "г. Пермь, ул. Клары Цеткин, 9\n"
+ "г. Пермь, ул. Газеты Звезда, 31А\n\n"
+ "📧clinic-lor@mail.ru\n\n\n"
+ "Будьте здоровы вместе с нами❣️", reply_markup=Klinik_o, parse_mode='HTML')
+
+
+
+
+
# Обработка нажатия на "Запись на исследование"
@@ -171,6 +251,9 @@ async def handle_main_menu(call: types.CallbackQuery):
async def handle_call_menu(call: types.CallbackQuery):
await call.message.edit_text("💬 Для отправки сообщения администратору Клиники нажмите кнопку ниже 'Написать сообщение'.", reply_markup=administrator_contact)
+
+
+
# Обработка нажатия на "Запись на исследование"
@dp.callback_query_handler(lambda c: c.data == "order_call")
async def handle_admin_call_menu(call: types.CallbackQuery):
@@ -389,7 +472,7 @@ async def handle_start(message: types.Message, state: FSMContext):
await state.storage.reset_data(user=message.from_user.id) # Удаляет все данные пользователя в FSM хранилище
# Отправляем фото
- with open("s-blob-v1-IMAGE-tdNCrEv8Ldo.png", "rb") as photo:
+ with open(r"C:\Users\ilyac\PycharmProjects\Bot_Polimed\s-blob-v1-IMAGE-tdNCrEv8Ldo.png", "rb") as photo:
await bot.send_photo(
chat_id=message.from_user.id,
photo=photo,