Introduction
# 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
```bash npm install -g @cyberdrk/tg ```
Or from source: ```bash cd ~/Code/cyberdrk305/telegram && npm install && npm run build && npm link ```
## Authentication
First-time setup requires API credentials from https://my.telegram.org/apps
```bash tg auth ```
## Commands
### Reading ```bash 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 ```bash tg send @username "message" # Send DM tg send "GroupName" "message" # Send to group tg reply "ChatName" 12345 "response" # Reply to message ID ```
### Contacts & Groups ```bash 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 ```bash tg whoami # Show logged-in account tg check # Verify session ```
## Output Formats
All commands support `--json` for structured output suitable for processing:
```bash tg inbox --json # JSON format tg read "Chat" --json # JSON with messages array tg chats --json # JSON with chat list ```
## Examples
Check inbox: ```bash tg inbox ```
Read recent messages from a chat: ```bash tg read "MetaDAO Community" -n 20 ```
Search for a topic: ```bash tg search "futarchy" --chat "MetaDAO" ```
Send a message: ```bash 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 `--since` flag accepts formats like "1h", "30m", "7d"