Все пути представленные дальше будут предсталвять из себя относительные пути из /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
.