Задачи чат-бота: сбор информации. Продукт: продажа техники. Техзадание есть. 🎯 Цель проекта Нужен инструмент, который будет собирать все запросы на товары из Telegram-чатов и каналов, фильтровать их по ключевым словам и показывать мне (и команде) в удобном виде прямо в Telegram. Основная цель — моментально видеть клиентов, которые что-то ищут или хотят купить, и быстро переходить к ним в личку. ⚙️ Как должно работать 1. Парсер (через userbot) Используется обычный Telegram-аккаунт (userbot), который подключается через API ID и API Hash. Этот аккаунт можно добавлять в любые чаты и каналы, даже приватные. После подключения парсер видит все сообщения в этих чатах. Все новые сообщения отправляются на сервер, где идёт проверка по ключевым словам. Подключать чаты можно по@username или по ID. Пример: я добавил userbot в 50–100 чатов, и он автоматически читает всё, что там пишут. 2. Бот для операторов Отдельный Telegram-бот, в котором приходят все найденные сообщения. Если фильтры выключены — бот показывает всё подряд. Если фильтры включены — только нужные запросы. В карточке каждого найденного сообщения бот показывает: из какого чата сообщение; кто написал (ник, имя, ID); текст сообщения; какие ключевые слова сработали. Под сообщением — кнопки: Написать в ЛС (переход к автору запроса); Дублировать сообщение (бот подставляет текст, чтобы сразу ответить); Поставить метку клиенту («Горячий», «Неинтересно», «Связаться позже» и т. д.); История клиента (его прошлые запросы и пометки). 3. Ключевые слова и фильтры Можно задать список ключевых слов и фраз (например: «куплю», «ищу», «iphone»). Можно задать исключения (например, игнорировать слова «обмен», «работа»). Можно делать наборы фильтров: по словам (включить/исключить), по конкретным чатам, по авторам (новые, старые, помеченные), по времени (например, за последние 24 часа). 4. Пометки по клиентам Бот запоминает пользователей, которые писали запросы. Можно ставить им метки (например: «Горячий клиент», «Нужен фидбек», «ЧС»). При следующем сообщении этого человека бот показывает, что он уже есть в базе. Также можно открыть историю его запросов. 5. Управление чатами Команда /add_chat — добавить чат по @username или ID. /remove_chat — удалить. /list_chats — список подключённых чатов с их статусом (OK / нет доступа / ожидает добавления). Если userbot не добавлен в чат — бот показывает уведомление, что нужно пригласить. 6. Работа команды Несколько операторов могут работать через один бот. У каждого — свои фильтры, но база клиентов общая. Можно отмечать сообщения как «взято в работу» или «закрыто». У админа — доступ к настройкам, спискам слов, фильтрам, чатам и операторам. 📊 Что должно храниться Все подключённые чаты. История сообщений, где были совпадения по ключевым словам. Список клиентов (ник, ID, метки, история запросов). Настройки фильтров и словарей. 💻 Техническая сторона (в общих чертах) Парсер на Telethon (Python). База данных: PostgreSQL (основная) + Redis (для скорости). Бот на Aiogram или PyTelegramBotAPI. Всё развёрнуто в Docker (контейнеры: parser, backend, bot, db, redis). Данные и сессия userbot хранятся безопасно. 🧱 Минимальный функционал (первый этап) Подключение чатов и сбор сообщений через userbot. Поиск по ключевым словам. Вывод подходящих сообщений в боте. Кнопка «Написать в ЛС». Возможность ставить метки клиентам. Простое редактирование списка ключевых слов. ⚡ Производительность Должен тянуть 50–100 чатов. Обновления с задержкой не больше 3–5 секунд. Не дублировать одно и то же сообщение несколько раз. 🔐 Безопасность Данные аккаунта userbot хранятся локально (или в зашифрованном виде). Никаких рассылок — только чтение сообщений. Telegram-правила не нарушаются. При сбое или блокировке userbot должен уведомлять администратора. 📅 Этапы реализации Создание парсера и подключение userbot. Сбор и фильтрация сообщений по ключевым словам. Интерфейс бота с карточками и кнопками действий. Метки клиентов и фильтры. Тестирование и оптимизация. пример https://t.me/gorbushkinbot.