Рейтинг: 30
Верифицирован через Сбер ID
Всего отзывов: 0
  • Работ в портфолио: 2
  • Типовых услуг: 1
  • Работ на продажу: 0
  • Возраст: 20 лет
  • Зарегистрирован: 14.06.2026
  • Образование: Среднее профессиональное
  • Юридический статус:Частное лицо
  • Стоимость услуг (руб): 500 за час 100 000 за месяц
Был на сайте:

Парсер + Telegram бот для фрилансера

Используемые навыки:

Описание

Клиент — фрилансер, ежедневно мониторящий Kwork в поисках заказов. Задача: автоматизировать ручной просмотр ленты, фильтрацию неподходящих проектов и написание откликов. Цель — получать в Telegram только релевантные заказы с готовым текстом отклика, без траты времени на скроллинг и ручной анализ.

Решение

Telegram-бот на Python, который в фоне парсит 9 категорий Kwork, прогоняет заказы через двухуровневый фильтр (ключевые слова + OpenRouter AI), оценивает релевантность в процентах, генерирует сопроводительное письмо и отправляет результат админу в Telegram. Полное управление настройками — из интерфейса бота, без правки конфигов на сервере.

Стек и архитектура:
• Python 3.9+, pyTelegramBotAPI, httpx, SQLite
• Парсер — извлекает заказы из JSON на страницах категорий Kwork (без браузера, без Selenium)
• AI-слой — OpenRouter API с выбором модели (Llama 3.3, Gemini 2.0, DeepSeek), кастомный prompt, fallback на keyword-фильтр при отказе AI
• Очередь заказов — SQLite с ежедневной агрегацией статистики (парсинг, AI-одобрение, отправка, заработок)
• UI — единое редактируемое сообщение в Telegram (edit-in-place), инлайн-клавиатуры, ввод данных через цепочку callback + reply
• Развёртывание — systemd-сервис на VPS (Ubuntu 24.04, Нидерланды), без прокси

Реализованный функционал:
— Главный дашборд: статус парсера, модель AI, бюджет, статистика за сегодня, копилка с прогресс-баром
— Настройки: режим анализа, интервал, модель, промпт, технологии, стоп-слова, ЧС
— Входящие заказы: название, описание, бюджет, AI-анализ, сопроводительное письмо, ссылка
— Копилка: ручное и авто-пополнение, цель, комиссия (5–20%)
— Статистика: общая за всё время + дневная за 7 дней с визуальной гистограммой
— Отклики: учёт выполненных, в работе, отказных
— Кнопки «Готово» / «Отмена» в каждом заказе
— Фильтр по минимальному бюджету и чёрному списку заказчиков

Особенности реализации:
• Edit-in-place — все экраны бота рендерятся в одном сообщении, без спама новыми
• Атомарный парсинг JSON из window.stateData через ручной brace-counter (без regex)
• Graceful degradation AI-фильтра: при ошибке OpenRouter падает в keyword-режим
• WAL-режим SQLite для конкурентного доступа из потоков бота и главного цикла
• Защита кода через компиляцию в .pyc для передачи заказчику

Презентация проекта

IMG_7421.png
IMG_7422.png
IMG_7423.png
IMG_7424.png
IMG_7425.png

Оценили проект:

1