Statiko — Telegram trends & channel analytics
Live Telegram data: trending topics, channel profiles & metrics, post history incl. edits/deletions.
我該用這個嗎
品質與安全性
發現項目(2)
- LOW在 get_similar_channels 中
- LOW在 fetch 中
根據工具定義與協定合規性的自動化分析。
上下文成本
這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。
安裝
一鍵安裝
將以下內容加入你的 `claude_desktop_config.json` 檔案:
{
"mcpServers": {
"telegram": {
"url": "https://mcp.statiko.io/mcp"
}
}
}遠端端點
https://mcp.statiko.io/mcpstreamable-http它能做什麼
工具清單
工具(10)
🟢get_trending_topics(window, lang, limit)
Ranked board of trending topics (stories) across tracked Telegram channels for a rolling 24h window. Each story carries a headline, context paragraph, member keywords, mention/channel counts, momentum and an hourly sparkline.
輸入結構描述
{
"type": "object",
"properties": {
"window": {
"default": "now",
"description": "Rolling 24h window to rank: 'now' (live) or 'yesterday'",
"type": "string",
"enum": [
"now",
"yesterday"
]
},
"lang": {
"default": "ru",
"description": "ISO-639-1 language code of the board, defaulting to 'ru'. Boards are per-language; pick the language the audience posts in.",
"type": "string"
},
"limit": {
"default": 20,
"description": "Number of stories to return",
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"window": {
"type": "string"
},
"lang": {
"type": "string"
},
"window_start": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"window_end": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"computed_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"languages": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"lang": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"topics": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"url": {
"type": "string"
},
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"norm": {
"description": "Topic key to pass to get_trend_samples",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"display": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"channels": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"mentions": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"delta_pct": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"momentum": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"sparkline": {
"description": "Hourly mention counts",
"anyOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "null"
}
]
},
"state": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"context": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"keywords": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"properties": {
"display": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"window",
"lang",
"url",
"items"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_trend_samples(norm, window, lang, limit)
Sample Telegram posts that mention a trending topic, for reading what a story on the trending board is actually about.
輸入結構描述
{
"type": "object",
"properties": {
"norm": {
"type": "string",
"minLength": 1,
"description": "Normalized topic key of the story ('norm' field from get_trending_topics)"
},
"window": {
"default": "now",
"type": "string",
"enum": [
"now",
"yesterday"
]
},
"lang": {
"default": "ru",
"description": "ISO-639-1 language code of the board, defaulting to 'ru'. Boards are per-language; pick the language the audience posts in.",
"type": "string"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"norm"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"norm": {
"type": "string"
},
"window": {
"type": "string"
},
"lang": {
"type": "string"
},
"samples": {
"type": "array",
"items": {
"type": "object",
"properties": {
"chat_id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"message_id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"display": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"message_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"norm",
"window",
"lang",
"samples"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search_channels(query, verified, categories, languages, activity, ...)
Search Statiko's catalog of tracked Telegram channels by name and filter by verification, category, language and activity. Returns channel slugs to use with get_channels and get_channel_posts.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"description": "Channel name or username to match; omit to browse by filters",
"type": "string",
"minLength": 1
},
"verified": {
"description": "true = verified channels only, false = unverified only",
"type": "boolean"
},
"categories": {
"description": "Category slugs to filter by; a channel matching any one passes",
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"languages": {
"description": "ISO-639-1 language codes to filter by (any match)",
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"activity": {
"description": "Last-post activity buckets to filter by (any match)",
"type": "array",
"items": {
"type": "string",
"enum": [
"recently",
"week",
"month",
"dormant",
"inactive"
]
}
},
"sort": {
"description": "Sort order: 'subs' (largest first, default) or 'name'",
"type": "string",
"enum": [
"subs",
"name"
]
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"total": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subscribers": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"categories": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"languages": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"last_post_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"url": {
"description": "statiko.io permalink to cite",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_channels(channels, start_date, end_date)
One channel: full profile of a tracked Telegram channel — description, subscriber and post counts, categories, AI insights, and metrics (subscriber growth, post frequency, view rate, engagement) with dated sparklines over an optional date range. Several channels (up to 10, ids and slugs mixed): compact comparison rows with headline metric values and changes over the last 30 days, from one lookup; unknown entries are listed as unresolved instead of failing the call.
輸入結構描述
{
"type": "object",
"properties": {
"channels": {
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Channel slug (Telegram username, without the @) or numeric channel ids, mixed freely. One channel answers its full profile; several answer compact comparison rows."
},
"start_date": {
"description": "Metrics window start (YYYY-MM-DD, inclusive); default -30d. Single channel only",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"end_date": {
"description": "Metrics window end (YYYY-MM-DD, inclusive); default today. Single channel only",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
}
},
"required": [
"channels"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"channels": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"info": {
"anyOf": [
{
"type": "object",
"properties": {
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"active_usernames": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"count_subscribers": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"count_posts": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"count_views": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"ai_insights": {
"description": "AI-written profile of the channel, when one exists",
"anyOf": [
{
"type": "object",
"properties": {
"summary": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"metrics": {
"anyOf": [
{
"type": "object",
"properties": {
"totalSubscribers": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "object",
"properties": {
"absolute": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"percentage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"postFrequency": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"viewRate": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"erByViews": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"metrics_period": {
"anyOf": [
{
"type": "object",
"properties": {
"start": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"end": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"days": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"previous_period": {
"anyOf": [
{
"type": "object",
"properties": {
"start": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"end": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"days": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"sparkline_dates": {
"description": "ISO dates aligned 1:1 with every metric sparkline",
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "object",
"properties": {
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subscribers": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"categories": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"languages": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"last_post_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"url": {
"description": "statiko.io permalink to cite",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"metrics": {
"description": "null when the row's shard did not answer",
"anyOf": [
{
"type": "object",
"properties": {
"totalSubscribers": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "object",
"properties": {
"absolute": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"percentage": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"postFrequency": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"viewRate": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"erByViews": {
"anyOf": [
{
"type": "object",
"properties": {
"value": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"change": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"previousValue": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"metrics_period": {
"anyOf": [
{
"type": "object",
"properties": {
"start": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"end": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"days": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"previous_period": {
"anyOf": [
{
"type": "object",
"properties": {
"start": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"end": {
"description": "ISO 8601 calendar date, inclusive",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"days": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
]
}
},
"unresolved": {
"description": "Requested entries no row answered to; comparison branch only",
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"channels"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_channel_timeline(channel, event_types, order, page, limit)
Structural events in a channel's history: renames, description and photo changes, verification flips, subscriber/view milestones, and post edits or deletions — for telling what happened on a given date.
輸入結構描述
{
"type": "object",
"properties": {
"channel": {
"type": "string",
"minLength": 1,
"description": "Channel slug (Telegram username, without the @) or numeric channel id"
},
"event_types": {
"description": "Event types to keep; omit for all of them",
"type": "array",
"items": {
"type": "string",
"enum": [
"CHANNEL_FOLLOWED",
"CHANNEL_TITLE_CHANGED",
"CHANNEL_ABOUT_CHANGED",
"CHANNEL_PHOTO_CHANGED",
"VERIFIED_STATUS_CHANGED",
"SUBSCRIBERS_MILESTONE",
"CHANNEL_FIRST_MESSAGE",
"POST_EDITED",
"POST_DELETED",
"VIEW_MILESTONE",
"COMMENT_MILESTONE"
]
}
},
"order": {
"default": "desc",
"description": "Sort by event time: desc (newest first) or asc",
"type": "string",
"enum": [
"asc",
"desc"
]
},
"page": {
"default": 0,
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"channel"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"channel": {
"type": "string"
},
"total": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"page": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"event_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"event_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"event_timestamp": {
"description": "ISO 8601 timestamp",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"message_id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"data": {
"description": "Event payload; its shape follows event_type",
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"channel",
"events"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_similar_channels(channel, limit)
Channels that resemble the given one by category and audience — the peer cohort to compare a channel's metrics against.
輸入結構描述
{
"type": "object",
"properties": {
"channel": {
"type": "string",
"minLength": 1,
"description": "Channel slug (Telegram username, without the @) or numeric channel id"
},
"limit": {
"default": 10,
"type": "integer",
"minimum": 1,
"maximum": 20
}
},
"required": [
"channel"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"channel": {
"type": "string"
},
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"slug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"title": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"subscribers": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"categories": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"channel",
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_channel_posts(channel, query, since, until, message_type, ...)
Recent posts from a tracked Telegram channel, newest first, with text, view/forward/reply/reaction counts and `reactions_map`, the five most used reaction emoji with their counts. Accepts a channel slug or a numeric chat id, an optional text `query` to search the channel's posts, and an optional time range. Album posts are collapsed to one row, so a page may hold fewer than `limit` posts.
輸入結構描述
{
"type": "object",
"properties": {
"channel": {
"type": "string",
"minLength": 1,
"description": "Channel slug (Telegram username, without the @) or numeric channel id"
},
"query": {
"description": "Only posts whose text contains this term (case-insensitive substring)",
"type": "string",
"minLength": 1,
"maxLength": 500
},
"since": {
"description": "Only posts at or after this ISO 8601 timestamp",
"type": "string"
},
"until": {
"description": "Only posts before this ISO 8601 timestamp",
"type": "string"
},
"message_type": {
"description": "Filter by message type: TEXT, PHOTO, VIDEO, AUDIO, DOCUMENT, UNSUPPORTED (case-insensitive)",
"type": "string"
},
"limit": {
"default": 20,
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"channel"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"channel": {
"type": "string"
},
"chat_id": {
"type": "number"
},
"posts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message_id": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"created_at": {
"description": "ISO 8601 timestamp",
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"message_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"views": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"forwards": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"replies": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"reactions": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"reactions_map": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
},
"description": "Reaction emoji to count"
},
{
"type": "null"
}
]
},
"album_message_ids": {
"description": "Sibling ids of a collapsed album; null for a standalone post",
"anyOf": [
{
"type": "array",
"items": {
"type": "number"
}
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
}
}
},
"required": [
"channel",
"chat_id",
"posts"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_post_stats(channel, message_id, since, until, bucket)
How a post's views, forwards, replies and reactions (total and per-emoji) evolved over its life, as a sparse series of snapshots bucketed per hour or per day, oldest first — for view velocity and reaction drift. `message_id` comes from get_channel_posts. A post with no recorded snapshots answers an empty series.
輸入結構描述
{
"type": "object",
"properties": {
"channel": {
"type": "string",
"minLength": 1,
"description": "Channel slug (Telegram username, without the @) or numeric channel id"
},
"message_id": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991,
"description": "Post id within the channel"
},
"since": {
"description": "Only snapshots taken at or after this ISO 8601 timestamp",
"type": "string"
},
"until": {
"description": "Only snapshots taken before this ISO 8601 timestamp",
"type": "string"
},
"bucket": {
"default": "1h",
"description": "Series resolution: one snapshot per hour (1h) or day (1d)",
"type": "string",
"enum": [
"1h",
"1d"
]
}
},
"required": [
"channel",
"message_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"channel": {
"type": "string"
},
"chat_id": {
"type": "number"
},
"message_id": {
"type": "number"
},
"bucket": {
"type": "string"
},
"snapshots": {
"type": "array",
"items": {
"type": "object",
"properties": {
"bucket_start": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"received_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"views": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"forwards": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"replies": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"reactions": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"reactions_map": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "number"
},
"description": "Reaction emoji to count"
},
{
"type": "null"
}
]
}
},
"additionalProperties": {}
},
"description": "Sparse, oldest first; empty for an untracked post"
}
},
"required": [
"channel",
"chat_id",
"message_id",
"bucket",
"snapshots"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search(query)
Search Statiko for tracked Telegram channels and currently trending stories. Returns document ids for the fetch tool; results cite statiko.io pages.
輸入結構描述
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Free-text search query"
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Document id to pass to fetch"
},
"title": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": [
"id",
"title",
"url"
],
"additionalProperties": false
}
}
},
"required": [
"results"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fetch(id)
Fetch the full document behind a search result id: a channel profile with metrics, or a trending story with context and sample posts.
輸入結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"description": "Document id from a previous search: 'channel:<slug>' or 'trend:<window>:<lang>:<norm>'"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}輸出結構描述
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"text": {
"type": "string"
},
"url": {
"type": "string"
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"id",
"title",
"text",
"url",
"metadata"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}建議的提示詞
search_channelssearch_channelsget_trending_topicsget_trending_topicssearch_channelsget_trending_topics社群
證據