Бот - Фильтр чатов

Добавлено 11 дек 2024 в 20:22
Этот бот-фильтр улучшен для обработки вопросов и сообщений на основе указанных параметров. Он работает с чатами и вопросами, соблюдая условия по времени и формату сообщений. Ниже приведено описание функциональности с учётом изменений:


Улучшенные функции:


  1. Обработка сообщений по формату:



    • Бот проверяет, соответствует ли сообщение заданным параметрам (например, начинается с определённого слова, содержит ключевые фразы или специфический формат).

    • Пользователь должен отправить сообщение в установленной форме, например:
      Тема: <Название темы>
      Вопрос: <Текст вопроса>


    • Если формат не соблюдается, бот уведомляет пользователя о необходимости корректной отправки сообщения.




  2. Фильтрация по времени:



    • Бот проверяет текущие дату и время:

      • Работает только в указанные временные рамки (например, с 9:00 до 19:00 по будням).

      • В нерабочее время, а также в выходные и праздничные дни, отправляет пользователю вежливый ответ с просьбой дождаться рабочего времени.



    • Праздники задаются в списке holidays, что позволяет гибко обновлять их список.




  3. Ответы администратора:



    • Когда вопрос проходит фильтрацию, он пересылается администратору (владелец чата, указанный в config.owner).

    • Для каждого сообщения генерируется кнопка "Ответить", которая позволяет администратору отправить ответ прямо в чат с пользователем.




  4. Гибкое управление разрешёнными чатами:



    • Бот работает только с чатами, перечисленными в allowed_chats. Это предотвращает обработку сообщений из нежелательных источников.




  5. Поддержка различных типов контента:



    • Бот обрабатывает текст, фотографии, видео, документы и другие указанные в content_types типы данных.

    • Например, можно настроить фильтрацию вопросов с вложенными изображениями или видео.




  6. Логирование:



    • Ведётся журнал всех взаимодействий, включая дату, время, название чата, ID чата и пользователей, а также тип сообщений.

    • Позволяет администраторам отслеживать все события и выявлять проблемы.




Пример сценария:

  1. Пользователь отправляет сообщение в формате:
    Тема: Техническая проблема
    Вопрос: Как обновить ПО на устройстве?


  2. Бот проверяет:

    • Соответствие формату.

    • Время отправки (рабочее/нерабочее).

    • Разрешён ли чат для обработки.



  3. Если все условия выполнены, бот:

    • Пересылает вопрос администратору с кнопкой "Ответить".



  4. Администратор нажимает "Ответить" и отправляет текстовый ответ, который пересылается пользователю.


Эта логика делает бота удобным для использования в командах поддержки, автоматизации вопросов и соблюдения чёткого расписания работы.

156cc7c73e Bb1064c3b6