{
  "slug": "telegram-export-reader",
  "name": "gizza-ai/telegram-export-reader",
  "version": "0.1.0",
  "title": "Telegram Export Reader — result.json Transcript & Stats — gizza.ai",
  "description": "Paste a Telegram Desktop result.json export and get a clean transcript, per-sender message and word stats, top words and emoji. Runs locally.",
  "tags": [
    "telegram",
    "export",
    "result.json",
    "chat transcript",
    "chat stats",
    "message stats",
    "word count"
  ],
  "category": "data",
  "urls": {
    "page": "https://gizza.ai/tools/telegram-export-reader/",
    "markdown": "https://gizza.ai/tools/telegram-export-reader/index.md",
    "descriptor": "https://gizza.ai/tools/telegram-export-reader/tool.json",
    "deep_link_example": "https://gizza.ai/tools/telegram-export-reader/?export=%7B%22name%22%3A%22Weekend%20Trip%22%2C%22type%22%3A%22private_group%22%2C%22messages%22%3A%5B%7B%22type%22%3A%22message%22%2C%22date%22%3A%222021-03-27T14%3A45%3A00%22%2C%22from%22%3A%22Alice%22%2C%22text%22%3A%22Hey%20everyone%20ready%20for%20the%20trip%22%7D%5D%7D&output=both&include_service_messages=true&sender_filter=Alice&max_messages=0"
  },
  "cli": "gizza tool telegram-export-reader '{\"name\":\"Weekend Trip\",\"type\":\"private_group\",\"messages\":[{\"type\":\"message\",\"date\":\"2021-03-27T14:45:00\",\"from\":\"Alice\",\"text\":\"Hey everyone ready for the trip\"}]}'",
  "tool": {
    "description": "Parse a Telegram Desktop chat export (paste the contents of result.json — the Machine-readable JSON produced by \"Export chat history\") into a clean, dated transcript and/or per-sender statistics. The transcript renders one line per message ([2021-03-27 14:45:00] Alice: …), flattens formatted/entity text, shows readable placeholders for media ([photo], [sticker 🎉], [voice message], [file: name.pdf]), and can optionally include service lines (group created, members added). The stats report gives total messages, participants, word count, media/service counts, date range, a per-sender leaderboard of message and word counts with each sender's share, and the most-used words and emoji. Options: output (transcript/stats/both), include_service_messages, sender_filter (one person), and max_messages (cap for huge exports). Accepts single-chat exports, full-account exports (chats.list), and a bare message array. Fully local and deterministic — no AI model, nothing uploaded.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "export": {
          "description": "Paste the entire contents of result.json from a Telegram Desktop export (a chat's ⋮ menu → Export chat history → format: Machine-readable JSON, or Settings → Advanced → Export Telegram data). Single-chat exports, full-account exports (chats.list), and a bare array of message objects are all accepted.",
          "type": "string"
        },
        "include_service_messages": {
          "default": false,
          "description": "When true, include Telegram service/system lines (group created, members added, name changed, calls) in the transcript. Default false.",
          "type": "boolean"
        },
        "max_messages": {
          "default": 0,
          "description": "Cap on how many messages to read from the export, applied after the service and sender filters (0 = no limit). Use it to preview a very large export. Default 0.",
          "maximum": 500000,
          "minimum": 0,
          "type": "integer"
        },
        "output": {
          "default": "both",
          "description": "What to return: transcript (one clean, dated line per message), stats (per-sender message and word counts with each sender's share, plus top words and emoji), or both (default).",
          "enum": [
            "transcript",
            "stats",
            "both"
          ],
          "type": "string"
        },
        "sender_filter": {
          "description": "Optional: keep only messages from this exact display name (case-insensitive, e.g. `Alice`). Omit to include every sender.",
          "type": "string"
        }
      },
      "required": [
        "export"
      ],
      "type": "object"
    }
  }
}