Архитектурная роль

Модуль handlers отвечает за обработку событий, связанных с чатами, сообщениями и заказами, и взаимодействует с другими компонентами системы, такими как Cardinal, для выполнения различных операций, таких как отправка уведомлений, логирование и обработка заказов.

Компоненты и логика

LAST_STACK_ID

  • Назначение: Константа, используемая для хранения последнего стека сообщений.
  • Аргументы и связи: Нет.
  • Взаимодействие: Нет.

MSG_LOG_LAST_STACK_ID

  • Назначение: Константа, используемая для хранения последнего стека сообщений для логирования.
  • Аргументы и связи: Нет.
  • Взаимодействие: Нет.

ORDER_HTML_TEMPLATE

  • Назначение: Константа, используемая для хранения шаблона HTML для заказов.
  • Аргументы и связи: Нет.
  • Взаимодействие: Нет.

save_init_chats_handler

  • Назначение: Кэширует существующие чаты, чтобы не отправлять приветственные сообщения.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (InitialChatEvent): Событие инициализации чата.
  • Взаимодействие: Cardinal, InitialChatEvent.

update_threshold_on_initial_chat

  • Назначение: Обновляет пороговое значение для определения новых чатов.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (InitialChatEvent): Событие инициализации чата.
  • Взаимодействие: Cardinal, InitialChatEvent.

old_log_msg_handler

log_msg_handler

  • Назначение: Логирует сообщение.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (NewMessageEvent): Событие нового сообщения.
  • Взаимодействие: Cardinal, NewMessageEvent.

update_threshold_on_last_message_change

greetings_handler

add_old_user_handler

send_response_handler

  • Назначение: Проверяет, является ли сообщение командой, и если да, отправляет ответ на данную команду.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (NewMessageEvent | LastChatMessageChangedEvent): Событие нового сообщения или изменения последнего сообщения чата.
  • Взаимодействие: Cardinal, NewMessageEvent, LastChatMessageChangedEvent.

old_send_new_msg_notification_handler

  • Назначение: Отправляет уведомление о новом сообщении в телеграм.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (LastChatMessageChangedEvent): Событие изменения последнего сообщения чата.
  • Взаимодействие: Cardinal, LastChatMessageChangedEvent.

send_new_msg_notification_handler

  • Назначение: Отправляет уведомление о новом сообщении в телеграм.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (NewMessageEvent): Событие нового сообщения.
  • Взаимодействие: Cardinal, NewMessageEvent.

send_review_notification

  • Назначение: Отправляет уведомление о новом отзыве.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • order (Order): Объект заказа.
  • chat_id (int): ID чата.
  • reply_text (str | None): Текст ответа на отзыв.
  • Взаимодействие: Cardinal, Order.

process_review_handler

send_command_notification_handler

test_auto_delivery_handler

send_categories_raised_notification_handler

  • Назначение: Отправляет уведомление о поднятии лотов в Telegram.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • cat (Category): Категория.
  • error_text (str): Текст ошибки.
  • Взаимодействие: Cardinal, Category.

get_lot_config_by_name

  • Назначение: Ищет секцию лота в конфиге автовыдачи.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • name (str): Название лота.
  • Возвращаемое значение: Секция конфига или None.
  • Взаимодействие: Cardinal.

check_products_amount

  • Назначение: Проверяет количество продуктов.
  • Аргументы и связи:
  • config_obj (configparser.SectionProxy): Объект секции конфига.
  • Возвращаемое значение: Количество продуктов.
  • Взаимодействие: Нет.

log_new_order_handler

  • Назначение: Логирует новый заказ.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (NewOrderEvent): Событие нового заказа.
  • *args: Дополнительные аргументы.
  • Взаимодействие: Cardinal, NewOrderEvent.

setup_event_attributes_handler

  • Назначение: Устанавливает атрибуты события.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (NewOrderEvent): Событие нового заказа.
  • *args: Дополнительные аргументы.
  • Взаимодействие: Cardinal, NewOrderEvent.

send_new_order_notification_handler

  • Назначение: Отправляет уведомления о новом заказе в телеграм.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (NewOrderEvent): Событие нового заказа.
  • *args: Дополнительные аргументы.
  • Взаимодействие: Cardinal, NewOrderEvent.

deliver_goods

  • Назначение: Доставляет товары.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (NewOrderEvent): Событие нового заказа.
  • *args: Дополнительные аргументы.
  • Взаимодействие: Cardinal, NewOrderEvent.

deliver_product_handler

  • Назначение: Обертка для deliver_product(), обрабатывающая ошибки.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (NewOrderEvent): Событие нового заказа.
  • *args: Дополнительные аргументы.
  • Возвращаемое значение: None.
  • Взаимодействие: Cardinal, NewOrderEvent.

send_delivery_notification_handler

  • Назначение: Отправляет уведомление в телеграм об отправке товара.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (NewOrderEvent): Событие нового заказа.
  • Взаимодействие: Cardinal, NewOrderEvent.

update_current_lots

  • Назначение: Обновляет текущие лоты.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (NewOrderEvent): Событие нового заказа.
  • Взаимодействие: Cardinal, NewOrderEvent.

update_profile_lots

  • Назначение: Обновляет лоты в c.profile.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • e (NewOrderEvent): Событие нового заказа.
  • Взаимодействие: Cardinal, NewOrderEvent.

update_lot_state

  • Назначение: Обновляет состояние лота.
  • Аргументы и связи:
  • cardinal (Cardinal): Объект кардинала.
  • lot (LotShortcut): Объект лота.
  • task (int): Задача (-1 - деактивировать лот, 1 - активировать лот).
  • Возвращаемое значение: Результат выполнения.
  • Взаимодействие: Cardinal, LotShortcut.

update_lots_states

  • Назначение: Обновляет состояния лотов.
  • Аргументы и связи:
  • cardinal (Cardinal): Объект кардинала.
  • event (NewOrderEvent): Событие нового заказа.
  • Взаимодействие: Cardinal, NewOrderEvent.

update_profiles_handler

  • Назначение: Обновляет информацию о профилях и состояния лотов в отдельном потоке.
  • Аргументы и связи:
  • cardinal (Cardinal): Объект кардинала.
  • event (NewOrderEvent | OrdersListChangedEvent): Событие нового заказа или изменения списка заказов.
  • *args: Дополнительные аргументы.
  • Взаимодействие: Cardinal, NewOrderEvent, OrdersListChangedEvent.

send_thank_u_message_handler

  • Назначение: Отправляет ответное сообщение на подтверждение заказа.
  • Аргументы и связи:
  • cardinal (Cardinal): Объект кардинала.
  • event (OrderStatusChangedEvent): Событие изменения статуса заказа.
  • Взаимодействие: Cardinal, OrderStatusChangedEvent.

send_order_confirmed_notification_handler

  • Назначение: Отправляет уведомление о подтверждении заказа в Telegram.
  • Аргументы и связи:
  • cardinal (Cardinal): Объект кардинала.
  • event (OrderStatusChangedEvent): Событие изменения статуса заказа.
  • Взаимодействие: Cardinal, OrderStatusChangedEvent.

send_bot_started_notification_handler

  • Назначение: Отправляет уведомление о запуске бота в телеграм.
  • Аргументы и связи:
  • c (Cardinal): Объект кардинала.
  • *args: Дополнительные аргументы.
  • Взаимодействие: Cardinal.

Граф зависимостей