tgstat

GitHub

通过TGStat API搜索Telegram频道,获取订阅量、互动率等数据,用于俄语市场广告投放调研、竞品分析及购买前价值评估。

data/skills-md/acedatacloud/skills/tgstat/SKILL.md NeverSight/learn-skills.dev

Trigger Scenarios

搜索Telegram频道进行广告投放 调研竞争对手频道数据 购买前评估频道覆盖率和互动质量

Install

npx skills add NeverSight/learn-skills.dev --skill tgstat -g -y
More Options

Non-standard path

npx skills add https://github.com/NeverSight/learn-skills.dev/tree/main/data/skills-md/acedatacloud/skills/tgstat -g -y

Use without installing

npx skills use NeverSight/learn-skills.dev@tgstat

指定 Agent (Claude Code)

npx skills add NeverSight/learn-skills.dev --skill tgstat -a claude-code -g -y

安装 repo 全部 skill

npx skills add NeverSight/learn-skills.dev --all -g -y

预览 repo 内 skill

npx skills add NeverSight/learn-skills.dev --list

SKILL.md

Frontmatter
{
    "name": "tgstat",
    "license": "Apache-2.0",
    "metadata": {
        "author": "acedatacloud",
        "version": "1.0"
    },
    "connections": [
        "tgstat"
    ],
    "description": "Search Telegram channels\/chats and pull audience + engagement stats (subscribers, reach, ER\/ERR) from TGStat via its Stat API. Use when the user wants to find Telegram channels to advertise in (esp. Russian-language \/ RU market), research competitor channels, or check a channel's reach\/engagement before buying an ad placement.",
    "when_to_use": "Trigger when the user wants to discover Telegram channels by keyword \/\ncategory \/ country \/ language, inspect a specific channel's subscriber\ncount, average post reach and engagement (ER \/ ERR) to judge ad value,\nor check their TGStat API quota. This is a marketing-research \/\nad-channel-selection tool — it does NOT post to Telegram (use the\n`telegram` connector for reading\/sending messages).\n",
    "allowed_tools": [
        "Bash"
    ]
}

Call the TGStat Stat API with curl + jq. The user's token is in $TGSTAT_TOKEN and is passed as the token query parameter on every request. Base URL: https://api.tgstat.ru.

Responses are JSON shaped {"status":"ok","response": ...}. Errors come back as {"status":"error","error":"<message>"} — show the error verbatim. An invalid token or an inactive/expired API plan will surface here; tell the user to check their token / plan in the TGStat 个人中心 and re-connect the connector.

Always confirm the token + remaining quota first (usage/stat is free and does not count against tariff quota):

curl -sS "https://api.tgstat.ru/usage/stat?token=$TGSTAT_TOKEN" \
  | jq '.status, (.response[]? | {serviceKey, title, spentChannels, spentRequests, expiredAt})'

Find channels to advertise in (the main workflow)

GET /channels/search — at least one of q (keyword, min 3 chars) or category is required.

Params: q, category, country, language (default russian), peer_type (channel | chat | all, default channel), search_by_description (0/1), limit (max 100).

# Russian-language AI/ChatGPT channels, biggest first.
curl -sS "https://api.tgstat.ru/channels/search" \
  --data-urlencode "token=$TGSTAT_TOKEN" \
  --data-urlencode "q=нейросети" \
  --data-urlencode "language=russian" \
  --data-urlencode "peer_type=channel" \
  --data-urlencode "limit=50" -G \
  | jq '.response.items | sort_by(-.participants_count)
        | .[] | {username, title, subs: .participants_count, ci_index, link}'
  • Use --data-urlencode ... -G so Cyrillic / spaces in q are encoded correctly.
  • ci_index (индекс цитирования) is TGStat's citation/authority score — higher = more reposted/mentioned elsewhere, a useful quality signal beyond raw subs.
  • Try several keywords (ChatGPT, нейросети, AI, разработка, API) and merge results; TGStat matches title/username (add search_by_description=1 to also match the channel description).

Judge a channel's ad value

GET /channels/stat?channelId=<@username | t.me/username | tgstat id> returns the numbers that actually matter for ad pricing:

curl -sS "https://api.tgstat.ru/channels/stat?token=$TGSTAT_TOKEN&channelId=@durov" \
  | jq '.response | {
      subs: .participants_count,
      avg_post_reach,          # средний охват публикации
      adv_reach_24h: .adv_post_reach_24h,   # рекламный охват за 24ч — key for CPM
      er_percent, err_percent, err24_percent,
      daily_reach, ci_index, posts_count
    }'
  • For ad CPM estimation use adv_post_reach_24h (average advertising reach of a post over 24h), not raw subscriber count — subs are vanity, reach is what the ad actually gets seen by.
  • Low err_percent / err24_percent relative to subs = inflated/dead audience → skip it.
  • For a chat (not channel) the response instead has dau/wau/mau and messages_count_* fields.

GET /channels/get?channelId=... returns descriptive info (title, about, category, country, language, participants_count, ci_index) when you just need to identify/verify a channel rather than full stats.

Reference data

GET /database/categories?token=$TGSTAT_TOKEN lists valid category values you can pass to channels/search. There are also /database/countries and /database/languages. (See the docs for the full parameter/response shape.)

Gotchas

  • Plan gating: channels/search needs a Stat API tariff S or higher; channels/stat / channels/get work on all Stat tariffs. If a call returns an access error, the user's plan doesn't cover that method.
  • Quota: each unique channel and each request counts against the monthly tariff (visible via usage/stat). Don't loop over hundreds of channels blindly — search, shortlist, then stat only the shortlist.
  • q min length is 3 chars{"error":"param q is too short"}.
  • Cyrillic: always send q via --data-urlencode (or pre-URL-encode) so the keyword isn't mangled.
  • TGStat is a Russian service; the API and billing are RU-side — availability and payment are the account owner's responsibility.

Version History

  • e0220ca Current 2026-07-05 22:56

Same Skill Collection

data/skills-md/00prabalk00/claude-skills/knowledge-base-gap-finder/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-agile/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-auth/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-issues/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-project-management/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-projects/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-safe/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-search/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-spaces/SKILL.md
data/skills-md/01000001-01001110/agent-jira-skills/jira-transitions/SKILL.md
data/skills-md/0731coderlee-sudo/wechat-publisher/wechat-publisher/SKILL.md
data/skills-md/0froq/skills/conventionalcommits/SKILL.md
data/skills-md/0froq/skills/nuxt/SKILL.md
data/skills-md/0froq/skills/oq/SKILL.md
data/skills-md/0froq/skills/pinia/SKILL.md
data/skills-md/0froq/skills/pnpm/SKILL.md
data/skills-md/0froq/skills/slidev/SKILL.md
data/skills-md/0froq/skills/tsdown/SKILL.md
data/skills-md/0froq/skills/turborepo/SKILL.md
data/skills-md/0froq/skills/unocss/SKILL.md
data/skills-md/0froq/skills/vitepress/SKILL.md
data/skills-md/0froq/skills/vitest/SKILL.md
data/skills-md/0froq/skills/vue-best-practices/SKILL.md
data/skills-md/0froq/skills/vue-router-best-practices/SKILL.md
data/skills-md/0froq/skills/vue-testing-best-practices/SKILL.md
data/skills-md/0froq/skills/vue/SKILL.md
data/skills-md/0froq/skills/vueuse-functions/SKILL.md
data/skills-md/0froq/skills/web-design-guidelines/SKILL.md
data/skills-md/0juano/agent-skills/bondterminal-x402/SKILL.md
data/skills-md/0juano/agent-skills/edgeone-pages-deploy/SKILL.md
data/skills-md/0juano/agent-skills/ley-ar/SKILL.md
data/skills-md/0juano/agent-skills/ticktick/SKILL.md
data/skills-md/0juano/agent-skills/x-image-cards/SKILL.md
data/skills-md/0juano/x-image-cards/x-image-cards/SKILL.md
data/skills-md/0x0funky/agent-sprite-forge/generate2dsprite/SKILL.md
data/skills-md/0x0funky/agent-sprite-forge/video2dsprite/SKILL.md
data/skills-md/0x2e/superpowers/brainstorming/SKILL.md
data/skills-md/0x2e/superpowers/dispatching-parallel-agents/SKILL.md
data/skills-md/0x2e/superpowers/executing-plans/SKILL.md
data/skills-md/0x2e/superpowers/finishing-a-development-branch/SKILL.md
data/skills-md/0x2e/superpowers/receiving-code-review/SKILL.md
data/skills-md/0x2e/superpowers/requesting-code-review/SKILL.md
data/skills-md/0x2e/superpowers/subagent-driven-development/SKILL.md
data/skills-md/0x2e/superpowers/systematic-debugging/SKILL.md
data/skills-md/0x2e/superpowers/test-driven-development/SKILL.md
data/skills-md/0x2e/superpowers/using-git-worktrees/SKILL.md
data/skills-md/0x2e/superpowers/using-superpowers/SKILL.md
data/skills-md/0x2e/superpowers/verification-before-completion/SKILL.md
data/skills-md/0x2e/superpowers/writing-plans/SKILL.md
data/skills-md/0x2e/superpowers/writing-skills/SKILL.md

Metadata

Files
0
Version
e4a0f95
Hash
a12ef7b3
Indexed
2026-07-05 22:56

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-05 16:06
浙ICP备14020137号-1 $Гость$