telegram

Telegram CLI for reading, searching, sending messages, managing groups, and syncing chat history. Use when the user asks about Telegram messages, wants to check inbox, search chats, send messages, mute/unmute chats, kick users, export history, or look up contacts and groups.

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 "telegram" with this command: npx skills add skillhq/telegram/skillhq-telegram-telegram

📬 Telegram CLI

Fast Telegram CLI for reading, searching, and sending messages.

🎯 When to Use

Use this skill when the user:

  • Asks to check Telegram messages or inbox
  • Wants to search Telegram for a topic/keyword
  • Wants to send a Telegram message or reply to one
  • Asks about a Telegram group, contact, or chat
  • Wants to see unread messages
  • Needs to look up group members or admins
  • Wants to mute/unmute a noisy chat or group
  • Needs to kick/remove a user from a group
  • Wants to export or sync chat history to files
  • Asks to organize chats into folders
  • Wants to check their logged-in account or session status

📦 Install

npm install -g @skillhq/telegram

🔐 Authentication

First-time setup requires API credentials from https://my.telegram.org/apps

telegram auth                                # First-time login
telegram logout                              # Clear saved session
telegram check                               # Verify session is valid
telegram whoami                              # Show logged-in account
telegram whoami --json                       # Account info as JSON

📖 Commands

Reading Messages

telegram inbox                               # Unread messages summary
telegram chats                               # List all chats
telegram chats --type group                  # Filter: user, group, supergroup, channel
telegram chats -n 200                        # List up to 200 chats
telegram read "ChatName" -n 50               # Read last 50 messages
telegram read "ChatName" --since "1h"        # Messages from last hour
telegram read "ChatName" --until "2h"        # Messages up to 2 hours ago
telegram read @username -n 20                # Read DM with user
telegram read 123456789 -n 10               # Read by chat ID

Searching

telegram search "query" --chat "ChatName"    # Search within chat
telegram search "query" --all                # Search all chats (global)
telegram search "query" -n 20               # Limit results

Sending Messages

telegram send @username "message"            # Send DM
telegram send "GroupName" "message"          # Send to group
telegram reply "ChatName" 12345 "response"   # Reply to message ID

Contacts & Groups

telegram contact @username                   # Get contact info
telegram members "GroupName"                 # List group members
telegram members "GroupName" -n 500          # Fetch up to 500 members
telegram admins "GroupName"                  # List admins only
telegram groups                              # List all groups
telegram groups --admin                      # Groups where you're admin
telegram kick "GroupName" @username           # Remove user from group

Muting

telegram mute "ChatName"                     # Mute forever
telegram mute "ChatName" -d 1h               # Mute for 1 hour
telegram mute @username -d 8h                # Mute DM for 8 hours
telegram mute "GroupName" -d 1d              # Mute for 1 day
telegram unmute "ChatName"                   # Unmute

Folders

telegram folders                             # List all folders
telegram folder "Work"                       # Show chats in folder
telegram folder-add "Work" "ProjectChat"     # Add chat to folder
telegram folder-remove "Work" "ProjectChat"  # Remove chat from folder

Sync / Export

telegram sync                                # Sync last 7 days to ./telegram-sync
telegram sync --days 30                      # Sync last 30 days
telegram sync --since "12h"                  # Sync messages from last 12 hours
telegram sync --until "2d"                   # Sync messages up to 2 days ago
telegram sync --all                          # Sync entire chat history (no time limit)
telegram sync --chat "ChatName"              # Sync specific chat only
telegram sync --output ~/exports             # Custom output directory
telegram sync --resume                       # Incremental: only fetch new messages
telegram sync --resume --all                 # Keep a complete archive up to date

Incremental sync (--resume):

  • Tracks last synced message ID per chat in .sync-meta.json
  • On subsequent runs, only fetches messages newer than last sync
  • Appends new messages to existing markdown files
  • Combine with --all to maintain a complete, up-to-date archive

📤 Output Formats

Most commands support multiple output formats:

FlagUse Case
(default)Human-readable terminal output
--jsonStructured JSON for programmatic processing
--markdownMarkdown-formatted for display or export
telegram inbox --json                        # JSON format
telegram inbox --markdown                    # Markdown format
telegram read "Chat" --json                  # JSON with messages array
telegram read "Chat" --markdown              # Markdown with messages
telegram chats --json                        # JSON with chat list
telegram members "Group" --markdown          # Markdown member list

Supported on: inbox, read, search, chats, members, groups, contact, whoami

📎 Media Metadata

Messages containing media (photos, videos, documents, voice notes, stickers, etc.) now include metadata instead of showing "(no text)":

Media TypeDisplay
Photo[📷 Photo]
Video[🎥 Video (2.1 MB)]
Document[📎 report.pdf (540.0 KB)]
Voice[🎤 Voice message]
Audio[🎵 song.mp3 (3.2 MB)]
Sticker[😀 Sticker]
GIF[🎬 GIF]
Location[📍 Location]
Contact[👤 Contact]
Poll[📊 Poll]

In JSON output, messages include mediaType, fileName, and fileSize fields when media is present.

🤖 AI Agent Guidance

When using this CLI as an AI agent:

  • For processing data (counting, filtering, extracting): use --json
  • For displaying to the user: use default or --markdown
  • Chat identification: names are partial-matched (e.g., "MetaDAO" matches "MetaDAO Community"), usernames must start with @, numeric IDs also work
  • Read operations are safe to run without confirmation
  • Write operations (send, reply, kick) should be confirmed with the user before executing
  • Rate limiting: avoid rapid successive calls; the Telegram API has rate limits
  • Large groups: use -n to limit members output on very large groups
  • Full archive: use telegram sync --all --chat "Name" to export complete chat history
  • Keeping archives fresh: use telegram sync --resume to incrementally update previous exports
  • Media-rich chats: messages with photos/videos/files now show metadata, not just "(no text)"

💡 Examples

Check inbox for unread messages:

telegram inbox

Read recent messages from a group:

telegram read "MetaDAO Community" -n 20

Get messages from the last 2 hours:

telegram read "Project Chat" --since "2h"

Search for a topic across all chats:

telegram search "futarchy" --all

Search within a specific chat:

telegram search "deadline" --chat "Work Team"

Send a message:

telegram send @username "Hello, checking in!"

Export a chat's complete history:

telegram sync --all --chat "Project Chat" --output ~/exports

Incrementally update an existing export:

telegram sync --resume --output ~/exports

Filter chats by type:

telegram chats --type channel --json

Kick a user from a group:

telegram kick "My Group" @spammer

📝 Notes

  • Chat names can be partial matches (e.g., "MetaDAO" matches "MetaDAO Community")
  • Usernames must start with @ (e.g., @username)
  • Chat IDs (numeric) can be used anywhere a chat name is accepted
  • Messages are returned in reverse chronological order (newest first)
  • Time flags (--since, --until) accept formats like "1h", "30m", "7d"
  • The sync command creates one markdown file per chat in the output directory
  • Sync metadata (.sync-meta.json) enables incremental sync with --resume
  • Sender names are cached per request for faster syncs (avoids redundant API calls)
  • Messages paginate automatically — no silent truncation for large chats

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.

General

google-flights

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

arxiv-paper-writer

Use this skill whenever the user wants Claude Code to write, scaffold, compile, debug, or review an arXiv-style academic paper, especially survey papers with LaTeX, BibTeX citations, TikZ figures, tables, and PDF output. This skill should trigger for requests like writing a full paper, creating an arXiv paper project, turning a research topic into a LaTeX manuscript, reproducing the Paper-Write-Skill-Test agent-survey workflow, or setting up a Windows/Linux Claude Code paper-writing loop.

Archived SourceRecently Updated
Coding

cli-proxy-troubleshooting

排查 CLI Proxy API(codex-api-proxy)的配置、认证、模型注册和请求问题。适用场景包括:(1) AI 请求报错 unknown provider for model, (2) 模型列表中缺少预期模型, (3) codex-api-key/auth-dir 配置不生效, (4) CLI Proxy 启动后 AI 无法调用, (5) 认证成功但请求失败或超时。包含源码级排查方法:模型注册表架构、认证加载链路、 SanitizeCodexKeys 规则、常见错误的真实根因。

Archived SourceRecently Updated
Coding

visual-summary-analysis

Performs AI analysis on input video clips/image content and generates a smooth, natural scene description. | 视觉摘要智述技能,对传入的视频片段/图片内容进行AI分析,生成一段通顺自然的场景描述内容

Archived SourceRecently Updated