Все пути представленные дальше будут предсталвять из себя относительные пути из /telegram/core/handlers.
Cодержит хендлеры, которые используются гостями и спикерами, то есть не модераторами.
Модуль guest/event_status.py содержит хэндлеры для записи на мероприятия (add_event), отображения описания (show_event_description) и отказа от мероприятия (remove_event_speaker, remove_event_guest).
Все хэндлеры срабатывают на определенный сallback. Информация о мероприятии отображается в данных callback.
Модуль guest/general_schedule.py содержит хэндлеры для отображения расписания мероприятий. Существуют различные способы отображать расписание: все расписания (all_common_schedule, common_schedule), поиск мероприятий по названию (find_common_events, scan_title_for_search). Также определена функция отображающая расписание согласно формату (answer_formatted_events). Через отображение расписания пользователь может отказаться или добавить мероприятие.
Модуль guest/guest_load.py содержит хэндлеры для загрузки материалов(guest_load_file, guest_load_process_name)
Модуль guest/guest_schedule.py содержит хэндлеры для отображения персонального расписания. Хэндлер personal_schedule выводит клавиатуру с возможностями визуализации собственного расписания: расписание на сегодня (show_personal_schedule_today), расписание на завтра (show_personal_schedule_tomorrow), все время (show_personal_schedule_all), а также выступления (show_personal_speech). Через отображение расписания пользователь может отказаться или добавить мероприятие.
Модуль guest/message_event_status.py собирает обратную связь о предстоящем событии от гостя (event_status_guest) и от спикера (event_status_speaker). Данная информация заносится в бд. Сообщение от спикера пересылается модераторам, чтобы они были в курсе о состоянии спикера.
Содержит хендлеры, которые используются модераторами
Модуль start_handler.py содержит обработчики для нача работы с ботом. Он определяет команды: /start, /stop, /menu. В нем находятся обработчики для ввода email-a. После того, как email введен, то управление переходит обработчикам, расположенным в двух папках, упомянутых выше.
Модуль moderator/general_schedule.py содержит хэндлеры, отвечающие за отображение расписания: все расписания (all_common_schedule, common_schedule), поиск мероприятий по названию (find_common_events, scan_title_for_search). Также определена функция отображающая расписание согласно формату (answer_formatted_events). При просмотре расписания модератор не может записаться или отказаться от мероприятия.
Модуль moderator/moderator_handlers.py содержит хэндлеры для загрузки расписания в .xls формате.
Хэндлер upload_xls позволяет загрузить новое расписание и очистить все данные.
Модуль moderator/moderator_save_load.py позволяет загружать и сохранять необходимые материалы (mod_save_process_database), а также вспомогательные хэндлеры для выбора файла.
Модуль moderator/show_responses.py содержит описание хэндлеров для просмотра ответов спикеров и гостей.
Существует несколько способов просмотра ответов: ответы всех участников (show_all_responses), ответы участников, отобранные по названию мероприятия (show_responses_for_title), по ФИО (show_responses_for_snp), отдельно ответы спикеров (answer_formatted_speaker_replies) и ответы гостей (show_responses_guests)
Модуль moderator/token_handlers.py содержит хэндлеры для авторизации бота через токен. Для авторизации необходимы хэндлеры ввода токена (use_token), ввода (почты enter_email_for_token), ввода фио (enter_snp_for_token), ввода номера телефона (enter_phone_for_token). Для ввода всех параметров используются состояния конечного автомата, который встроен в библиотеку aiogram.