@will-17173/telegram-cli 0.1.1 → 0.2.0

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.
Files changed (54) hide show
  1. package/README.md +109 -6
  2. package/README.zh-CN.md +110 -7
  3. package/dist/cli/app.js +3 -1
  4. package/dist/cli/app.js.map +1 -1
  5. package/dist/commands/account.js +3 -1
  6. package/dist/commands/account.js.map +1 -1
  7. package/dist/commands/config.js +96 -13
  8. package/dist/commands/config.js.map +1 -1
  9. package/dist/commands/group.js +107 -0
  10. package/dist/commands/group.js.map +1 -0
  11. package/dist/commands/telegram-runner.js +84 -0
  12. package/dist/commands/telegram-runner.js.map +1 -0
  13. package/dist/commands/telegram.js +92 -129
  14. package/dist/commands/telegram.js.map +1 -1
  15. package/dist/config/credential-store.js +76 -22
  16. package/dist/config/credential-store.js.map +1 -1
  17. package/dist/config/env.js +12 -1
  18. package/dist/config/env.js.map +1 -1
  19. package/dist/index.js +0 -0
  20. package/dist/presenters/group.js +106 -0
  21. package/dist/presenters/group.js.map +1 -0
  22. package/dist/presenters/human.js +7 -9
  23. package/dist/presenters/human.js.map +1 -1
  24. package/dist/presenters/ink/listen.js +376 -141
  25. package/dist/presenters/ink/listen.js.map +1 -1
  26. package/dist/presenters/listen-message.js +3 -236
  27. package/dist/presenters/listen-message.js.map +1 -1
  28. package/dist/services/attachment-download.js +5 -2
  29. package/dist/services/attachment-download.js.map +1 -1
  30. package/dist/services/auto-download-coordinator.js +214 -0
  31. package/dist/services/auto-download-coordinator.js.map +1 -0
  32. package/dist/services/group-service.js +164 -0
  33. package/dist/services/group-service.js.map +1 -0
  34. package/dist/services/listen-attachment.js +248 -0
  35. package/dist/services/listen-attachment.js.map +1 -0
  36. package/dist/services/message-service.js +54 -4
  37. package/dist/services/message-service.js.map +1 -1
  38. package/dist/services/query-service.js +37 -32
  39. package/dist/services/query-service.js.map +1 -1
  40. package/dist/services/sync-service.js +18 -6
  41. package/dist/services/sync-service.js.map +1 -1
  42. package/dist/telegram/client-factory.js +4 -2
  43. package/dist/telegram/client-factory.js.map +1 -1
  44. package/dist/telegram/fake-group-management.js +264 -0
  45. package/dist/telegram/fake-group-management.js.map +1 -0
  46. package/dist/telegram/group-types.js +19 -0
  47. package/dist/telegram/group-types.js.map +1 -0
  48. package/dist/telegram/mtcute-client.js +73 -8
  49. package/dist/telegram/mtcute-client.js.map +1 -1
  50. package/dist/telegram/mtcute-group-management.js +464 -0
  51. package/dist/telegram/mtcute-group-management.js.map +1 -0
  52. package/dist/telegram/proxy.js +27 -0
  53. package/dist/telegram/proxy.js.map +1 -0
  54. package/package.json +10 -12
@@ -0,0 +1,264 @@
1
+ export { TelegramGroupAdminRequiredError, TelegramGroupMemberNotFoundError, TelegramGroupNotFoundError, } from './group-types.js';
2
+ import { TelegramGroupMemberNotFoundError, TelegramGroupNotFoundError, } from './group-types.js';
3
+ export class FakeTelegramGroupManagement {
4
+ getGroupCalls = [];
5
+ listMembersCalls = [];
6
+ getMemberCalls = [];
7
+ listAuditEventsCalls = [];
8
+ group;
9
+ members;
10
+ membersByFilter;
11
+ auditEvents;
12
+ getGroupFailure;
13
+ listMembersFailure;
14
+ getMemberFailure;
15
+ listAuditEventsFailure;
16
+ constructor(options = {}) {
17
+ this.membersByFilter = cloneMembersByFilter(options.membersByFilter ?? {});
18
+ this.members = mergeMemberDetails((options.members ?? defaultMembers()).map(cloneMember), this.membersByFilter);
19
+ this.group = cloneGroup(options.group ?? {
20
+ ...defaultGroup(),
21
+ member_count: this.members.length,
22
+ });
23
+ this.auditEvents = (options.auditEvents ?? defaultAuditEvents()).map(cloneAuditEvent);
24
+ this.getGroupFailure = options.getGroupFailure;
25
+ this.listMembersFailure = options.listMembersFailure;
26
+ this.getMemberFailure = options.getMemberFailure;
27
+ this.listAuditEventsFailure = options.listAuditEventsFailure;
28
+ }
29
+ async getGroup(chat) {
30
+ this.getGroupCalls.push(chat);
31
+ if (this.getGroupFailure)
32
+ throw this.getGroupFailure;
33
+ this.assertGroup(chat);
34
+ return cloneGroup(this.group);
35
+ }
36
+ async listMembers(request) {
37
+ this.listMembersCalls.push({ ...request });
38
+ if (this.listMembersFailure)
39
+ throw this.listMembersFailure;
40
+ this.assertGroup(request.chat);
41
+ const configuredMembers = this.membersByFilter[request.type];
42
+ const candidates = configuredMembers == null
43
+ ? defaultMembersForFilter(this.members, request.type)
44
+ : configuredMembers;
45
+ const query = request.query?.toLocaleLowerCase() ?? null;
46
+ const matching = candidates.filter((member) => {
47
+ const queryMatches = query == null
48
+ || member.display_name.toLocaleLowerCase().includes(query)
49
+ || member.username?.toLocaleLowerCase().includes(query) === true;
50
+ return queryMatches;
51
+ });
52
+ const members = matching.slice(0, request.limit).map(cloneMemberSummary);
53
+ return {
54
+ chat_id: this.group.id,
55
+ chat_title: this.group.title,
56
+ filter: request.type,
57
+ query: request.query ?? null,
58
+ limit: request.limit,
59
+ total: matching.length,
60
+ members,
61
+ };
62
+ }
63
+ async getMember(chat, user) {
64
+ this.getMemberCalls.push({ chat, user });
65
+ if (this.getMemberFailure)
66
+ throw this.getMemberFailure;
67
+ this.assertGroup(chat);
68
+ const member = this.members.find((candidate) => peerMatches(user, candidate.id, [candidate.username, candidate.display_name]));
69
+ if (!member)
70
+ throw new TelegramGroupMemberNotFoundError(chat, user);
71
+ return { chat_id: this.group.id, member: cloneMember(member) };
72
+ }
73
+ async listAuditEvents(request) {
74
+ this.listAuditEventsCalls.push({
75
+ ...request,
76
+ users: request.users == null ? undefined : [...request.users],
77
+ types: request.types == null ? undefined : [...request.types],
78
+ });
79
+ if (this.listAuditEventsFailure)
80
+ throw this.listAuditEventsFailure;
81
+ this.assertGroup(request.chat);
82
+ const query = request.query?.toLocaleLowerCase();
83
+ const events = this.auditEvents.filter((event) => {
84
+ const matchesQuery = query == null || event.summary.toLocaleLowerCase().includes(query);
85
+ const matchesType = request.types == null || request.types.includes(event.type);
86
+ const matchesUser = request.users == null || request.users.some((user) => actorMatches(event.actor, user));
87
+ return matchesQuery && matchesType && matchesUser;
88
+ }).slice(0, request.limit).map(cloneAuditEvent);
89
+ return { chat_id: this.group.id, chat_title: this.group.title, events };
90
+ }
91
+ assertGroup(chat) {
92
+ if (!peerMatches(chat, this.group.id, [this.group.title, this.group.username])) {
93
+ throw new TelegramGroupNotFoundError(chat);
94
+ }
95
+ }
96
+ }
97
+ function matchesMemberFilter(member, filter) {
98
+ if (filter === 'admins')
99
+ return member.status === 'creator' || member.status === 'admin';
100
+ if (filter === 'banned')
101
+ return member.status === 'banned';
102
+ if (filter === 'restricted')
103
+ return member.status === 'restricted';
104
+ return true;
105
+ }
106
+ function defaultMembersForFilter(members, filter) {
107
+ if (filter === 'bots' || filter === 'contacts')
108
+ return [];
109
+ return members.filter((member) => matchesMemberFilter(member, filter)).map(toSummary);
110
+ }
111
+ function cloneMembersByFilter(membersByFilter) {
112
+ const cloned = {};
113
+ for (const filter of Object.keys(membersByFilter)) {
114
+ cloned[filter] = membersByFilter[filter]?.map(cloneMemberSummary);
115
+ }
116
+ return cloned;
117
+ }
118
+ function mergeMemberDetails(explicitMembers, membersByFilter) {
119
+ const merged = explicitMembers.map(cloneMember);
120
+ const memberIds = new Set(merged.map((member) => member.id));
121
+ for (const members of Object.values(membersByFilter)) {
122
+ for (const member of members ?? []) {
123
+ if (memberIds.has(member.id))
124
+ continue;
125
+ merged.push({
126
+ ...cloneMemberSummary(member),
127
+ admin_rights: null,
128
+ restrictions: null,
129
+ });
130
+ memberIds.add(member.id);
131
+ }
132
+ }
133
+ return merged;
134
+ }
135
+ function defaultGroup() {
136
+ return {
137
+ id: 100,
138
+ title: 'TestGroup',
139
+ username: 'testgroup',
140
+ type: 'supergroup',
141
+ member_count: 4,
142
+ current_user_role: 'admin',
143
+ current_user_rank: 'Moderator',
144
+ permissions: adminRights(),
145
+ default_restrictions: restrictions(),
146
+ slow_mode_seconds: null,
147
+ message_ttl_seconds: null,
148
+ content_protected: false,
149
+ forum: false,
150
+ };
151
+ }
152
+ function defaultMembers() {
153
+ return [
154
+ member(1, 'Alice Admin', 'alice', 'creator', 'Owner', adminRights()),
155
+ member(2, 'Test User', 'test', 'admin', 'Moderator', adminRights()),
156
+ member(3, 'Bob Member', 'bob', 'member', null, null),
157
+ {
158
+ ...member(4, 'Restricted User', null, 'restricted', null, null),
159
+ restricted_until: '2026-12-31T23:59:59.000Z',
160
+ restrictions: restrictions({ send_messages: true }),
161
+ },
162
+ ];
163
+ }
164
+ function defaultAuditEvents() {
165
+ return [{
166
+ id: 'audit-1',
167
+ date: '2026-03-09T10:00:00.000Z',
168
+ type: 'info_changed',
169
+ actor: { id: 1, display_name: 'Alice Admin', username: 'alice' },
170
+ target: null,
171
+ summary: 'Alice Admin changed the group title to TestGroup',
172
+ }];
173
+ }
174
+ function member(id, displayName, username, status, rank, rights) {
175
+ return {
176
+ id,
177
+ display_name: displayName,
178
+ username,
179
+ status,
180
+ rank,
181
+ joined_at: '2026-03-01T10:00:00.000Z',
182
+ restricted_until: null,
183
+ admin_rights: rights,
184
+ restrictions: null,
185
+ };
186
+ }
187
+ function adminRights() {
188
+ return {
189
+ change_info: true,
190
+ delete_messages: true,
191
+ ban_users: true,
192
+ invite_users: true,
193
+ pin_messages: true,
194
+ add_admins: false,
195
+ manage_call: true,
196
+ anonymous: false,
197
+ manage_topics: true,
198
+ };
199
+ }
200
+ function restrictions(overrides = {}) {
201
+ return {
202
+ view_messages: false,
203
+ send_messages: false,
204
+ send_media: false,
205
+ send_stickers: false,
206
+ send_gifs: false,
207
+ send_games: false,
208
+ send_inline: false,
209
+ embed_links: false,
210
+ send_polls: false,
211
+ change_info: false,
212
+ invite_users: false,
213
+ pin_messages: false,
214
+ manage_topics: false,
215
+ ...overrides,
216
+ };
217
+ }
218
+ function actorMatches(actor, user) {
219
+ if (actor == null)
220
+ return false;
221
+ return peerMatches(user, actor.id, [actor.username, actor.display_name]);
222
+ }
223
+ function peerMatches(reference, numericId, names) {
224
+ const canonical = canonicalPeerReference(reference);
225
+ return canonical.numeric_id === numericId
226
+ || names.some((name) => name?.toLocaleLowerCase() === canonical.text);
227
+ }
228
+ function canonicalPeerReference(reference) {
229
+ const text = String(reference).trim().replace(/^@/, '').toLocaleLowerCase();
230
+ const numeric = /^[-+]?\d+$/.test(text) ? Number(text) : Number.NaN;
231
+ return {
232
+ numeric_id: Number.isSafeInteger(numeric) ? numeric : null,
233
+ text,
234
+ };
235
+ }
236
+ function cloneGroup(group) {
237
+ return {
238
+ ...group,
239
+ permissions: group.permissions == null ? null : { ...group.permissions },
240
+ default_restrictions: group.default_restrictions == null ? null : { ...group.default_restrictions },
241
+ };
242
+ }
243
+ function toSummary(memberDetails) {
244
+ const { admin_rights: _adminRights, restrictions: _restrictions, ...member } = memberDetails;
245
+ return cloneMemberSummary(member);
246
+ }
247
+ function cloneMemberSummary(member) {
248
+ return { ...member };
249
+ }
250
+ function cloneMember(memberDetails) {
251
+ return {
252
+ ...memberDetails,
253
+ admin_rights: memberDetails.admin_rights == null ? null : { ...memberDetails.admin_rights },
254
+ restrictions: memberDetails.restrictions == null ? null : { ...memberDetails.restrictions },
255
+ };
256
+ }
257
+ function cloneAuditEvent(event) {
258
+ return {
259
+ ...event,
260
+ actor: event.actor == null ? null : { ...event.actor },
261
+ target: event.target == null ? null : { ...event.target },
262
+ };
263
+ }
264
+ //# sourceMappingURL=fake-group-management.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fake-group-management.js","sourceRoot":"","sources":["../../src/telegram/fake-group-management.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export class TelegramGroupNotFoundError extends Error {
2
+ constructor(chat) {
3
+ super(`Telegram group not found: ${String(chat)}`);
4
+ this.name = 'TelegramGroupNotFoundError';
5
+ }
6
+ }
7
+ export class TelegramGroupMemberNotFoundError extends Error {
8
+ constructor(chat, user) {
9
+ super(`Telegram group member not found: ${String(user)} in ${String(chat)}`);
10
+ this.name = 'TelegramGroupMemberNotFoundError';
11
+ }
12
+ }
13
+ export class TelegramGroupAdminRequiredError extends Error {
14
+ constructor(chat) {
15
+ super(`Telegram group administrator privileges required: ${String(chat)}`);
16
+ this.name = 'TelegramGroupAdminRequiredError';
17
+ }
18
+ }
19
+ //# sourceMappingURL=group-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group-types.js","sourceRoot":"","sources":["../../src/telegram/group-types.ts"],"names":[],"mappings":"AA8IA,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACnD,YAAY,IAAqB;QAC/B,KAAK,CAAC,6BAA6B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClD,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAA;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,gCAAiC,SAAQ,KAAK;IACzD,YAAY,IAAqB,EAAE,IAAqB;QACtD,KAAK,CAAC,oCAAoC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC5E,IAAI,CAAC,IAAI,GAAG,kCAAkC,CAAA;IAChD,CAAC;CACF;AAED,MAAM,OAAO,+BAAgC,SAAQ,KAAK;IACxD,YAAY,IAAqB;QAC/B,KAAK,CAAC,qDAAqD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1E,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAA;IAC/C,CAAC;CACF"}
@@ -1,11 +1,15 @@
1
1
  import { Buffer } from 'node:buffer';
2
- import { Thumbnail } from '@mtcute/node';
2
+ import { setTimeout } from 'node:timers/promises';
3
+ import { InputMedia, Thumbnail, tl } from '@mtcute/node';
3
4
  import { FileLocation, MtPeerNotFoundError } from '@mtcute/node';
5
+ import { MtcuteGroupManagement } from './mtcute-group-management.js';
4
6
  export class MtcuteTelegramClient {
5
7
  client;
8
+ groups;
6
9
  isReady = false;
7
10
  constructor(client) {
8
11
  this.client = client;
12
+ this.groups = new MtcuteGroupManagement(client, () => this.ensureReady());
9
13
  }
10
14
  async close() {
11
15
  try {
@@ -86,12 +90,43 @@ export class MtcuteTelegramClient {
86
90
  }
87
91
  async fetchHistory(options) {
88
92
  await this.ensureReady();
89
- const history = await this.client.getHistory(normalizeChatId(options.chat), {
90
- limit: options.limit,
91
- minId: options.minId,
92
- });
93
- const rows = history.map((message) => toStoredMessage(message));
94
- options.onProgress?.(rows.length);
93
+ const rows = [];
94
+ let offset;
95
+ let floodRetries = 0;
96
+ while (rows.length < options.limit) {
97
+ const pageOptions = {
98
+ limit: Math.min(100, options.limit - rows.length),
99
+ minId: options.minId,
100
+ offset,
101
+ };
102
+ let page;
103
+ while (true) {
104
+ try {
105
+ page = await this.client.getHistory(normalizeChatId(options.chat), pageOptions);
106
+ break;
107
+ }
108
+ catch (error) {
109
+ const floodSeconds = tl.RpcError.is(error, 'FLOOD_WAIT_%d')
110
+ ? error.seconds
111
+ : tl.RpcError.is(error) ? Number(/^FLOOD_WAIT_(\d+)$/.exec(error.text)?.[1]) : Number.NaN;
112
+ if (!Number.isFinite(floodSeconds) || floodRetries >= 5)
113
+ throw error;
114
+ floodRetries += 1;
115
+ await setTimeout((floodSeconds + 1) * 1000);
116
+ }
117
+ }
118
+ for (const message of page) {
119
+ rows.push(toStoredMessage(message));
120
+ options.onProgress?.(rows.length);
121
+ }
122
+ if (rows.length >= options.limit || page.next == null)
123
+ break;
124
+ offset = page.next;
125
+ if (options.pageDelay) {
126
+ const jitter = options.pageDelay * (Math.random() * 0.4 - 0.2);
127
+ await setTimeout((options.pageDelay + jitter) * 1000);
128
+ }
129
+ }
95
130
  return rows;
96
131
  }
97
132
  async downloadMessageMedia(options) {
@@ -109,7 +144,19 @@ export class MtcuteTelegramClient {
109
144
  async sendMessage(options) {
110
145
  await this.ensureReady();
111
146
  const sent = await this.client.sendText(normalizeChatId(options.chat), options.message, { replyTo: options.reply, disableWebPreview: !options.linkPreview });
112
- return { msg_id: sent.id };
147
+ return { msg_id: sent.id, sent_message: toStoredMessage(sent) };
148
+ }
149
+ async sendMedia(options) {
150
+ if (options.files.length === 0)
151
+ throw new Error('At least one media file is required.');
152
+ await this.ensureReady();
153
+ const chat = normalizeChatId(options.chat);
154
+ if (options.files.length === 1) {
155
+ const sent = await this.client.sendMedia(chat, inputMediaForFile(options.files[0]), { caption: options.caption, replyTo: options.reply });
156
+ return { messages: [toSendMediaMessage(sent)] };
157
+ }
158
+ const sent = await this.client.sendMediaGroup(chat, options.files.map((file, index) => inputMediaForFile(file, index === 0 ? options.caption : undefined)), { replyTo: options.reply });
159
+ return { messages: sent.map(toSendMediaMessage) };
113
160
  }
114
161
  async editMessage(options) {
115
162
  await this.ensureReady();
@@ -208,6 +255,24 @@ function normalizeChatId(chat) {
208
255
  const numeric = Number.parseInt(trimmed, 10);
209
256
  return Number.isNaN(numeric) ? chat : String(numeric) === trimmed ? numeric : chat;
210
257
  }
258
+ function inputMediaForFile(file, caption) {
259
+ const extension = /(?:^|\/)[^/]*?(\.[^.\/]+)$/.exec(file)?.[1]?.toLowerCase();
260
+ const params = caption == null ? undefined : { caption };
261
+ const localFile = `file:${file}`;
262
+ if (extension && ['.jpg', '.jpeg', '.png', '.webp'].includes(extension)) {
263
+ return InputMedia.photo(localFile, params);
264
+ }
265
+ if (extension && ['.mp4', '.mov', '.m4v', '.webm'].includes(extension)) {
266
+ return InputMedia.video(localFile, params);
267
+ }
268
+ return InputMedia.document(localFile, params);
269
+ }
270
+ function toSendMediaMessage(message) {
271
+ return {
272
+ msg_id: message.id,
273
+ sent_message: toStoredMessage(message),
274
+ };
275
+ }
211
276
  function getUserPhone(peer) {
212
277
  if (peer == null || typeof peer !== 'object')
213
278
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"mtcute-client.js","sourceRoot":"","sources":["../../src/telegram/mtcute-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mtcute-client.js","sourceRoot":"","sources":["../../src/telegram/mtcute-client.ts"],"names":[],"mappings":"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"}