Проблема
Хорошие заказы на фриланс-биржах разбирают в первые минуты после публикации, а следить за лентой вручную весь день невозможно.
Решение
Бот сам забирает новые заказы, отсеивает лишнее и присылает в Telegram готовую карточку:
- оценка совпадения, бюджет «желаемый — максимальный», число предложений, возраст заказа;
- данные о заказчике: сколько проектов размещал и какой процент нанял, пометка «новичок»;
- ключевые слова, по которым заказ прошёл фильтр;
- кнопки «Интересно / Неинтересно» — отметки копятся и показывают, какие заказы мне подходят;
- карточка обновляется, когда меняется число откликов;
- если источник перестал отвечать — приходит предупреждение.
Архитектура
- cronзапуск каждую минуту, flock от наложений
- Биржистраница проектов и RSS
- Фильтрслова, бюджет, возраст, найм
- SQLiteдедупликация, состояние карточек
- TelegramsendMessage / editMessageText
Реализация
PHP 8.3 без фреймворков, SQLite с миграциями через PRAGMA table_info, Telegram Bot API. Работает на собственном VPS (Ubuntu 24.04). Есть поиск по собранным заказам, статистика, раздел долгосрочных заказов и настройка минимального бюджета прямо из бота. Отдельный экземпляр для агентства с двумя получателями и своими порогами бюджета.