tg
Telegram CLI for reading, searching.
Installation
npx clawhub@latest install tgView the full skill documentation and source below.
Documentation
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 to someone
- Asks about a Telegram group, contact, or chat
- Wants to see unread messages
- Needs to look up group members or admins
Install
npm install -g @cyberdrk/tg
Or from source:
cd ~/Code/cyberdrk305/telegram && npm install && npm run build && npm link
Authentication
First-time setup requires API credentials from
tg auth
Commands
Reading
tg inbox # Unread messages summary
tg chats # List all chats
tg read "ChatName" -n 50 # Read last 50 messages
tg read "ChatName" --since "1h" # Messages from last hour
tg read @username -n 20 # Read DM with user
tg search "query" --chat "ChatName" # Search within chat
tg search "query" --all # Search all chats
Writing
tg send @username "message" # Send DM
tg send "GroupName" "message" # Send to group
tg reply "ChatName" 12345 "response" # Reply to message ID
Contacts & Groups
tg contact @username # Get contact info
tg members "GroupName" # List group members
tg admins "GroupName" # List admins only
tg groups --admin # Groups where you're admin
Status
tg whoami # Show logged-in account
tg check # Verify session
Output Formats
All commands support --json for structured output suitable for processing:
tg inbox --json # JSON format
tg read "Chat" --json # JSON with messages array
tg chats --json # JSON with chat list
Examples
Check inbox:
tg inbox
Read recent messages from a chat:
tg read "MetaDAO Community" -n 20
Search for a topic:
tg search "futarchy" --chat "MetaDAO"
Send a message:
tg send @username "Hello, checking in!"
Notes
- Chat names can be partial matches (e.g., "MetaDAO" matches "MetaDAO Community")
- Usernames must start with @ (e.g., @username)
- Messages are returned in reverse chronological order (newest first)
- The
--sinceflag accepts formats like "1h", "30m", "7d"