@cyberdrk/tg 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +123 -0
- package/SKILL.md +110 -0
- package/dist/auth.d.ts +4 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +61 -0
- package/dist/auth.js.map +1 -0
- package/dist/client.d.ts +63 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +396 -0
- package/dist/client.js.map +1 -0
- package/dist/commands/auth.d.ts +3 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +21 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/chats.d.ts +3 -0
- package/dist/commands/chats.d.ts.map +1 -0
- package/dist/commands/chats.js +42 -0
- package/dist/commands/chats.js.map +1 -0
- package/dist/commands/check.d.ts +3 -0
- package/dist/commands/check.d.ts.map +1 -0
- package/dist/commands/check.js +28 -0
- package/dist/commands/check.js.map +1 -0
- package/dist/commands/contact.d.ts +3 -0
- package/dist/commands/contact.d.ts.map +1 -0
- package/dist/commands/contact.js +38 -0
- package/dist/commands/contact.js.map +1 -0
- package/dist/commands/groups.d.ts +3 -0
- package/dist/commands/groups.d.ts.map +1 -0
- package/dist/commands/groups.js +45 -0
- package/dist/commands/groups.js.map +1 -0
- package/dist/commands/inbox.d.ts +3 -0
- package/dist/commands/inbox.d.ts.map +1 -0
- package/dist/commands/inbox.js +42 -0
- package/dist/commands/inbox.js.map +1 -0
- package/dist/commands/index.d.ts +14 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +14 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/members.d.ts +4 -0
- package/dist/commands/members.d.ts.map +1 -0
- package/dist/commands/members.js +73 -0
- package/dist/commands/members.js.map +1 -0
- package/dist/commands/read.d.ts +3 -0
- package/dist/commands/read.d.ts.map +1 -0
- package/dist/commands/read.js +69 -0
- package/dist/commands/read.js.map +1 -0
- package/dist/commands/reply.d.ts +3 -0
- package/dist/commands/reply.d.ts.map +1 -0
- package/dist/commands/reply.js +37 -0
- package/dist/commands/reply.js.map +1 -0
- package/dist/commands/search.d.ts +3 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +53 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/commands/send.d.ts +3 -0
- package/dist/commands/send.d.ts.map +1 -0
- package/dist/commands/send.js +35 -0
- package/dist/commands/send.js.map +1 -0
- package/dist/commands/sync.d.ts +3 -0
- package/dist/commands/sync.d.ts.map +1 -0
- package/dist/commands/sync.js +89 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/commands/whoami.d.ts +3 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +40 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/config.d.ts +18 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +106 -0
- package/dist/config.js.map +1 -0
- package/dist/formatters/index.d.ts +10 -0
- package/dist/formatters/index.d.ts.map +1 -0
- package/dist/formatters/index.js +11 -0
- package/dist/formatters/index.js.map +1 -0
- package/dist/formatters/json.d.ts +2 -0
- package/dist/formatters/json.d.ts.map +1 -0
- package/dist/formatters/json.js +4 -0
- package/dist/formatters/json.js.map +1 -0
- package/dist/formatters/markdown.d.ts +21 -0
- package/dist/formatters/markdown.d.ts.map +1 -0
- package/dist/formatters/markdown.js +87 -0
- package/dist/formatters/markdown.js.map +1 -0
- package/dist/formatters/plain.d.ts +27 -0
- package/dist/formatters/plain.d.ts.map +1 -0
- package/dist/formatters/plain.js +121 -0
- package/dist/formatters/plain.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/package.json +52 -0
package/README.md
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
# tg - Telegram CLI
|
|
2
|
+
|
|
3
|
+
Fast Telegram CLI for reading, searching, and sending messages. Designed for both interactive use and AI agent integration.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @cyberdrk/tg
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or install from source:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
git clone https://github.com/cyberdrk305/telegram.git
|
|
15
|
+
cd telegram
|
|
16
|
+
npm install
|
|
17
|
+
npm run build
|
|
18
|
+
npm link
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Authentication
|
|
22
|
+
|
|
23
|
+
First, get your API credentials:
|
|
24
|
+
1. Go to https://my.telegram.org/apps
|
|
25
|
+
2. Log in with your phone number
|
|
26
|
+
3. Create a new application
|
|
27
|
+
4. Copy the `api_id` and `api_hash`
|
|
28
|
+
|
|
29
|
+
Then authenticate:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
tg auth
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Commands
|
|
36
|
+
|
|
37
|
+
### Auth & Status
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
tg whoami # Show logged-in account
|
|
41
|
+
tg check # Verify session/credentials
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### Reading
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
tg chats # List all chats
|
|
48
|
+
tg chats --type group # Filter by type (user, group, supergroup, channel)
|
|
49
|
+
tg read "MetaDAO Community" -n 50 # Read last 50 messages
|
|
50
|
+
tg read "MetaDAO" --since "1h" # Messages from last hour
|
|
51
|
+
tg read @username -n 20 # Read DM with user
|
|
52
|
+
tg search "futarchy" --chat "MetaDAO" # Search within chat
|
|
53
|
+
tg search "futarchy" --all # Search all chats
|
|
54
|
+
tg inbox # Unread messages summary
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Writing
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
tg send @username "Hello" # Send DM
|
|
61
|
+
tg send "GroupName" "Hello everyone" # Send to group
|
|
62
|
+
tg reply "ChatName" 12345 "Response" # Reply to message ID
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### Contacts & Groups
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
tg contact @username # Get contact info
|
|
69
|
+
tg members "GroupName" # List group members
|
|
70
|
+
tg admins "GroupName" # List admins only
|
|
71
|
+
tg groups # List all groups
|
|
72
|
+
tg groups --admin # Groups where you're admin
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Utilities
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
tg sync --days 7 # Sync last 7 days to markdown
|
|
79
|
+
tg sync --chat "MetaDAO" --days 30 # Sync specific chat
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Output Formats
|
|
83
|
+
|
|
84
|
+
All read commands support multiple output formats:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
tg chats --json # JSON (for scripts/AI)
|
|
88
|
+
tg read "Chat" --markdown # Markdown format
|
|
89
|
+
tg inbox --plain # Plain text (no colors)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
## Configuration
|
|
93
|
+
|
|
94
|
+
Configuration is stored in `~/.config/tg/`:
|
|
95
|
+
- `config.json` - API credentials and session
|
|
96
|
+
- Session data is encrypted and stored securely
|
|
97
|
+
|
|
98
|
+
## Claude Code Skill
|
|
99
|
+
|
|
100
|
+
This package includes a Claude Code skill for AI agent integration. To install:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Symlink the skill to your Claude skills directory
|
|
104
|
+
mkdir -p ~/.claude/skills
|
|
105
|
+
ln -s $(npm root -g)/@cyberdrk/tg/SKILL.md ~/.claude/skills/tg.md
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Or if installed from source:
|
|
109
|
+
```bash
|
|
110
|
+
ln -s ~/Code/cyberdrk305/telegram/SKILL.md ~/.claude/skills/tg.md
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## Development
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
npm install
|
|
117
|
+
npm run build
|
|
118
|
+
npm run dev # Watch mode
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
## License
|
|
122
|
+
|
|
123
|
+
MIT
|
package/SKILL.md
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tg
|
|
3
|
+
description: Telegram CLI for reading, searching, and sending messages. Use when the user asks about Telegram messages, wants to check inbox, search chats, send messages, or look up contacts and groups.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Telegram CLI
|
|
7
|
+
|
|
8
|
+
Fast Telegram CLI for reading, searching, and sending messages.
|
|
9
|
+
|
|
10
|
+
## When to Use
|
|
11
|
+
|
|
12
|
+
Use this skill when the user:
|
|
13
|
+
- Asks to check Telegram messages or inbox
|
|
14
|
+
- Wants to search Telegram for a topic/keyword
|
|
15
|
+
- Wants to send a Telegram message to someone
|
|
16
|
+
- Asks about a Telegram group, contact, or chat
|
|
17
|
+
- Wants to see unread messages
|
|
18
|
+
- Needs to look up group members or admins
|
|
19
|
+
|
|
20
|
+
## Install
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npm install -g @cyberdrk/tg
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Or from source:
|
|
27
|
+
```bash
|
|
28
|
+
cd ~/Code/cyberdrk305/telegram && npm install && npm run build && npm link
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Authentication
|
|
32
|
+
|
|
33
|
+
First-time setup requires API credentials from https://my.telegram.org/apps
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
tg auth
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Commands
|
|
40
|
+
|
|
41
|
+
### Reading
|
|
42
|
+
```bash
|
|
43
|
+
tg inbox # Unread messages summary
|
|
44
|
+
tg chats # List all chats
|
|
45
|
+
tg read "ChatName" -n 50 # Read last 50 messages
|
|
46
|
+
tg read "ChatName" --since "1h" # Messages from last hour
|
|
47
|
+
tg read @username -n 20 # Read DM with user
|
|
48
|
+
tg search "query" --chat "ChatName" # Search within chat
|
|
49
|
+
tg search "query" --all # Search all chats
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Writing
|
|
53
|
+
```bash
|
|
54
|
+
tg send @username "message" # Send DM
|
|
55
|
+
tg send "GroupName" "message" # Send to group
|
|
56
|
+
tg reply "ChatName" 12345 "response" # Reply to message ID
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Contacts & Groups
|
|
60
|
+
```bash
|
|
61
|
+
tg contact @username # Get contact info
|
|
62
|
+
tg members "GroupName" # List group members
|
|
63
|
+
tg admins "GroupName" # List admins only
|
|
64
|
+
tg groups --admin # Groups where you're admin
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Status
|
|
68
|
+
```bash
|
|
69
|
+
tg whoami # Show logged-in account
|
|
70
|
+
tg check # Verify session
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Output Formats
|
|
74
|
+
|
|
75
|
+
All commands support `--json` for structured output suitable for processing:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
tg inbox --json # JSON format
|
|
79
|
+
tg read "Chat" --json # JSON with messages array
|
|
80
|
+
tg chats --json # JSON with chat list
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Examples
|
|
84
|
+
|
|
85
|
+
Check inbox:
|
|
86
|
+
```bash
|
|
87
|
+
tg inbox
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Read recent messages from a chat:
|
|
91
|
+
```bash
|
|
92
|
+
tg read "MetaDAO Community" -n 20
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Search for a topic:
|
|
96
|
+
```bash
|
|
97
|
+
tg search "futarchy" --chat "MetaDAO"
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Send a message:
|
|
101
|
+
```bash
|
|
102
|
+
tg send @username "Hello, checking in!"
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Notes
|
|
106
|
+
|
|
107
|
+
- Chat names can be partial matches (e.g., "MetaDAO" matches "MetaDAO Community")
|
|
108
|
+
- Usernames must start with @ (e.g., @username)
|
|
109
|
+
- Messages are returned in reverse chronological order (newest first)
|
|
110
|
+
- The `--since` flag accepts formats like "1h", "30m", "7d"
|
package/dist/auth.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAmB1C,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,CAAC,CA6C5D;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAOxE"}
|
package/dist/auth.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { TelegramClient } from 'telegram';
|
|
2
|
+
import { StringSession } from 'telegram/sessions/index.js';
|
|
3
|
+
import { createInterface } from 'readline';
|
|
4
|
+
import { setCredentials, setSessionString } from './config.js';
|
|
5
|
+
function prompt(question) {
|
|
6
|
+
const rl = createInterface({
|
|
7
|
+
input: process.stdin,
|
|
8
|
+
output: process.stdout,
|
|
9
|
+
});
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
rl.question(question, (answer) => {
|
|
12
|
+
rl.close();
|
|
13
|
+
resolve(answer.trim());
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export async function authenticate() {
|
|
18
|
+
console.log('\nTelegram Authentication Setup\n');
|
|
19
|
+
console.log('To get your API credentials:');
|
|
20
|
+
console.log('1. Go to https://my.telegram.org/apps');
|
|
21
|
+
console.log('2. Log in with your phone number');
|
|
22
|
+
console.log('3. Create a new application (if you haven\'t already)');
|
|
23
|
+
console.log('4. Copy the api_id and api_hash\n');
|
|
24
|
+
const apiIdStr = await prompt('Enter your API ID: ');
|
|
25
|
+
const apiId = parseInt(apiIdStr, 10);
|
|
26
|
+
if (isNaN(apiId)) {
|
|
27
|
+
throw new Error('Invalid API ID');
|
|
28
|
+
}
|
|
29
|
+
const apiHash = await prompt('Enter your API Hash: ');
|
|
30
|
+
if (!apiHash) {
|
|
31
|
+
throw new Error('Invalid API Hash');
|
|
32
|
+
}
|
|
33
|
+
// Save credentials
|
|
34
|
+
setCredentials(apiId, apiHash);
|
|
35
|
+
console.log('\nConnecting to Telegram...');
|
|
36
|
+
const session = new StringSession('');
|
|
37
|
+
const client = new TelegramClient(session, apiId, apiHash, {
|
|
38
|
+
connectionRetries: 5,
|
|
39
|
+
});
|
|
40
|
+
await client.start({
|
|
41
|
+
phoneNumber: async () => await prompt('Enter your phone number (with country code, e.g., +1234567890): '),
|
|
42
|
+
password: async () => await prompt('Enter your 2FA password (press Enter if none): '),
|
|
43
|
+
phoneCode: async () => await prompt('Enter the code you received: '),
|
|
44
|
+
onError: (err) => console.error('Error:', err),
|
|
45
|
+
});
|
|
46
|
+
// Save session
|
|
47
|
+
const sessionString = client.session.save();
|
|
48
|
+
setSessionString(sessionString);
|
|
49
|
+
console.log('\nAuthentication successful! Session saved.');
|
|
50
|
+
return client;
|
|
51
|
+
}
|
|
52
|
+
export async function checkAuth(client) {
|
|
53
|
+
try {
|
|
54
|
+
await client.connect();
|
|
55
|
+
return await client.isUserAuthorized();
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { TelegramClient, Api } from 'telegram';
|
|
2
|
+
export declare function getClient(): Promise<TelegramClient>;
|
|
3
|
+
export declare function createClient(apiId: number, apiHash: string): Promise<TelegramClient>;
|
|
4
|
+
export declare function saveSession(client: TelegramClient): Promise<void>;
|
|
5
|
+
export declare function disconnectClient(): Promise<void>;
|
|
6
|
+
export declare function getMe(client: TelegramClient): Promise<Api.User>;
|
|
7
|
+
export interface ChatInfo {
|
|
8
|
+
id: string;
|
|
9
|
+
title: string;
|
|
10
|
+
type: 'user' | 'group' | 'supergroup' | 'channel';
|
|
11
|
+
username?: string;
|
|
12
|
+
unreadCount: number;
|
|
13
|
+
lastMessage?: string;
|
|
14
|
+
lastMessageDate?: Date;
|
|
15
|
+
}
|
|
16
|
+
export declare function getDialogs(client: TelegramClient, limit?: number): Promise<ChatInfo[]>;
|
|
17
|
+
export interface MessageInfo {
|
|
18
|
+
id: number;
|
|
19
|
+
date: Date;
|
|
20
|
+
sender: string;
|
|
21
|
+
senderId?: string;
|
|
22
|
+
text: string;
|
|
23
|
+
replyToMsgId?: number;
|
|
24
|
+
isOutgoing: boolean;
|
|
25
|
+
}
|
|
26
|
+
export declare function getMessages(client: TelegramClient, chatIdentifier: string, options?: {
|
|
27
|
+
limit?: number;
|
|
28
|
+
offsetId?: number;
|
|
29
|
+
minDate?: Date;
|
|
30
|
+
maxDate?: Date;
|
|
31
|
+
}): Promise<{
|
|
32
|
+
messages: MessageInfo[];
|
|
33
|
+
chatTitle: string;
|
|
34
|
+
}>;
|
|
35
|
+
export declare function searchMessages(client: TelegramClient, query: string, options?: {
|
|
36
|
+
chat?: string;
|
|
37
|
+
limit?: number;
|
|
38
|
+
}): Promise<{
|
|
39
|
+
messages: MessageInfo[];
|
|
40
|
+
chatTitle?: string;
|
|
41
|
+
}[]>;
|
|
42
|
+
export declare function sendMessage(client: TelegramClient, chatIdentifier: string, text: string, replyToMsgId?: number): Promise<Api.Message>;
|
|
43
|
+
export declare function getContactInfo(client: TelegramClient, identifier: string): Promise<{
|
|
44
|
+
id: string;
|
|
45
|
+
firstName?: string;
|
|
46
|
+
lastName?: string;
|
|
47
|
+
username?: string;
|
|
48
|
+
phone?: string;
|
|
49
|
+
bio?: string;
|
|
50
|
+
isBot: boolean;
|
|
51
|
+
isMutualContact: boolean;
|
|
52
|
+
}>;
|
|
53
|
+
export declare function getChatMembers(client: TelegramClient, chatIdentifier: string, options?: {
|
|
54
|
+
adminsOnly?: boolean;
|
|
55
|
+
limit?: number;
|
|
56
|
+
}): Promise<{
|
|
57
|
+
id: string;
|
|
58
|
+
name: string;
|
|
59
|
+
username?: string;
|
|
60
|
+
isAdmin: boolean;
|
|
61
|
+
}[]>;
|
|
62
|
+
export declare function getAdminGroups(client: TelegramClient): Promise<ChatInfo[]>;
|
|
63
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|