2gis-reviews
v1.0.0
Published
Отзывы 2ГИС в терминале: читать и отвечать без браузера. Unofficial CLI for reading and replying to 2GIS business reviews.
Maintainers
Readme
Отзывы 2ГИС в терминале
Локальный инструмент: читать отзывы организации и отвечать на них из терминала, без браузера. Ничего не устанавливает, работает на голом Node (18+).
Установка
Через npm — не нужно ничего скачивать и распаковывать:
npm install -g 2gis-reviewsДальше команда 2gis-reviews доступна из любой папки. Зависимостей у пакета нет,
нужен только Node.js 18 или новее.
Либо просто взять папку с исходниками и запускать node 2gis.js — работает так же.
Быстрый старт
2gis-reviewsПри первом запуске спросит логин и пароль от account.2gis.com (кабинет компании).
Пароль вводится скрыто, никуда не сохраняется и в вывод не попадает: он один раз
меняется на временный токен, и дальше работает только токен. Токен лежит в
~/.2gis-reviews/session.json при установке через npm (или data/session.json
рядом с исходниками), права 0600, живёт около двух суток и продлевается сам.
Дальше — список отзывов. Вводишь номер, читаешь отзыв целиком вместе с перепиской,
жмёшь о и пишешь ответ. Ответ уходит только после того, как ты увидел его
целиком и подтвердил.
Флаги
| Флаг | Что делает |
|---|---|
| --org=<id> | сразу к нужной организации (иначе спросит, если их несколько) |
| --filter=unanswered\|negative\|answered\|all | что показывать (по умолчанию — без ответа) |
| --limit=<n> | сколько отзывов тянуть за раз (по умолчанию 50) |
| --dry-run | полный проход, но вместо отправки печатает, что ушло бы |
| --status | чья сессия и до когда живёт |
| --logout | стереть сессию |
| --help | эта справка |
Логин и пароль можно передать через окружение (GIS2_LOGIN, GIS2_PASSWORD) —
удобно, если не хочется вводить руками. В файл они не попадают всё равно.
Начни с --dry-run: пройдёшь весь путь до отправки и увидишь, что именно
ушло бы, ничего не опубликовав. Он предупреждает об этом при запуске и в момент
отправки — если ответ «не уходит», первым делом проверь, нет ли этого флага.
Пароль спрашивают только один раз. Дальше живёт токен (около двух суток), и
при следующем запуске формы входа не будет — вместо неё строка «Вошли как …».
Войти под другой учёткой: --logout, потом обычный запуск.
Что нужно знать до первого ответа
- Ответ публичный и подписан именем компании — его увидят все.
- Свой ответ можно удалить, но нельзя отредактировать (так решает 2ГИС). Опечатка лечится только «удалить и написать заново».
- Под отзывом бывает целая переписка: клиент отвечает на ответ компании. «Отвечен» считается по официальному ответу, а не по числу комментариев.
Заодно: выгрузка всех отзывов
Читать отзывы можно вообще без входа — 2ГИС отдаёт их публично:
node export.js --org=<id> --out=data/reviews.json --answers=10Печатает сводку (рейтинг, разбивку по звёздам, сколько без ответа) и складывает
все отзывы в JSON. Организацию тут надо указать явно — --org=<id> или GIS2_ORG_ID:
входа нет, значит и спросить не у кого. Id — число из адреса кабинета
account.2gis.com/orgs/<id>/reviews; не знаешь свой — запусти node 2gis.js,
он покажет организации твоей учётки.
Как поделиться с другим человеком
Папка самодостаточная: внутри нет ни одной ссылки наружу и ни одного нашего идентификатора. Отдавать целиком — заархивировать и отправить.
2gis.js интерактивный инструмент (главный вход)
export.js выгрузка всех отзывов в JSON, без входа
login.js только вход/статус/выход, если нужен отдельно
check.js диагностика: что кабинет разрешает делать, ничего не публикуя
lib/ три файла: доступ в кабинет, публичное чтение, чистая логика
test/ тесты, можно прогнать у себя: node --test
README.md этот файлЧто нужно получателю: только Node.js версии 18 или новее
(node -v — проверить; если нет, поставить с nodejs.org) и своя учётка
account.2gis.com с доступом к организации. Больше ничего: ни npm install,
ни сборки, ни ключей, ни настроек. Распаковал → node 2gis.js → вошёл под собой
→ видит свои организации.
⚠️ Не отдавай папку ПОСЛЕ того, как сам в неё вошёл. После входа в data/
лежит твой токен доступа к кабинету — это как отдать ключи. Перед отправкой:
node 2gis.js --logout (или просто удали папку data/).
Если что-то не так
401— сессия истекла:--logoutи войти заново.400— 2ГИС сама называет недостающее поле, текст ошибки печатается целиком.- Незнакомый ответ — инструмент печатает его скелет: имена полей и типы значений, без содержимого. Токен и пароль в вывод не попадают никогда.
Путь неофициальный: публичного API у 2ГИС нет, адреса взяты из кода самого кабинета. Они могут измениться в любой момент — это не повод для паники, но и не повод строить на этом что-то, что нельзя быстро починить.
