tgs search counters#

Получение количества сообщений по типам (фото, видео, документы и т.д.) для одного или нескольких чатов.

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

tgs search counters [flags]

Команда не принимает позиционных аргументов.

Флаги#

ФлагСокр.ТипПо умолчаниюОписание
--chat-cstringЧат для запроса (username, телефон или ID). Обязателен, если не задан --folder.
--folderstring""Запросить все чаты в этой папке (id или имя); вывод включает разбивку по чатам и агрегированные итоги
--topicint0ID темы форума
--filtersstring[]Типы фильтров для подсчета (через запятую; по умолчанию: все). См. допустимые значения
--max-waitint60Максимум секунд ожидания при FLOOD_WAIT
--no-cacheboolfalseОтключить кеш разрешения пиров
--profile-pstringИмя профиля аккаунта

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

Примеры#

Получить количество сообщений всех типов в канале:

tgs search counters -c @golang

Получить количество для определенных типов:

tgs search counters -c @mygroup --filters photo,video,document

Счётчики для всех чатов в папке:

tgs search counters --folder Work --filters photo,document

Вывод#

Возвращает JSON с массивом {filter, count}.

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

{
  "counters": [
    {"filter": "photo", "count": 98},
    {"filter": "video", "count": 45},
    {"filter": "photo-video", "count": 143},
    {"filter": "document", "count": 0},
    {"filter": "url", "count": 188},
    {"filter": "gif", "count": 10},
    {"filter": "voice", "count": 0},
    {"filter": "music", "count": 0},
    {"filter": "round-video", "count": 0},
    {"filter": "geo", "count": 0}
  ]
}

JSON (с --folder, несколько чатов):

При использовании --folder вывод содержит разбивку по чатам и агрегированные итоги:

{
  "chats": [
    {
      "chat": {"id": -1001006503122, "type": "channel", "title": "Dev News"},
      "counters": [
        {"filter": "photo", "count": 30},
        {"filter": "document", "count": 12}
      ]
    },
    {
      "chat": {"id": -1001009876543, "type": "supergroup", "title": "Team"},
      "counters": [
        {"filter": "photo", "count": 68},
        {"filter": "document", "count": 41}
      ]
    }
  ],
  "totals": [
    {"filter": "photo", "count": 98},
    {"filter": "document", "count": 53}
  ]
}

Текст (--output text):

photo        98
video        45
photo-video  143
document     0
url          188
gif          10
voice        0
music        0
round-video  0
geo          0

Telegram возвращает только те типы фильтров, которые поддерживает данный чат — каналы обычно не отдают contact, pinned, mention, phone-call, chat-photo.

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