tgs search global#

Глобальный поиск сообщений по всем чатам, каналам и группам.

Использование#

tgs search global [query] [flags]

Аргумент query обязателен и задает текст для поиска.

Флаги#

ФлагСокр.ТипПо умолчаниюОписание
--channels-onlyboolfalseИскать только в каналах; несовместим с --folder
--groups-onlyboolfalseИскать только в группах; несовместим с --folder
--users-onlyboolfalseИскать только в личных чатах; несовместим с --folder
--archivedboolfalseИскать в архиве (папка ID 1); игнорируется при --folder
--folderstring""Искать только в этой папке (id или имя), включая архивные чаты; несовместим с --channels-only, --groups-only, --users-only
--filterstringФильтр по типу сообщения (см. допустимые значения)
--afterstringТолько сообщения после даты (YYYY-MM-DD или unix timestamp)
--beforestringТолько сообщения до даты (YYYY-MM-DD или unix timestamp)
--limit-lint50Максимум сообщений в ответе (1-100)
--cursorstringКурсор пагинации из предыдущего ответа
--max-waitint60Максимум секунд ожидания при FLOOD_WAIT
--profile-pstringИмя профиля аккаунта

Порядок определения профиля, если --profile не указан: переменная TGS_PROFILE -> файл .tgs.yaml -> "default".

Примеры#

Поиск по всем чатам:

tgs search global "kubernetes"

Поиск только в каналах:

tgs search global "breaking news" --channels-only

Поиск с фильтром по дате и ограничением результатов:

tgs search global "quarterly report" --after 2025-04-01 -l 20

Поиск в архиве:

tgs search global "old project" --archived

Поиск в именованной папке:

tgs search global "project update" --folder Work

Заметки#

При использовании --folder команда разворачивает список чатов папки и выполняет веерный запрос (fan-out) — по одному запросу searchGlobal на каждый чат с последующим слиянием результатов. Это необходимо, поскольку Telegram API searchGlobal не принимает список пиров напрямую.

--folder нельзя сочетать с --channels-only, --groups-only и --users-only. Список чатов папки всегда включает её архивные чаты, поэтому --archived не влияет на результат при заданном --folder и молча игнорируется.

Вывод#

Та же структура, что у tgs search messages — массив messages, total и опциональный cursor. Поскольку результаты охватывают много чатов, поле chat в каждом сообщении говорит, откуда оно.

JSON (по умолчанию):

{
  "messages": [
    {
      "id": 188791,
      "chat": {"id": -1001754252633, "type": "channel", "title": "News", "username": "newschannel"},
      "date": "2026-05-27T10:51:40Z",
      "text": "...",
      "views": 360330,
      "forwards": 283
    },
    {
      "id": 67578,
      "chat": {"id": -1001069896405, "type": "supergroup", "title": "Tech Talk", "username": "techtalk"},
      "from": {"id": 1978176, "first_name": "Ilya", "username": "valkin"},
      "date": "2026-05-27T10:14:00Z",
      "text": "..."
    }
  ],
  "total": 2066,
  "cursor": "eyJvIjo0NzgxNSwiZCI6MCwiciI6MTc3OTg3MDc1Mn0"
}

Замечание: курсор глобального поиска содержит дополнительное поле r (rate) — передавайте его в --cursor без изменений.

Смотрите также#