| name | telegram |
| description | Process Telegram messages via GramJS MTProto client. Read messages, generate AI drafts, save drafts, and create intro groups. Use when handling Telegram conversations or facilitating introductions. |
Telegram Skill
Process Telegram messages via GramJS MTProto client. Supports unread messages, specific users, message requests, and group creation for introductions.
CRITICAL: NEVER SEND MESSAGES. Only save drafts.
Capabilities
| Capability | Description |
|---|
| Unread Mode | Process N unread conversations |
| User Mode | Find specific person by username/name (any read state) |
| Requests Mode | Process message requests folder (non-contacts) |
| Entity Context | Load context from database for known contacts |
| Draft Replies | AI generates contextual reply drafts |
| Save Drafts | Save drafts to Telegram (no sending) |
| Create Groups | Create new groups and add members for introductions |
| Dialog Cache | Fast lookups via cached dialog IDs (~1s vs ~90s) |
| Mark Unread | Re-mark conversations as unread after processing |
| History | Save per-person history to vault context/telegram/ |
Workflows
workflows/process-messages.md - Full workflow for reading/replying
workflows/create-intro-group.md - Workflow for facilitating introductions
Tools
| Script | Purpose |
|---|
scripts/telegram-gramjs.ts | GramJS MTProto client - fetch messages, populate cache |
scripts/telegram-save-drafts.ts | Save AI drafts to Telegram from work file |
scripts/save-telegram-draft.ts | Quick draft save by @username (instant) or name (dialog search) |
scripts/telegram-create-group.ts | Create groups and add members for intros |
Quick Reference
/cyber-telegram
/cyber-telegram --count 3
/cyber-telegram --user "@username"
/cyber-telegram --user "Name"
/cyber-telegram --requests
/cyber-telegram --dry-run
/cyber-telegram --no-mark-unread
bun scripts/telegram-create-group.ts --dry-run --title "A <> B" --users "@user1,@user2"
bun scripts/telegram-create-group.ts --title "A <> B" --users "@user1,@user2" --draft "Intro message"
See workflow files for full documentation.
Dialog Cache
Dialog cache (~/.cybos/telegram/dialog-cache.json) stores all dialog IDs with access hashes for fast lookups:
- Populated automatically during searches
- Used by
telegram-save-drafts.ts to avoid fetching all dialogs
- ~1 second draft save vs ~90 seconds without cache
Username Resolution
save-telegram-draft.ts uses fast contacts.ResolveUsername API for @handles — resolves any Telegram user/channel instantly without scanning dialogs. Falls back to searching recent dialogs (top 200) for name-based lookups.
Safety
Drafts only - never sends messages automatically. User reviews and sends manually in Telegram.