добавление кнопки О Клинике
This commit is contained in:
@@ -38,7 +38,7 @@ last_bot_message_id = {}
|
|||||||
|
|
||||||
# Авторизация и доступ к таблице
|
# Авторизация и доступ к таблице
|
||||||
scope = ["https://spreadsheets.google.com/feeds", "https://www.googleapis.com/auth/drive"]
|
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)
|
client = gspread.authorize(credentials)
|
||||||
sheet = client.open("Пациенты клиники").sheet1 # Открытие таблицы, используйте название вашей таблицы
|
sheet = client.open("Пациенты клиники").sheet1 # Открытие таблицы, используйте название вашей таблицы
|
||||||
|
|
||||||
@@ -85,7 +85,9 @@ logging.basicConfig(level=logging.INFO)
|
|||||||
# Главное меню
|
# Главное меню
|
||||||
main_menu = InlineKeyboardMarkup(row_width=2).add(
|
main_menu = InlineKeyboardMarkup(row_width=2).add(
|
||||||
InlineKeyboardButton("🌍 Контакты", callback_data="menu_contacts"),
|
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")
|
InlineKeyboardButton("▶️ Назад", callback_data="main_menu")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Подменю "О Клинике"
|
||||||
|
Klinik_o = InlineKeyboardMarkup(row_width=1).add(
|
||||||
|
InlineKeyboardButton("▶️ Назад", callback_data="main_menu")
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
# Меню связь
|
# Меню связь
|
||||||
contact_menu = InlineKeyboardMarkup(row_width=1).add(
|
contact_menu = InlineKeyboardMarkup(row_width=1).add(
|
||||||
InlineKeyboardButton("💬 Отправить сообщение администратору Клиники", callback_data="contact_administrator"),
|
InlineKeyboardButton("💬 Отправить сообщение администратору Клиники", callback_data="contact_administrator"),
|
||||||
InlineKeyboardButton("🛎 Заказать звонок от администратора Клиники", callback_data="order_call"),
|
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(
|
administrator_contact = InlineKeyboardMarkup(row_width=1).add(
|
||||||
InlineKeyboardButton("✍🏼 Написать сообщение", callback_data="message_admin"),
|
InlineKeyboardButton("✍🏼 Написать сообщение", callback_data="message_admin"),
|
||||||
InlineKeyboardButton("▶️ Назад", callback_data="menu_contact"),
|
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")
|
@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):
|
||||||
|
user_id = call.from_user.id
|
||||||
|
|
||||||
|
# Генерируем ссылку с user_id
|
||||||
|
form_url = f"https://tgbotpolimed.pirogov.ai/?user_id={user_id}"
|
||||||
if call.data == "main_menu":
|
if call.data == "main_menu":
|
||||||
await call.message.edit_text("В настоящее время я, как Ваш виртуальный помощник, активно развиваюсь."
|
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")
|
"Присоединяйтесь к нашему каналу новостей в <a href='https://t.me/permlor'>Telegram</a>.", reply_markup=contacts_menu, parse_mode="HTML")
|
||||||
elif call.data == "menu_contact":
|
elif call.data == "menu_contact":
|
||||||
await call.message.edit_text("Выберите способ связи", reply_markup=contact_menu)
|
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):
|
async def handle_call_menu(call: types.CallbackQuery):
|
||||||
await call.message.edit_text("💬 Для отправки сообщения администратору Клиники нажмите кнопку ниже 'Написать сообщение'.", reply_markup=administrator_contact)
|
await call.message.edit_text("💬 Для отправки сообщения администратору Клиники нажмите кнопку ниже 'Написать сообщение'.", reply_markup=administrator_contact)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Обработка нажатия на "Запись на исследование"
|
# Обработка нажатия на "Запись на исследование"
|
||||||
@dp.callback_query_handler(lambda c: c.data == "order_call")
|
@dp.callback_query_handler(lambda c: c.data == "order_call")
|
||||||
async def handle_admin_call_menu(call: types.CallbackQuery):
|
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 хранилище
|
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(
|
await bot.send_photo(
|
||||||
chat_id=message.from_user.id,
|
chat_id=message.from_user.id,
|
||||||
photo=photo,
|
photo=photo,
|
||||||
|
|||||||
Reference in New Issue
Block a user