Задачи чат-бота: Автоматическое сообщение. Продукт: Покупка. Техзадание есть. Техническое задание: Бот для автоматической отправки предложений цен на Авито 1. Общее описание Система из Telegram-бота и бэкенда, которая: • Получает ссылки на объявления Авито из Telegram и ВКонтакте • Парсит и анализирует данные в объявлении • Авторизуется в Авито под выбранным аккаунтом • Отправляет продавцу сообщение с предложением цены по шаблону • Ведёт отчётность по всем операциям 2. Источники ссылок 2.1 Telegram • Бот подключается к указанному Telegram-аккаунту/боту • Получает сообщения из указанных чатов/каналов • Из каждого сообщения извлекает ссылки на avito.ru 2.2 ВКонтакте • Подключение через API ВК (токен) • Получение сообщений из указанных диалогов/групп • Извлечение ссылок на avito.ru 2.3 Обработка ссылок • Если в одном сообщении несколько ссылок — обрабатывать по очереди • Дубликаты (уже обработанные ссылки) — пропускать 3. Парсинг объявления Авито При переходе по ссылке собирать: •Состояние •Поломки •Замены •Ремонты Предлагать цену исходя из состояния 4. Шаблон сообщения 4.1 Переменные для подстановки • название объявления • текущая цена • имя продавца • предлагаемая цена (задаётся пользователем) • город 4.2 Варианты шаблонов Хранить 3–5 вариантов текста. При отправке выбирать случайный. Пример шаблонов: Парсинг данных с Гугл таблицы с ценами 5. Аккаунты Авито 5.1 Хранение • Список аккаунтов (логин/пароль или cookie-сессии) • Ручное переключение между аккаунтами 5.3 Авторизация • Первый вход: ручное прохождение капчи • Сохранение cookie-сессии для последующих запусков 6. Отправка сообщений 6.1 Процесс 1. Открыть текущий аккаунт 2. Подставить шаблон с переменными 3. Отправить сообщение 4. Задержка перед следующей отправкой: случайная 25-120 секунд 6.2 Ограничения • Лимит отправок: настраивается • При достижении лимита — уведомление в Telegram, предложение переключить аккаунт 7. Отчётность 7.1 Что логировать 7.2 Отчёты в Telegram 7.3 Хранение • База данных • Хранение истории 8. Интерфейс Telegram-бота 8.1 Основные команды •стоп •продолжить • новые ( парсит только ссылки после этого сообщения) 8.2 Уведомления • При ошибке авторизации • При блокировке аккаунта • При достижении дневного лимита • По завершении обработки очереди 10. Требования к надёжности • При падении — автоперезапуск • уведомление об ошибках а Тг бот • При остановке завершить текущую операцию, не обрывать.