CLI в терминале
Установка, профиль и первые команды geckochat
Обновлено 17 октября 2026 г.
geckochat — это ваш кабинет в виде команд. Те же операции над теми же проектами и ботами, только из терминала: в скрипте, в CI, по SSH и в любой сессии, где есть ключ.
Установка
curl -fsSL https://api.geckochat.app/cli/install.sh | bash
Установщик сам определяет систему и процессор, скачивает нужный файл, сверяет его контрольную сумму и кладёт готовую программу в /usr/local/bin (а если туда писать нельзя — в ~/.local/bin). Ни Node, ни Bun, ни исходников для этого не нужно.
Ключ — один раз
geckochat login gk_ВАШ_КЛЮЧ
login сам проверяет ключ на сервере и только потом запоминает его на этой машине — в файле, доступном лишь вашему пользователю. Неверный ключ не сохраняется: об этом вы узнаете сразу, а не на первой настоящей команде.
Дальше связь проверяется в любой момент: geckochat whoami отвечает адресом и числом доступных команд.
Первые команды
geckochat --help # всё, что умеет платформа geckochat --help broadcast # только про рассылки geckochat project_list --table id,name geckochat bot_list --table id,username,usersCount,status geckochat user_list --projectId <проект> --limit 5 geckochat bot_get --help # какие аргументы у конкретной команды
Команды — это тулы самой платформы, а не отдельный список: новая возможность появляется в терминале вместе с сервером, без обновления программы.
Проект и бот в команде
Ключ — это вы, поэтому каждая команда называет, с чем работает:
- Проект —
--projectId <проект>. Идентификатор показываетproject_list. Так работают команды о пользователях, рассылках, заказах, офферах, сайтах и агенте. - Бот —
--botId @ВашБот: бот называется так же, как в Telegram. Внутренний идентификатор (его показываетbot_list) тоже подходит, но помнить его не нужно. Бот обязателен командам о чате человека в одном канале (user_chat_suggest,user_chat_mark,user_chat_exec_flow,user_block,user_unblock) и сужает выбор там, где необязателен:user_list --botId @ВашБот— люди одного канала. Если назван бот, проект выводится из него и--projectIdне нужен. - Человек —
--userId <id>: идентификатор пользователя из первого столбцаuser_list. Telegram ID вместо него не подходит.
geckochat user_list --projectId <проект> --limit 5 --table id,firstName geckochat user_chat_timeline --userId <id> --botId @ВашБот
Бот называется одинаково во всех командах: @ВашБот, ВашБот или идентификатор. Бот должен быть из проекта команды: неизвестное имя и бот чужого проекта дают один и тот же отказ BOT_NOT_FOUND. Исключение — команды, которые отключают, перезапускают или удаляют бота: им нужен идентификатор из bot_list, чтобы смена имени не попала не в тот бот.
Считает сервер, а не вы
Вопросы вида «сколько», «каких» и «на какую сумму» не требуют выгрузки в таблицу:
geckochat bot_list --count-by status geckochat broadcast_list --projectId <проект> --count-by status geckochat order_list --projectId <проект> --limit 100 --sum amount --by currency geckochat bot_list --top 5 --sort usersCount --table username,usersCount,status
--count-by считает записи по значению поля, --sum … --by суммирует с разбивкой, --sort и --top оставляют главное, --table печатает только нужные колонки. Без этих ключей печатается полный ответ, а --json отдаёт его одной строкой — для скриптов и jq.
Обновление
geckochat update --check # что лежит на сервере geckochat update # поставить это поверх себя
Сам себя geckochat не обновляет никогда: он лишь говорит строкой, что вышла версия новее. Инструмент, меняющийся посреди работы ночного скрипта, — худшее, что может случиться с ночным скриптом.