Browse Source

добавление кнопки О Клинике

master
parent
commit
aaae073b37
  1. 91
      BotPM.py

91
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):
"Присоединяйтесь к нашему каналу новостей в <a href='https://t.me/permlor'>Telegram</a>.", 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("<b>Добро пожаловать в специализированную ЛОР-клинику им. проф.Е.Н. Оленевой!</b> 🎉🤗\n\n"
"С 2007 года мы заботимся о здоровье наших пациентов, предоставляя высококачественные медицинские услуги.\n\n"
"✨ <b>Наши преимущества</b>\n"
"🔹Команда из 47 профессиональных специалистов, включая 5 кандидатов медицинских наук и 1 доктора медицинских наук\n"
"🔹Комплексный подход к лечению с учетом индивидуальных особенностей каждого пациента\n"
"🔹Высокое качество первичной диагностики\n"
"🔹Оснащение клиники современным оборудованием экспертного класса\n"
"🔹Прием пациентов всех возрастных категорий\n\n"
"💼<b>Наши услуги</b>\n"
"🔹<u>Прием специалистов:</u> ЛОР-врачи, сурдологи, отоневрологи (вестибулологи), фониатр, пульмонологи, аллергологи-иммунологи\n"
"🔹<u>Диагностика:</u> эндоскопическая диагностика, аудиометрия, тимпанометрия, ОАЭ, УЗИ, ЭКГ, КТ, КСП\n"
"🔹<u>Терапия:</u> ФДТ, АСИТ-терапия, галотерапия\n"
"🔹<u>Хирургия:</u> малоинвазивные ЛОР-операции\n"
"🔹<u>Слухопротезирование:</u> диагностика слуха, подбор слуховых аппаратов\n\n"
"🏢 <b>Наши клиники</b>\n"
"🔹Клиника ухо,горло, нос им. проф. Е.Н. Оленевой\n"
"🔹Клиника лечения кашля и аллергии им. проф. Е.Н. Оленевой\n"
"🔹Центр диагностики и реабилитации им. проф. Е.Н. Оленевой\n\n"
"<b>Работаем 7 дней в неделю для вашего удобства!</b>\n\n"
"🕙 <b>Часы работы</b>\n"
"Пн-пт: 9:00 – 21:00\n"
"Сб-вс: 9:00 – 19:00\n"
"Каждый 4-ый четверг месяца клиника работает до 17:00\n\n"
"📍 <b>Наши адреса</b>\n"
"г. Пермь, ул. Клары Цеткин, 9\n"
"г. Пермь, ул. Газеты Звезда, 31А\n\n"
"📧clinic-lor@mail.ru\n\n\n"
"<b>Будьте здоровы вместе с нами</b>❣", 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,

Loading…
Cancel
Save