tgcli

Telegram CLI for syncing, searching, sending messages, and managing chats. Pure Rust implementation with no TDLib dependency. Supports multi-account setups, local FTS5 search, media download, scheduled messages, and real-time daemon mode. Use for interacting with Telegram from the command line or in scripts.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "tgcli" with this command: npx skills add dgrr/tgcli/dgrr-tgcli-tgcli

tgcli – Telegram CLI

Pure Rust Telegram client. No TDLib. Fast. Cross-platform.

Quick Start

tgcli auth                     # Authenticate (first time)
tgcli sync                     # Incremental sync
tgcli chats list --output markdown      # List chats (markdown recommended)
tgcli messages list --chat 987654321 --output markdown  # List messages from chat
tgcli send --to 123456789 --message "Hello there!"  # Send message

Core Commands

Sync

Fetch updates from Telegram servers. Always incremental (skips duplicates).

tgcli sync                     # Default (shows summary)
tgcli sync -q                  # Quiet (no output)
tgcli sync --full              # Full sync (all messages)
tgcli sync --download-media    # Save media files
tgcli sync --stream            # JSONL streaming (for pipelines)

Chats

Manage chats: list, search, archive, pin, mute, create groups, join, leave.

tgcli chats list --output markdown           # List (markdown recommended)
tgcli chats list --limit 50                  # Limit results
tgcli chats search "DevTeam"                 # Search by name
tgcli chats archive 987654321                # Archive specific chat
tgcli chats pin 987654321                    # Pin chat
tgcli chats mute 987654321                   # Mute notifications
tgcli chats create --group "Project Alpha" --user 111222333  # Create group
tgcli chats join https://t.me/joinchat/...   # Join via invite link
tgcli chats leave 987654321                  # Leave chat

Messages

List, search, show, download, delete messages. Supports forum topics.

tgcli messages list --chat 987654321 --output markdown  # List messages (markdown)
tgcli messages list --chat 987654321 --limit 100        # Limit to 100 messages
tgcli messages list --chat 987654321 --topic 42         # Forum topic messages
tgcli messages search "project deadline" --output markdown  # Local search (markdown)
tgcli messages search --global "urgent task"               # Telegram API search
tgcli messages show --chat 987654321 --message 4567       # Show specific message
tgcli messages context --chat 987654321 --message 4567    # Show with context
tgcli messages download --chat 987654321 --message 4567   # Download media
tgcli messages delete --chat 987654321 --message 4567     # Delete message

Send

Send messages, files, voice/video notes, scheduled messages, replies.

tgcli send --to 123456789 --message "Hello from tgcli"      # Text message
tgcli send --to 123456789 --file report.pdf                  # Send file
tgcli send --to 123456789 --voice note.ogg                   # Voice message
tgcli send --to 123456789 --video video.mp4                  # Video note
tgcli send --to 123456789 --message "Meeting tomorrow" --schedule "tomorrow 9am"  # Scheduled
tgcli send --to 123456789 --message "Agreed" --reply-to 5678 # Reply to message

Contacts

List and search contacts.

tgcli contacts list --output markdown   # List contacts (markdown)
tgcli contacts search "Alice"           # Search by name

Users

Show user info, block/unblock.

tgcli users show 123456789      # Show user profile
tgcli users block 123456789     # Block user
tgcli users unblock 123456789   # Unblock user

Stickers

List, search, and send stickers.

tgcli stickers list --output markdown   # List sticker packs (markdown)
tgcli stickers search "cat"             # Search sticker sets
tgcli stickers send --to 123456789 --sticker CAT_ABC123  # Send sticker

Folders

Create and manage chat folders.

tgcli folders list --output markdown   # List folders (markdown)
tgcli folders create "Work Chats"      # Create new folder
tgcli folders delete 5                 # Delete folder by ID

Admin (Groups/Channels)

Ban, kick, promote, demote members.

tgcli admin ban --chat 111222333 --user 999888777       # Ban user
tgcli admin kick --chat 111222333 --user 999888777      # Kick user
tgcli admin unban --chat 111222333 --user 999888777     # Unban user
tgcli admin promote --chat 111222333 --user 999888777   # Promote to admin
tgcli admin demote --chat 111222333 --user 999888777    # Demote admin

Daemon (Real-Time)

Listen for real-time updates from Telegram servers. Optional — use sync for most workflows.

tgcli daemon                    # Listen for updates
tgcli daemon --stream           # JSONL output
tgcli daemon --no-backfill      # Skip background sync
tgcli daemon --ignore 987654321 # Ignore specific chat
tgcli daemon --ignore-channels  # Skip all channels

Other

tgcli read --chat 987654321              # Mark chat as read
tgcli typing --chat 987654321            # Send typing indicator
tgcli profile show                       # Show your profile
tgcli profile set --first-name "Alex"    # Update your name
tgcli completions bash                   # Shell completions
tgcli wipe                               # Reset database (keeps auth)

Multi-Account

Use --store to manage multiple Telegram accounts:

tgcli --store ~/.tgcli-personal sync
tgcli --store ~/.tgcli-work chats list --output markdown
tgcli --store ~/.tgcli-bot messages list --chat 987654321

Output Formats

Always use markdown when available (recommended for LLMs and piping):

tgcli chats list                    # Human-readable table (default)
tgcli chats list --output markdown  # Markdown (recommended for LLMs/pipes)
tgcli chats list --output json      # JSON for parsing

Markdown advantages:

  • Readable structure (headers, bullet points, dividers)
  • Pipe to ripgrep/grep for filtering
  • Feed to LLMs for processing
  • Consistent across commands

Storage

Data stored in --store directory (default ~/.tgcli/):

~/.tgcli/session.db    # Telegram session & authentication
~/.tgcli/tgcli.db      # Messages, chats, contacts (FTS5-indexed)
~/.tgcli/media/        # Downloaded media files

Tips & Tricks

Search messages with ripgrep:

tgcli messages list --chat 987654321 --output markdown | rg "keyword"

Export to markdown file:

tgcli messages list --chat 987654321 --output markdown > exported.md

Sync multiple accounts in parallel:

for account in personal work bot; do
  tgcli --store ~/.tgcli-$account sync -q &
done
wait

Links

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

tgcli

No summary provided by upstream source.

Repository SourceNeeds Review
-35
dapi
Coding

A Python CLI skill for Cutout.Pro visual APIs — background removal, face cutout, and photo enhancement. Supports file upload & image URL input.

Call Cutout.Pro visual processing APIs to perform background removal, face cutout, and photo enhancement. Supports both file upload and image URL input, retu...

Registry SourceRecently Updated
Coding

client-onboarding-agent

Client onboarding and business diagnostic framework for AI agent deployments. Covers 4-round diagnostic process, 6 constraint categories, deployment SOP with...

Registry SourceRecently Updated