telegram-reader
Read-only Telegram channel reader for monitoring groups and channels via tdl
npx skills add himself65/finance-skillsBefore / After Comparison
1 组Manually collecting data and reports, slow and error-prone
One-click professional analysis with real-time data across multiple dimensions
description SKILL.md
name: telegram-reader description: > Read Telegram channels and groups for financial news and market research using tdl (read-only). Use this skill whenever the user wants to read Telegram channels, export messages from financial Telegram groups, list their Telegram chats, search for news in Telegram channels, or gather market intelligence from Telegram. Triggers include: "check my Telegram", "read Telegram channel", "Telegram news", "what's new in my Telegram channels", "export messages from", "list my Telegram chats", "financial news on Telegram", "crypto Telegram", "market news Telegram", any mention of Telegram in context of reading financial news, crypto signals, or market research. This skill is READ-ONLY — it does NOT support sending messages, joining channels, or any write operations.
Telegram News Skill (Read-Only)
Reads Telegram channels and groups for financial news and market research using tdl, a Telegram CLI tool.
This skill is read-only. It is designed for financial research: reading channel messages, monitoring financial news channels, and exporting message history. It does NOT support sending messages, joining/leaving channels, or any write operations.
Step 1: Ensure tdl Is Installed
Current environment status:
!`(command -v tdl && tdl version 2>&1 | head -3 || echo "TDL_NOT_INSTALLED") 2>/dev/null`
If the status above shows a version number, tdl is installed — skip to Step 2.
If TDL_NOT_INSTALLED, install tdl based on the user's platform:
| Platform | Install Command |
|---|---|
| macOS / Linux | curl -sSL https://docs.iyear.me/tdl/install.sh | sudo bash |
| macOS (Homebrew) | brew install telegram-downloader |
| Linux (Termux) | pkg install tdl |
| Linux (AUR) | yay -S tdl |
| Linux (Nix) | nix-env -iA nixos.tdl |
| Go (any platform) | go install github.com/iyear/tdl@latest |
Ask the user which installation method they prefer. Default to Homebrew on macOS, curl script on Linux.
Step 2: Ensure tdl Is Authenticated
Current auth status:
!`(tdl chat ls --limit 1 2>&1 >/dev/null && echo "AUTH_OK" || echo "AUTH_NEEDED") 2>/dev/null`
If AUTH_OK, skip to Step 3.
If AUTH_NEEDED, guide the user through login. Login requires interactive input — the user must enter their phone number and verification code manually.
Login methods
Method A: QR Code (recommended — fastest)
tdl login -T qr
A QR code will be displayed in the terminal. The user scans it with their Telegram mobile app (Settings > Devices > Link Desktop Device).
Method B: Phone + Code
tdl login -T code
The user enters their phone number, then the verification code sent to their Telegram app.
Method C: Import from Telegram Desktop
If the user has Telegram Desktop installed and logged in:
tdl login
This imports the session from the existing desktop client. The desktop client must be from the official website, NOT from the App Store or Microsoft Store.
Namespaces
By default, tdl uses a default namespace. To manage multiple accounts:
tdl login -n work -T qr # Login to "work" namespace
tdl chat ls -n work # Use "work" namespace for commands
Important login notes
- Login is a one-time operation. The session persists on disk after successful login.
- If login fails, ask the user to check their internet connection and try again.
- Never ask for or handle Telegram passwords/2FA codes programmatically — always let the user enter them interactively.
Step 3: Identify What the User Needs
Match the user's request to one of the read operations below.
| User Request | Command | Key Flags |
|---|---|---|
| List all chats/channels | tdl chat ls | -o json, -f "FILTER" |
| List only channels | tdl chat ls -f "Type contains 'channel'" | -o json |
| Export recent messages | tdl chat export -c CHAT -T last -i N | --all, --with-content |
| Export messages by time range | tdl chat export -c CHAT -T time -i START,END | --all, --with-content |
| Export messages by ID range | tdl chat export -c CHAT -T id -i FROM,TO | --all, --with-content |
| Export from a topic/thread | tdl chat export -c CHAT --topic TOPIC_ID | --all, --with-content |
| Search for a channel by name | tdl chat ls -f "VisibleName contains 'NAME'" | -o json |
Chat identifiers
The -c flag accepts multiple formats:
| Format | Example |
|---|---|
| Username (with @) | -c @channel_name |
| Username (without @) | -c channel_name |
| Numeric chat ID | -c 123456789 |
| Public link | -c https://t.me/channel_name |
| Phone number | -c "+1 123456789" |
| Saved Messages | -c "" (empty) |
Step 4: Execute the Command
Listing chats
# List all chats
tdl chat ls
# JSON output for processing
tdl chat ls -o json
#
forumUser Reviews (0)
Write a Review
No reviews yet
Statistics
User Rating
Rate this Skill