14 KiB
Запуск проекта PrimeKraft на Windows (с нуля)
Проект — Telegram-бот для работы с отзывами Ozon/Wildberries, GPT-анализом и Google Таблицами. Изначально настроен под Linux, но на Windows запускается без изменений кода.
Ниже шаги для компьютера, где ничего не установлено (ни Python, ни что-то ещё).
Какие данные куда записать
1. Файл .env (в корне проекта)
Создайте файл .env в папке с проектом (рядом с pyproject.toml) и заполните переменные без кавычек, по одной в строке:
| Переменная | Что подставить | Обязательно |
|---|---|---|
BOT_TOKEN |
Токен бота от @BotFather | Да |
TG_CHAT_ID |
ID чата (число, например -1003569236790) — куда слать отзывы |
Да |
GOOD_REVIEWS_THREAD_ID |
ID топика для положительных отзывов (число) | Да |
BAD_REVIEWS_THREAD_ID |
ID топика для отрицательных отзывов (число) | Да |
EMPTY_LOW_RATING_THREAD_ID |
ID топика для отзывов без текста 1–3 ★ (или не указывать) | Нет |
EMPTY_HIGH_RATING_THREAD_ID |
ID топика для отзывов без текста 4–5 ★ (или не указывать) | Нет |
NEGATIVE_RATING |
Порог «плохого» отзыва: оценка ≤ этого числа = плохой (по умолчанию 3) | Нет |
REVIEWS_SHEET_LINK |
Полная ссылка на Google-таблицу, куда пишутся отзывы | Да (если нужна таблица) |
PRODUCTS_WB_SHEET_LINK |
Ссылка на таблицу с товарами WB (артикулы и т.д.) | Для WB |
PRODUCTS_OZON_SHEET_LINK |
Ссылка на таблицу с товарами Ozon (Ozon ID и т.д.) | Для Ozon |
OZON_API_KEY |
API-ключ личного кабинета Ozon | Для Ozon |
OZON_CLIENT_ID |
Client-Id личного кабинета Ozon | Для Ozon |
WB_API_KEY |
Токен API Wildberries (кабинет продавца) | Для WB |
GPTUNNEL_API_KEY |
Ключ для GPTunnel (генерация ответов и анализ) | Для GPT-функций |
OZON_CHECK_INTERVAL |
Интервал проверки Ozon в секундах (по умолчанию 60) | Нет |
WB_CHECK_INTERVAL |
Интервал проверки WB в секундах (по умолчанию 300) | Нет |
Как узнать ID чата и топика: добавьте бота @userinfobot в чат — он покажет ID. ID топика в ссылке на обсуждение: https://t.me/c/1234567890/5 → топик = 5.
Сохраните .env в кодировке UTF-8.
2. Google-таблица отзывов (REVIEWS_SHEET_LINK)
Таблица, в которую бот дописывает строки с отзывами. В первой строке задайте заголовки ровно в таком порядке (12 столбцов):
| № | Заголовок столбца |
|---|---|
| 1 | Дата |
| 2 | Площадка |
| 3 | Название товара |
| 4 | Категория |
| 5 | Подкатегория |
| 6 | ID товара |
| 7 | Оценка |
| 8 | Текст отзыва |
| 9 | Тональность |
| 10 | Причина |
| 11 | Критичность |
| 12 | Тэги |
Бот сам заполняет данные; новые строки добавляются вниз. Доступ к таблице должен быть у сервисного аккаунта (см. ниже).
3. Google Sheets — ключ key.json
Чтобы бот мог читать и писать таблицы:
- Создайте проект в Google Cloud Console.
- Включите Google Sheets API.
- Создайте сервисный аккаунт, скачайте JSON-ключ.
- Положите файл в проект:
google-auth/key.json(папкаgoogle-authв корне проекта). - В каждой нужной Google-таблице нажмите «Настройки доступа» и дайте доступ на редактирование email’у сервисного аккаунта (из
key.json, полеclient_email).
Шаг 1. Установить Python 3.12
- Откройте в браузере: https://www.python.org/downloads/
- Скачайте Python 3.12.x (кнопка "Download Python 3.12.x").
- Запустите установщик.
- Важно: в первом окне включите галочку "Add python.exe to PATH".
- Нажмите "Install Now" и дождитесь окончания установки.
- Закройте и заново откройте PowerShell или CMD, чтобы подхватился PATH.
Проверка в терминале:
python --version
Должно быть что-то вроде: Python 3.12.x.
Шаг 2. Установить менеджер зависимостей uv (рекомендуется)
В проекте используется uv (как на Linux). Его можно поставить одной командой.
В PowerShell выполните:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
После установки закройте и снова откройте терминал, затем проверьте:
uv --version
Если по какой-то причине uv ставить не хотите, можно обойтись только pip (см. альтернативу в конце).
Шаг 3. Перейти в папку проекта и установить зависимости
Откройте PowerShell (или CMD) и перейдите в каталог проекта, например:
cd C:\Users\a.shestakov\Desktop\primekraftProd
Установите зависимости и создайте виртуальное окружение одной командой:
uv sync
Эта команда по файлам pyproject.toml и uv.lock создаст виртуальное окружение (например, .venv) и установит все пакеты. На Windows всё то же самое, что и на Linux.
Шаг 4. Файл с переменными окружения (.env)
Приложение читает настройки из файла .env в корне проекта (рядом с pyproject.toml).
- В папке
primekraftProdсоздайте файл с именем.env(точка в начале). - Откройте его любым редактором и заполните переменные. Минимум для запуска бота:
BOT_TOKEN=ваш_токен_от_BotFather
TG_CHAT_ID=ид_вашего_чата_в_Telegram
GOOD_REVIEWS_THREAD_ID=ид_топика_хороших_отзывов
BAD_REVIEWS_THREAD_ID=ид_топика_плохих_отзывов
Остальные переменные из app/config.py (Ozon, WB, GPT, таблицы) можно добавить позже или оставить пустыми по умолчанию. Пример полного набора:
BOT_TOKEN=...
TG_CHAT_ID=...
GOOD_REVIEWS_THREAD_ID=...
BAD_REVIEWS_THREAD_ID=...
# Топики для отзывов без текста (только оценка): 1–3 и 4–5 звёзд (необязательно; если не заданы, используются топики плохих/хороших)
EMPTY_LOW_RATING_THREAD_ID=...
EMPTY_HIGH_RATING_THREAD_ID=...
NEGATIVE_RATING=3
REVIEWS_SHEET_LINK=...
PRODUCTS_WB_SHEET_LINK=...
PRODUCTS_OZON_SHEET_LINK=...
OZON_API_KEY=...
OZON_CLIENT_ID=...
WB_API_KEY=...
GPTUNNEL_API_KEY=...
OZON_CHECK_INTERVAL=60
WB_CHECK_INTERVAL=300
Сохраните файл в кодировке UTF-8.
Шаг 5. Google Таблицы (key.json)
Для работы с Google Таблицами нужен сервисный аккаунт.
- В корне проекта должна быть папка
google-authи в ней файлkey.json(ключ сервисного аккаунта из Google Cloud). - Если у вас уже есть
key.jsonс Linux-сервера — просто скопируйте его вprimekraftProd\google-auth\key.json. - Если ключа нет — создайте проект в Google Cloud, включите Google Sheets API и создайте сервисный аккаунт, затем скачайте JSON-ключ и положите его в
google-auth\key.json.
Путь в коде задан как google-auth/key.json — на Windows такой относительный путь тоже работает, если запуск идёт из корня проекта.
Шаг 6. Запуск бота
Обязательно запускайте из корня проекта (там, где лежат pyproject.toml и .env):
cd C:\Users\a.shestakov\Desktop\primekraftProd
uv run python -m app
Либо, если сначала активируете виртуальное окружение:
.\.venv\Scripts\Activate.ps1
python -m app
В консоли должны появиться логи; бот начнёт опрос Telegram и фоновые проверки Ozon/WB по таймерам.
Остановка: Ctrl+C в том же окне терминала.
Краткая шпаргалка (если уже всё установлено)
cd C:\Users\a.shestakov\Desktop\primekraftProd
uv sync
# Проверить .env и google-auth/key.json
uv run python -m app
Если не хотите использовать uv
- Установите Python 3.12 (шаг 1).
- В папке проекта создайте виртуальное окружение и установите зависимости:
cd C:\Users\a.shestakov\Desktop\primekraftProd
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .
- Создайте и заполните
.env, положитеkey.jsonвgoogle-auth\(шаги 4–5). - Запуск:
python -m app
Возможные проблемы на Windows
- "python не найден" — при установке Python не была отмечена опция "Add to PATH". Переустановите Python с этой галочкой или добавьте путь к
python.exeв PATH вручную. - Ошибки при
uv sync— убедитесь, что открыт именно PowerShell/CMD и вы в папкеprimekraftProd(проверьте:dir pyproject.tomlилиls pyproject.toml). - Ошибка про .env или BOT_TOKEN — файл
.envдолжен быть в корне проекта и переменные записаны без кавычек:BOT_TOKEN=123:ABC.... - Google Sheets / key.json — если не используете таблицы, часть функций бота будет падать при обращении к ним; для минимального запуска достаточно BOT_TOKEN и TG_CHAT_ID (и при необходимости топиков).
После выполнения этих шагов проект на Windows запускается так же, как на Linux: те же зависимости, та же точка входа python -m app.
Как запустить на Windows (кратко)
-
Проверьте, что заполнено:
- Файл
.envв корне проекта (минимум:BOT_TOKEN,TG_CHAT_ID,GOOD_REVIEWS_THREAD_ID,BAD_REVIEWS_THREAD_ID; для таблицы —REVIEWS_SHEET_LINK; для Ozon/WB — ключи и ссылки на таблицы товаров). - Файл
google-auth/key.json— ключ сервисного аккаунта Google (если используете таблицы). - В таблице отзывов первая строка — заголовки (Дата, Площадка, … Тэги).
- Файл
-
Откройте PowerShell (или CMD) и перейдите в папку проекта:
cd "C:\Users\a.shestakov\Downloads\бот телеграм прайм\бот телеграм прайм\primekraftProd_02_02_2026_23_30\primekraftProd"(или ваш путь к папке
primekraftProd; если в пути есть пробелы — возьмите путь в кавычки.) -
Установите зависимости (если ещё не ставили):
uv sync -
Запустите бота:
uv run python -m app -
В консоли появятся логи; бот начнёт опрос Telegram и проверки Ozon/WB. Остановка — Ctrl+C.