72 lines
2.7 KiB
Python
72 lines
2.7 KiB
Python
from telegram.ext import (
|
|
Application,
|
|
CommandHandler,
|
|
CallbackQueryHandler,
|
|
MessageHandler,
|
|
filters,
|
|
)
|
|
from bot.handlers import (
|
|
start,
|
|
handle_button_click,
|
|
manage_hotels,
|
|
hotel_actions,
|
|
delete_hotel,
|
|
check_pms,
|
|
setup_rooms,
|
|
settings_menu,
|
|
toggle_telegram,
|
|
toggle_email,
|
|
show_current_settings,
|
|
statistics,
|
|
generate_statistics,
|
|
stats_select_period,
|
|
)
|
|
|
|
from bot.operations.settings import (
|
|
settings_menu,
|
|
toggle_telegram,
|
|
toggle_email,
|
|
show_current_settings,
|
|
set_notification_time,
|
|
|
|
)
|
|
|
|
from bot.operations.notifications import (
|
|
handle_notification_time,
|
|
)
|
|
|
|
from bot.operations.users import (
|
|
|
|
show_users,
|
|
|
|
)
|
|
|
|
def setup_bot(application: Application):
|
|
"""Настройка Telegram бота: регистрация обработчиков."""
|
|
print("Настройка Telegram приложения...")
|
|
|
|
# Регистрация обработчиков команд
|
|
application.add_handler(CommandHandler("start", start))
|
|
|
|
# Регистрация обработчиков кнопок
|
|
application.add_handler(CallbackQueryHandler(handle_button_click))
|
|
application.add_handler(CallbackQueryHandler(manage_hotels, pattern="^manage_hotels$"))
|
|
application.add_handler(CallbackQueryHandler(show_users, pattern="^manage_users$"))
|
|
application.add_handler(CallbackQueryHandler(settings_menu, pattern="^settings$"))
|
|
application.add_handler(CallbackQueryHandler(toggle_telegram, pattern="^toggle_telegram$"))
|
|
application.add_handler(CallbackQueryHandler(toggle_email, pattern="^toggle_email$"))
|
|
application.add_handler(CallbackQueryHandler(set_notification_time, pattern="^set_notification_time$"))
|
|
application.add_handler(CallbackQueryHandler(show_current_settings, pattern="^current_settings$"))
|
|
application.add_handler(CallbackQueryHandler(hotel_actions, pattern="^hotel_"))
|
|
application.add_handler(CallbackQueryHandler(delete_hotel, pattern="^delete_hotel_"))
|
|
application.add_handler(CallbackQueryHandler(check_pms, pattern="^check_pms_"))
|
|
application.add_handler(CallbackQueryHandler(setup_rooms, pattern="^setup_rooms_"))
|
|
application.add_handler(CallbackQueryHandler(statistics, pattern="^stats$"))
|
|
application.add_handler(CallbackQueryHandler(stats_select_period, pattern="^stats_hotel_"))
|
|
application.add_handler(CallbackQueryHandler(generate_statistics, pattern="^stats_period_"))
|
|
|
|
# Регистрация обработчиков текстовых сообщений
|
|
application.add_handler(MessageHandler(filters.TEXT & filters.ChatType.PRIVATE, handle_notification_time))
|
|
|
|
print("Обработчики успешно зарегистрированы.")
|