> ## Documentation Index
> Fetch the complete documentation index at: https://docs.duckbrain.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Telegram

> Telegram → DuckBrain ingest (Available)

**Status:** Available

Your Telegram conversations, fetched by **[telecrawl](https://github.com/openclaw/telecrawl)**, a local-first crawler that snapshots Telegram (Desktop `tdata` on Windows/Linux, the macOS Postbox store) into a local SQLite database at `~/.telecrawl/telecrawl.db`. DuckBrain attaches that database read-only and maps each message to bronze — same shape as WhatsApp.

```bash theme={null}
brew install openclaw/tap/telecrawl        # or pick Telegram in `duckbrain init`
telecrawl import                            # snapshot the Telegram store
duckbrain sync telegram
duckbrain search "meeting notes" --source telegram --since 60d
duckbrain search "flight details" --in "family"      # a group name or DM contact
```

## What gets ingested

* **Conversational text only.** One bronze row per message. Empty, service, and deleted messages carry no text and are dropped.
* **Idempotent.** `telecrawl import` refreshes the snapshot; DuckBrain re-ingests and dedups on a stable per-message id, so nothing piles up.
* **Streaming trigger lane.** The daemon watches Telegram Desktop's local store; a new message is searchable about a minute after it lands.

## Facet mapping

| Facet            | Value                                             |
| ---------------- | ------------------------------------------------- |
| `--source`       | `telegram` (alias `telecrawl`)                    |
| `--in`           | the chat — a group name or the DM contact         |
| title            | `me` for your messages, else the sender           |
| observer         | `owner` (you) or `contact:<sender>` — who said it |
| platform\_source | `telegram`                                        |

<Note>
  Rows are `classification: confidential` and never leave the machine.
</Note>
