One of the hardest problems in Telegram chat search is freshness: messages sent seconds ago are not useful if search only looks at yesterday's database. @DoublegramScribeBot solves this with two layers that work together automatically — you never choose between them.
The two layers
| Layer | What it holds | When it's used |
|---|---|---|
| Recent cache | Latest messages in the chat (up to ~100, kept for several hours) | Immediately when a message arrives — including the last few seconds |
| Long-term archive | Full searchable history of the chat while Scribe has been active | Older messages, topic searches across days or weeks |
When you ask a question, Scribe searches both, merges the results, and removes duplicates. The newest copy wins if the same message appears in both layers.
Timeline: what happens when someone posts
- Instant — Message enters the recent cache; Scribe can already use it for answers
- Seconds to minutes — Message is processed into the long-term archive (voice notes wait until transcription finishes)
- After processing — Message is searchable in both layers; recent cache still holds the freshest copy
- Hours later — Message rolls off the recent cache but stays in the long-term archive
Try it: In a premium group, send Testing memory — ignore this, then immediately ask @DoublegramScribeBot what was the last message? Scribe should catch it from the recent cache.
Voice messages follow a slightly longer path
Text posts enter the recent cache right away. Voice notes enter after transcription:
- Scribe receives the voice message and transcribes it (🎙️ reply)
- The transcribed text is what gets indexed — not raw audio
- Until transcription completes, the spoken content is not searchable
After transcription, the text is added to both the recent cache and the archive — same as any text message.
Conversation context vs search archive
Scribe also keeps a small conversation window (about the last 10 messages in your current thread) to understand follow-up questions like and what did he say after that? This window is separate from the search archive:
- Conversation window — Short-term context for the ongoing chat with Scribe (about a week of retention)
- Search archive — Deep history of everything in the Telegram chat
You do not manage either layer — Scribe picks what to use based on your question.
Why both layers matter
- Just now — What did she say 30 seconds ago? → recent cache
- Today — What did we discuss this morning? → both layers
- Last month — When did we first mention the vendor? → long-term archive
If something seems missing
- Very new message — Wait a few seconds; archive may still be processing
- Voice note — Wait for 🎙️ transcription to finish
- Old message — Only available if sent after Scribe joined and was indexed
- Redis or service outage — Scribe may temporarily rely on one layer; retry later
Quick reference
- Recent cache: ~100 messages, ~6 hours, instant
- Archive: full history, slight processing delay
- Scribe merges both automatically
- Voice: indexed after transcription
Related: learn how to create smart reminders in Create a Reminder in Natural Language on Telegram.



