Этот бот-фильтр улучшен для обработки вопросов и сообщений на основе указанных параметров. Он работает с чатами и вопросами, соблюдая условия по времени и формату сообщений. Ниже приведено описание функциональности с учётом изменений:
Улучшенные функции:
Обработка сообщений по формату:
- Бот проверяет, соответствует ли сообщение заданным параметрам (например, начинается с определённого слова, содержит ключевые фразы или специфический формат).
- Пользователь должен отправить сообщение в установленной форме, например:
Тема: <Название темы>
Вопрос: <Текст вопроса>
- Если формат не соблюдается, бот уведомляет пользователя о необходимости корректной отправки сообщения.
Фильтрация по времени:
- Бот проверяет текущие дату и время:
- Работает только в указанные временные рамки (например, с 9:00 до 19:00 по будням).
- В нерабочее время, а также в выходные и праздничные дни, отправляет пользователю вежливый ответ с просьбой дождаться рабочего времени.
- Праздники задаются в списке holidays, что позволяет гибко обновлять их список.
Ответы администратора:
- Когда вопрос проходит фильтрацию, он пересылается администратору (владелец чата, указанный в config.owner).
- Для каждого сообщения генерируется кнопка "Ответить", которая позволяет администратору отправить ответ прямо в чат с пользователем.
Гибкое управление разрешёнными чатами:
- Бот работает только с чатами, перечисленными в allowed_chats. Это предотвращает обработку сообщений из нежелательных источников.
Поддержка различных типов контента:
- Бот обрабатывает текст, фотографии, видео, документы и другие указанные в content_types типы данных.
- Например, можно настроить фильтрацию вопросов с вложенными изображениями или видео.
Логирование:
- Ведётся журнал всех взаимодействий, включая дату, время, название чата, ID чата и пользователей, а также тип сообщений.
- Позволяет администраторам отслеживать все события и выявлять проблемы.
Пример сценария:
- Пользователь отправляет сообщение в формате:
Тема: Техническая проблема
Вопрос: Как обновить ПО на устройстве?
- Бот проверяет:
- Соответствие формату.
- Время отправки (рабочее/нерабочее).
- Разрешён ли чат для обработки.
- Если все условия выполнены, бот:
- Пересылает вопрос администратору с кнопкой "Ответить".
- Администратор нажимает "Ответить" и отправляет текстовый ответ, который пересылается пользователю.
Эта логика делает бота удобным для использования в командах поддержки, автоматизации вопросов и соблюдения чёткого расписания работы.