@will-17173/telegram-cli 0.5.1 → 0.6.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.
package/README.md CHANGED
@@ -66,6 +66,17 @@ The `listen` command streams new messages from one chat or many chats. It can do
66
66
  tg listen @team --auto-download
67
67
  ```
68
68
 
69
+ ### Download historical media
70
+
71
+ Use `download` for existing messages: a single message, one attachment, an inclusive message range, one local date, or a whole chat from newest to oldest. Use `--output` to choose the directory and `--concurrency` to cap parallel downloads.
72
+
73
+ ```sh
74
+ tg download --chat @team --msg-id 814 --output ./media
75
+ tg download --chat @team --date 2026-07-15 --concurrency 2
76
+ tg download --chat @channel --grouped-id 2637798265 --output ./album-media
77
+ tg download --chat @channel --all --output ./channel-media
78
+ ```
79
+
69
80
  ### Keep a Markdown archive
70
81
 
71
82
  The `archive` command writes incremental Markdown and optional media files. It tracks archive progress separately and does not populate SQLite.
@@ -134,6 +145,8 @@ Check a command’s execution scope before you run it:
134
145
 
135
146
  Each account has a separate session and SQLite database. Add `--account work` to select an account for one command without changing the default.
136
147
 
148
+ Use `sync <chat>` to update a chat from the newest locally stored message. Use `history <chat>` to continue backfilling older messages from the oldest locally stored message; if the chat has no local rows yet, `history` starts from the newest Telegram messages.
149
+
137
150
  ## Protect remote data
138
151
 
139
152
  Disable remote writes before read-only workflows or automation:
package/README.zh-CN.md CHANGED
@@ -66,6 +66,17 @@ tg web
66
66
  tg listen @team --auto-download
67
67
  ```
68
68
 
69
+ ### 下载历史媒体
70
+
71
+ `download` 用于已存在的消息:可下载单条消息、单个附件、连续消息范围、某个本地日期,或从最新到最旧下载整个聊天的媒体。用 `--output` 指定目录,用 `--concurrency` 控制并发数。
72
+
73
+ ```sh
74
+ tg download --chat @team --msg-id 814 --output ./media
75
+ tg download --chat @team --date 2026-07-15 --concurrency 2
76
+ tg download --chat @channel --grouped-id 2637798265 --output ./album-media
77
+ tg download --chat @channel --all --output ./channel-media
78
+ ```
79
+
69
80
  ### 保存增量 Markdown 归档
70
81
 
71
82
  `archive` 将消息增量写入 Markdown,并可同时下载媒体文件。它单独记录归档进度,不会填充 SQLite。
@@ -134,6 +145,8 @@ tg search "release" --chat @team
134
145
 
135
146
  每个账号都有独立的会话和 SQLite 数据库。添加 `--account work` 可以为单次命令选择账号,且不会改变默认账号。
136
147
 
148
+ 使用 `sync <chat>` 从本地最新消息继续更新。使用 `history <chat>` 从本地最旧消息继续向更旧回填;如果这个聊天在本地还没有消息,`history` 会从 Telegram 最新消息开始拉取。
149
+
137
150
  ## 保护远端数据
138
151
 
139
152
  在只读工作流或自动化任务前关闭远端写入:
package/dist/cli/app.js CHANGED
@@ -18,7 +18,7 @@ export function createApp() {
18
18
  .option('-v, --verbose', 'Enable debug logging')
19
19
  .option('--account <account>', 'Select an account for account-dependent commands')
20
20
  .option('--markdown', 'Produce Markdown output for human-readable results')
21
- .version('0.5.1');
21
+ .version('0.6.0');
22
22
  registerQueryCommands(app);
23
23
  registerArchiveCommand(app);
24
24
  registerDataCommands(app);
@@ -1,7 +1,12 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { homedir } from 'node:os';
3
+ import { join } from 'node:path';
1
4
  import { MessageDB } from '../storage/message-db.js';
2
5
  import { createTelegramClient } from '../telegram/client-factory.js';
3
6
  import { MessageService } from '../services/message-service.js';
4
7
  import { SyncService } from '../services/sync-service.js';
8
+ import { DownloadService } from '../services/download-service.js';
9
+ import { attachmentFileName, discoverListenAttachments } from '../services/listen-attachment.js';
5
10
  import { ListenAlbumAggregator } from '../services/listen-album-aggregator.js';
6
11
  import { AutoDownloadCoordinator } from '../services/auto-download-coordinator.js';
7
12
  import { actionDetail, chatTable, recordDetail, syncSummary, userDetail } from '../presenters/human.js';
@@ -10,6 +15,7 @@ import { renderInteractiveListen } from '../presenters/ink/listen.js';
10
15
  import { runWithAuthenticatedAccountContext } from './account-options.js';
11
16
  import { hideBenignUpdateWarnings, runTelegramCommand, runTelegramWriteCommand } from './telegram-runner.js';
12
17
  import { createListenReplyResolver } from '../services/listen-reply-resolver.js';
18
+ import { parseTimeRange } from './time-range.js';
13
19
  export function registerTelegramCommands(app) {
14
20
  app.command('status')
15
21
  .description('Show Telegram authentication status')
@@ -72,7 +78,7 @@ export function registerTelegramCommands(app) {
72
78
  }, command);
73
79
  });
74
80
  app.command('history')
75
- .description('Fetch chat history and store it locally')
81
+ .description('Backfill older chat history from the local oldest message')
76
82
  .argument('<chat>')
77
83
  .option('-n, --limit <limit>', 'Max messages to fetch', '1000')
78
84
  .option('--delay <delay>', 'Seconds between history pages', '1')
@@ -107,20 +113,37 @@ export function registerTelegramCommands(app) {
107
113
  const limit = Number.parseInt(options.limit ?? '0', 10);
108
114
  const delay = Number.parseFloat(options.delay ?? '0');
109
115
  const maxChats = options.maxChats == null ? undefined : Number.parseInt(options.maxChats, 10);
110
- await renderSyncResult(options, async (service) => {
111
- const result = await service.refresh({ limit, delay, maxChats });
112
- if (!result.ok)
113
- return result;
114
- return {
115
- ok: true,
116
- data: {
117
- new_messages: result.data.new_messages,
118
- chats: result.data.chats,
119
- results: result.data.results,
120
- },
121
- human: syncSummary(result.data),
122
- };
123
- }, command);
116
+ const reporter = createRefreshStatusReporter(options);
117
+ const stop = createInterruptibleSyncAllStop(options);
118
+ try {
119
+ await renderSyncResult(options, async (service) => {
120
+ const result = await service.refresh({
121
+ limit,
122
+ delay,
123
+ maxChats,
124
+ onChatStart: reporter?.onChatStart,
125
+ onChatComplete: reporter?.onChatComplete,
126
+ onProgress: reporter?.onProgress,
127
+ stopSignal: stop.signal,
128
+ });
129
+ if (!result.ok)
130
+ return result;
131
+ return {
132
+ ok: true,
133
+ data: {
134
+ new_messages: result.data.new_messages,
135
+ chats: result.data.chats,
136
+ results: result.data.results,
137
+ },
138
+ human: syncSummary(result.data),
139
+ };
140
+ }, command);
141
+ }
142
+ finally {
143
+ stop.dispose();
144
+ }
145
+ if (stop.interrupted)
146
+ process.exitCode = 130;
124
147
  });
125
148
  app.command('refresh')
126
149
  .description('Refresh all chats with new Telegram messages')
@@ -196,6 +219,49 @@ export function registerTelegramCommands(app) {
196
219
  msgIds: msgIds.map((id) => Number.parseInt(id, 10)),
197
220
  }), command);
198
221
  });
222
+ app.command('download')
223
+ .description('Download media attached to Telegram messages')
224
+ .argument('[chat]')
225
+ .argument('[msgId]')
226
+ .option('--chat <chat>', 'Chat id, username, or title')
227
+ .option('--msg-id <msgId>', 'Download one Telegram message id')
228
+ .option('--msg_id <msgId>', 'Alias for --msg-id')
229
+ .option('-a, --attachment <number>', 'Download one attachment number from a single message')
230
+ .option('--grouped-id <id>', 'Download all media in a Telegram album grouped_id')
231
+ .option('--grouped_id <id>', 'Alias for --grouped-id')
232
+ .option('--from <msgId>', 'First message id in an inclusive range')
233
+ .option('--to <msgId>', 'Last message id in an inclusive range')
234
+ .option('--date <date>', 'Download media for a local date (YYYY-MM-DD)')
235
+ .option('--since <since>', 'Only download media after this time')
236
+ .option('--until <until>', 'Only download media before this time')
237
+ .option('--all', 'Download all media from the chat, newest to oldest')
238
+ .option('-o, --output <path>', 'Download directory')
239
+ .option('-j, --concurrency <count>', 'Concurrent downloads', '3')
240
+ .option('--json')
241
+ .option('--yaml')
242
+ .action(async (chat, msgId, options, command) => {
243
+ const input = buildDownloadInput(chat, msgId, options);
244
+ if (!input.ok) {
245
+ await runWithAuthenticatedAccountContext(options, async () => input, command);
246
+ return;
247
+ }
248
+ await runTelegramCommand(options, async (client, context) => {
249
+ const groupedMessages = localGroupedDownloadMessages(context.dbPath, input.data);
250
+ if (input.data.groupedId != null && groupedMessages.length === 0) {
251
+ return {
252
+ ok: false,
253
+ error: {
254
+ code: 'download_grouped_id_not_found',
255
+ message: `Grouped album ${input.data.groupedId} was not found in the local cache for ${String(input.data.chat)}. Sync or refresh the chat first, then retry.`,
256
+ },
257
+ };
258
+ }
259
+ return new DownloadService(client.archive).download({
260
+ ...input.data,
261
+ ...(groupedMessages.length === 0 ? {} : { groupedMessages }),
262
+ });
263
+ }, command);
264
+ });
199
265
  app.command('listen')
200
266
  .description('Listen for new Telegram messages')
201
267
  .argument('[chats...]')
@@ -393,6 +459,157 @@ function printAutoDownloadEvent(event) {
393
459
  process.stdout.write(`download failed: ${event.key.split(':').slice(0, -1).join(':')}: ${event.error}\n`);
394
460
  }
395
461
  }
462
+ function buildDownloadInput(chat, msgId, options) {
463
+ const effectiveChat = options.chat ?? chat;
464
+ if (effectiveChat == null || effectiveChat.trim() === '')
465
+ return invalidOption('chat must be a non-empty string.');
466
+ if (options.chat != null && chat != null && chat.trim() !== '')
467
+ return invalidOption('chat argument cannot be combined with --chat.');
468
+ const effectiveMsgId = options.msgId ?? options.msg_id ?? msgId;
469
+ if ((options.msgId != null || options.msg_id != null) && msgId != null)
470
+ return invalidOption('message id argument cannot be combined with --msg-id.');
471
+ const parsedMessageId = effectiveMsgId == null ? undefined : parsePositiveInteger(effectiveMsgId);
472
+ if (effectiveMsgId != null && parsedMessageId == null)
473
+ return invalidOption('message id must be a positive integer.');
474
+ const groupedId = options.groupedId ?? options.grouped_id;
475
+ const attachment = options.attachment == null ? undefined : parsePositiveInteger(options.attachment);
476
+ if (options.attachment != null && attachment == null)
477
+ return invalidOption('attachment must be a positive integer.');
478
+ const fromId = options.from == null ? undefined : parsePositiveInteger(options.from);
479
+ if (options.from != null && fromId == null)
480
+ return invalidOption('from id must be a positive integer.');
481
+ const toId = options.to == null ? undefined : parsePositiveInteger(options.to);
482
+ if (options.to != null && toId == null)
483
+ return invalidOption('to id must be a positive integer.');
484
+ const concurrency = options.concurrency == null ? undefined : parsePositiveInteger(options.concurrency);
485
+ if (options.concurrency != null && concurrency == null)
486
+ return invalidOption('concurrency must be a positive integer.');
487
+ let since;
488
+ let until;
489
+ if (options.date != null) {
490
+ if (options.since != null || options.until != null) {
491
+ return invalidOption('--date cannot be combined with --since or --until.');
492
+ }
493
+ const parsedDate = parseLocalDate(options.date);
494
+ if (parsedDate == null)
495
+ return invalidOption('--date must use YYYY-MM-DD.');
496
+ since = parsedDate;
497
+ until = new Date(parsedDate.getFullYear(), parsedDate.getMonth(), parsedDate.getDate() + 1);
498
+ }
499
+ else {
500
+ try {
501
+ const range = parseTimeRange({ since: options.since, until: options.until });
502
+ since = range.since;
503
+ until = range.until;
504
+ }
505
+ catch {
506
+ return invalidOption('Use positive relative durations or ISO timestamps with zones; --since must be earlier than --until.');
507
+ }
508
+ }
509
+ const scopes = [
510
+ parsedMessageId != null,
511
+ groupedId != null,
512
+ fromId != null || toId != null,
513
+ since != null || until != null,
514
+ options.all === true,
515
+ ].filter(Boolean).length;
516
+ if (scopes !== 1) {
517
+ return invalidOption('Select exactly one download scope: message id, --grouped-id, --from/--to, --date/--since/--until, or --all.');
518
+ }
519
+ if (groupedId != null && groupedId.trim() === '') {
520
+ return invalidOption('grouped id must be a non-empty string.');
521
+ }
522
+ if (attachment != null && parsedMessageId == null && groupedId == null) {
523
+ return invalidOption('--attachment can only be used with a single message id or --grouped-id.');
524
+ }
525
+ return {
526
+ ok: true,
527
+ data: {
528
+ chat: parseChat(effectiveChat),
529
+ ...(parsedMessageId == null ? {} : { messageId: parsedMessageId }),
530
+ ...(groupedId == null ? {} : { groupedId }),
531
+ ...(attachment == null ? {} : { attachment }),
532
+ ...(fromId == null ? {} : { fromId }),
533
+ ...(toId == null ? {} : { toId }),
534
+ ...(since == null ? {} : { since }),
535
+ ...(until == null ? {} : { until }),
536
+ ...(options.all === true ? { all: true } : {}),
537
+ output: options.output ?? defaultDownloadOutput(),
538
+ ...(concurrency == null ? {} : { concurrency }),
539
+ },
540
+ };
541
+ }
542
+ function localGroupedDownloadMessages(dbPath, input) {
543
+ if (input.groupedId == null || !existsSync(dbPath))
544
+ return [];
545
+ const db = new MessageDB(dbPath, { readonly: true });
546
+ try {
547
+ const chatId = typeof input.chat === 'number'
548
+ ? input.chat
549
+ : db.resolveChatId(String(input.chat));
550
+ if (chatId == null)
551
+ return [];
552
+ const messages = db.findMessagesByGroupedId(chatId, input.groupedId);
553
+ return messages.map(toDownloadArchiveMessage);
554
+ }
555
+ finally {
556
+ db.close();
557
+ }
558
+ }
559
+ function toDownloadArchiveMessage(message) {
560
+ const [attachment] = discoverListenAttachments({
561
+ platform: message.platform,
562
+ chat_id: message.chat_id,
563
+ chat_name: message.chat_name,
564
+ msg_id: message.msg_id,
565
+ sender_id: message.sender_id,
566
+ sender_name: message.sender_name,
567
+ content: message.content,
568
+ timestamp: message.timestamp,
569
+ raw_json: message.raw_json,
570
+ preview_jpeg_base64: message.preview_jpeg_base64,
571
+ });
572
+ return {
573
+ chat_id: message.chat_id,
574
+ msg_id: message.msg_id,
575
+ timestamp: message.timestamp,
576
+ sender_id: message.sender_id,
577
+ sender_name: message.sender_name,
578
+ text: message.content,
579
+ reply_to_msg_id: null,
580
+ media_group_id: null,
581
+ attachment: attachment == null
582
+ ? null
583
+ : {
584
+ type: attachment.kind,
585
+ file_name: attachmentFileName(attachment),
586
+ file_size: null,
587
+ downloadable: attachment.downloadable,
588
+ },
589
+ };
590
+ }
591
+ function parsePositiveInteger(value) {
592
+ const parsed = Number.parseInt(value, 10);
593
+ return String(parsed) === value.trim() && parsed > 0 ? parsed : undefined;
594
+ }
595
+ function parseLocalDate(value) {
596
+ const match = /^(\d{4})-(\d{2})-(\d{2})$/.exec(value.trim());
597
+ if (match == null)
598
+ return undefined;
599
+ const year = Number(match[1]);
600
+ const month = Number(match[2]);
601
+ const day = Number(match[3]);
602
+ const date = new Date(year, month - 1, day);
603
+ if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day)
604
+ return undefined;
605
+ return date;
606
+ }
607
+ function defaultDownloadOutput() {
608
+ return join(homedir(), 'Downloads', 'telegram-cli');
609
+ }
610
+ function invalidOption(message) {
611
+ return { ok: false, error: { code: 'invalid_option', message } };
612
+ }
396
613
  function parseChats(values) {
397
614
  if (!values || values.length === 0)
398
615
  return undefined;
@@ -423,6 +640,59 @@ function createSyncProgressReporter(options) {
423
640
  reported = next;
424
641
  };
425
642
  }
643
+ function createRefreshStatusReporter(options) {
644
+ if (options.json || options.yaml || options.markdown)
645
+ return undefined;
646
+ const reportedByChat = new Map();
647
+ return {
648
+ onChatStart: (chatName) => {
649
+ process.stderr.write(`${chatName}: syncing...\n`);
650
+ },
651
+ onChatComplete: (chatName, count, error) => {
652
+ if (error == null) {
653
+ process.stderr.write(`${chatName}: synced ${count} new messages.\n`);
654
+ }
655
+ else {
656
+ process.stderr.write(`${chatName}: failed (${error})\n`);
657
+ }
658
+ },
659
+ onProgress: (chatName, count) => {
660
+ const reported = reportedByChat.get(chatName) ?? 0;
661
+ const next = Math.floor(count / 100) * 100;
662
+ if (next <= reported)
663
+ return;
664
+ for (let current = reported + 100; current <= next; current += 100) {
665
+ process.stderr.write(`${chatName}: fetched ${current} messages...\n`);
666
+ }
667
+ reportedByChat.set(chatName, next);
668
+ },
669
+ };
670
+ }
671
+ function createInterruptibleSyncAllStop(options) {
672
+ const controller = new AbortController();
673
+ let interrupted = false;
674
+ const requestStop = () => {
675
+ if (controller.signal.aborted)
676
+ return;
677
+ interrupted = true;
678
+ controller.abort();
679
+ if (!options.json && !options.yaml && !options.markdown) {
680
+ process.stderr.write('sync-all interrupted; finishing current chat before stopping...\n');
681
+ }
682
+ };
683
+ process.once('SIGINT', requestStop);
684
+ process.once('SIGTERM', requestStop);
685
+ return {
686
+ signal: controller.signal,
687
+ get interrupted() {
688
+ return interrupted;
689
+ },
690
+ dispose: () => {
691
+ process.off('SIGINT', requestStop);
692
+ process.off('SIGTERM', requestStop);
693
+ },
694
+ };
695
+ }
426
696
  async function renderSyncResult(options, handler, command) {
427
697
  await runTelegramCommand(options, async (client, context) => {
428
698
  const result = await runWithSync(client, context.dbPath, handler);
@@ -1 +1 @@
1
- {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/commands/telegram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/commands/telegram.ts"],"names":[],"mappings":"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"}