KworkHunterBot - Telegram-бот для фрилансеров [GitHub]
KworkHunterBot — это Telegram-бот для фрилансеров, который помогает быстро отслеживать новые проекты на бирже Kwork и оперативно откликаться на них, увеличивая ваши шансы получить заказ.
Возможности
- Мгновенные уведомления о новых проектах по выбранным категориям Kwork.
- Авторизация через Kwork прямо в Telegram.
- Просмотр информации о проекте и быстрый переход к отклику.
- Получение вложений к проектам прямо в чат.
- Безопасное хранение данных (логин/пароль шифруются, ключ шифрования теряется после перезагрузки бота).
Как это работает?
- Авторизация: Введите свои данные Kwork через бота (все данные шифруются и не передаются третьим лицам).
- Выбор категорий: На сайте Kwork выберите любимые рубрики, по которым хотите получать проекты.
- Включение отслеживания: Включите отслеживание через раздел «Профиль» в боте.
- Получение уведомлений: Бот будет присылать новые проекты по выбранным категориям сразу после их появления на бирже.
Быстрый старт
1. Клонируйте репозиторий:
git clone git@github.com:kurochki-n/Kwork-Hunter-Bot.git
cd Kwork-Hunter-Bot
2. Установите зависимости с помощью пакетного менеджера uv:
uv sync
3. Настройте переменные окружения:
Создайте файл .env на основе .env.example и укажите токен бота, строку подключения к БД (можно скопировать из .env.example) и контакт поддержки.
4. Запустите бота:
uv run main.py
Структура проекта
- main.py — точка входа, настройка бота, логирование, запуск планировщика.
- api/ — работа с API Kwork, авторизация, получение проектов.
- bot/handlers/ — обработчики команд, кнопок, локализация сообщений.
- bot/utils/ — вспомогательные функции, трекинг проектов.
- db/ — модели SQLAlchemy, база данных пользователей и сессий.
- config_reader.py — чтение конфигурации из .env.
- logs/ — папка для логов (создается при первом запуске бота).
- temp/ — временные файлы (создается при первом запуске бота).
Модели данных
- User — пользователь Telegram, связанный с одной сессией Kwork.
- KworkSession — данные для авторизации и отслеживания проектов (логин, пароль, cookie, последние проекты).
Требования
- Python 3.13+
- SQLite (по умолчанию) или другая поддерживаемая СУБД
- Telegram Bot API токен (получите в BotFather)
- Аккаунт продавца на Kwork
Начать дискуссию