CLI в терминале

Установка, профиль и первые команды geckochat

интеграцииcli

Обновлено 17 октября 2026 г.

geckochat — это ваш кабинет в виде команд. Те же операции над теми же проектами и ботами, только из терминала: в скрипте, в CI, по SSH и в любой сессии, где есть ключ.

Установка

bash
curl -fsSL https://api.geckochat.app/cli/install.sh | bash

Установщик сам определяет систему и процессор, скачивает нужный файл, сверяет его контрольную сумму и кладёт готовую программу в /usr/local/bin (а если туда писать нельзя — в ~/.local/bin). Ни Node, ни Bun, ни исходников для этого не нужно.

Ключ — один раз

bash
geckochat login gk_ВАШ_КЛЮЧ

login сам проверяет ключ на сервере и только потом запоминает его на этой машине — в файле, доступном лишь вашему пользователю. Неверный ключ не сохраняется: об этом вы узнаете сразу, а не на первой настоящей команде.

Дальше связь проверяется в любой момент: geckochat whoami отвечает адресом и числом доступных команд.

Первые команды

bash
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 вместо него не подходит.
bash
geckochat user_list --projectId <проект> --limit 5 --table id,firstName
geckochat user_chat_timeline --userId <id> --botId @ВашБот

Бот называется одинаково во всех командах: @ВашБот, ВашБот или идентификатор. Бот должен быть из проекта команды: неизвестное имя и бот чужого проекта дают один и тот же отказ BOT_NOT_FOUND. Исключение — команды, которые отключают, перезапускают или удаляют бота: им нужен идентификатор из bot_list, чтобы смена имени не попала не в тот бот.

Считает сервер, а не вы

Вопросы вида «сколько», «каких» и «на какую сумму» не требуют выгрузки в таблицу:

bash
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.

Обновление

bash
geckochat update --check    # что лежит на сервере
geckochat update            # поставить это поверх себя

Сам себя geckochat не обновляет никогда: он лишь говорит строкой, что вышла версия новее. Инструмент, меняющийся посреди работы ночного скрипта, — худшее, что может случиться с ночным скриптом.

Что дальше