krau
7e3e26fcf4
style: format codebase
2026-08-11 08:47:35 +08:00
Haopeng Huo
0e6ed66ef5
feat: show upload progress for batch file tasks ( #228 )
...
* feat: show upload progress for file tasks
* feat: show upload progress for batch file tasks
* style: distinguish download and upload phases
* style: mark successful task completion
* fix: preserve storage save error context
* fix: serialize single-file progress updates
* fix: stabilize batch upload progress reporting
Correct batch upload totals, completion state, actual file sizes, and synchronized progress snapshots. Add regression coverage for concurrent updates and phase transitions.
* feat: show per-file transfer progress
Format single-file and batch download and upload states with Telegram entities, blockquotes, speeds, transferred sizes, progress bars, concise counters, and accurate confirmation handling. Cover upload retries plus final, error, and cancellation messages with regression tests.
* chore: remove transfer progress tests
* test: restore critical transfer progress coverage
* test: cover interleaved batch transfers
* fix: declare progress styles in locale templates
2026-08-11 08:40:29 +08:00
Haopeng Huo
e4144e73e6
feat(telegram): split oversized videos into playable parts ( #229 )
...
* feat(telegram): split oversized videos losslessly
* fix(telegram): respect Premium upload limits
* fix(telegram): keep split videos in one album
2026-08-05 16:57:46 +08:00
Haopeng Huo
1d794a7b9c
feat(telegram): preserve source media groups ( #226 )
...
* feat(telegram): preserve source media groups
* fix(telegram): rewind batch readers before inspection
2026-08-04 16:46:29 +08:00
Krau
f02860ff3f
feat: implement task event system for progress tracking and reporting ( #220 )
2026-06-25 21:37:36 +08:00
krau
3d6cd45909
feat: add configuration options for video download settings
2026-06-25 16:17:03 +08:00
Ryan
62e4a08e28
Merge pull request #204 from Rain-kl/feat/save-strategy
...
新增功能: 重名文件时选择保存策略 - 重命名,覆盖,跳过
2026-05-20 16:11:00 +08:00
krau
b431fa08e2
fix: update StoragePath method to return specific path for single file
2026-01-30 13:09:21 +08:00
krau
4d2c345003
fix: enhance filename extraction logic for downloads and add unit tests
2026-01-29 17:11:25 +08:00
krau
82e1efb518
refactor: update logging messages for transfer task execution and progress tracking
2026-01-19 21:34:57 +08:00
krau
9b52a3e0ce
refactor: simplify storage path handling across various tasks and storage implementations
2026-01-19 21:27:53 +08:00
krau
dd0dea8cb5
feat!: Refactor batch import task to transfer task
...
- Updated command usage in English and Simplified Chinese localization files to reflect changes in transfer command syntax.
- Removed batch import task implementation, replacing it with a new transfer task implementation.
- Introduced new task structure and progress tracking for file transfers.
- Updated task type enumeration to replace batch import with transfer.
- Added new fields in data structures to support transfer operations.
- Implemented file handling and progress reporting for the transfer task.
2026-01-19 21:14:01 +08:00
krau
3d20fbd0fe
feat: implement transfer command for file transfers between storages
2026-01-19 21:01:50 +08:00
Krau
f92c43b9c8
feat: support import files from storages to telegram ( #183 )
...
* feat: add import command and batch import functionality
- Implemented the `/import` command to allow users to import files from storage to Telegram.
- Added support for listing files in storage and filtering based on regex patterns.
- Created a batch import task to handle multiple file uploads concurrently.
- Introduced progress tracking for batch imports, providing real-time updates to users.
- Enhanced storage interfaces to support file listing and reading capabilities.
- Updated localization files for the new import command and its usage instructions.
- Added utility functions for file size formatting and speed calculation.
- Refactored Telegram storage handling to support reading from non-seekable streams.
* feat: add i18n for import command
* feat: implement ListFiles and OpenFile methods for WebDAV and Alist storage
* Update common/i18n/locale/zh-Hans.yaml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update core/tasks/batchimport/progress.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update core/tasks/batchimport/execute.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update storage/alist/alist.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update common/i18n/locale/en.yaml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update pkg/storagetypes/fileinfo.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update common/i18n/locale/en.yaml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update core/tasks/batchimport/execute.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update storage/webdav/webdav.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update storage/telegram/telegram.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update core/tasks/batchimport/execute.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* Update storage/webdav/webdav.go
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
* fix: missing progress stats i18n
* refactor: use strutil to parse args
* chore: update generated code files for consistency
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-01-19 17:39:47 +08:00
Copilot
3e20dc2c5f
feat: add custom parameter support to /ytdlp command ( #185 ), close #184
...
* Initial plan
* Implement parameter support for /ytdlp command
Co-authored-by: krau <71133316+krau@users.noreply.github.com >
* Add comprehensive tests for ytdlp parameter parsing
Co-authored-by: krau <71133316+krau@users.noreply.github.com >
* Improve flag parsing logic and clarify argument order
Co-authored-by: krau <71133316+krau@users.noreply.github.com >
* Preserve critical defaults and improve comments
Co-authored-by: krau <71133316+krau@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: krau <71133316+krau@users.noreply.github.com >
2026-01-19 13:10:21 +08:00
krau
3ce00884a0
feat: add yt-dlp support for downloading video/audio and enhance related commands
2026-01-17 17:42:11 +08:00
krau
cd7cf4964d
fix: handle context cancellation during aria2 download and improve cleanup logic
2026-01-17 15:22:41 +08:00
krau
bc3c841d1d
fix: update aria2 configuration to include KeepFile option and improve download handling
2026-01-17 15:19:49 +08:00
krau
743c15f1a5
fix: enhance aria2 download handling and logging for follow-up downloads
2026-01-17 15:10:37 +08:00
krau
b05d86509c
feat: basic aria2 integration
2026-01-17 14:57:03 +08:00
krau
6db5633ca6
feat(i18n): Add progress tracking messages for various tasks and enhance error handling
2025-12-19 20:40:14 +08:00
krau
0ca3d97711
feat: add task command to client and Title method to Task for tasks queue managing, #157
2025-12-15 11:29:55 +08:00
krau
c21ff7e499
feat: add direct links download functionality
...
- Implemented a new task type for handling direct links downloads.
- Added command handler for downloading multiple links via /dl command.
- Introduced progress tracking for direct link downloads.
- Enhanced filename parsing to support various encoding scenarios.
- Updated enums to include direct links as a task type.
- Refactored existing task structures to accommodate new functionality.
- Improved error handling and logging throughout the download process.
2025-12-08 17:10:41 +08:00
krau
685047e463
fix: compatibility between tdlib and bot api style chatID
2025-12-04 22:43:22 +08:00
krau
9b3f955e48
feat: use default HTTP client from netutil for task creation
2025-08-24 09:37:52 +08:00
krau
e5d1e143e0
feat: configurable parser and refactor config
2025-08-23 14:29:32 +08:00
Krau
302db2fe75
feat: parse url with js plugins support ( #96 )
...
* feat: WIP. add parser functionality and text message handling
* fix: use json to marshal js result
* feat: add metadata handling and version validation for jsParser
* refactor: rename parser package to parsers and restructure parser handling
* refactor: core code struct and impl parse task handle
* feat: impl parsed download
* fix: seek cache file when processing tph picture
* feat: implement parsed task handling and progress tracking
* feat: enhance task processing with concurrency control and progress tracking
* feat: add resource ID generation and improve resource processing handling
* feat: improve message formatting in parsed text and progress completion
* feat: add example js plugin
* feat: implement Twitter parser
* fix: twitter parse video json decode error
* feat: impl stream mode for parse task
2025-08-21 23:48:17 +08:00
krau
133453b5d4
feat: implement watch for monitoring chat messages
...
- Added a new command handler for /watch that allows users to listen to messages from a specified chat and save them according to storage rules.
- Introduced filtering options for messages using regular expressions.
- Implemented functionality to start and stop watching chats, including error handling for invalid inputs and user settings.
- Created a new utility package for message element handling related to the watch feature.
- Updated the user model to manage watched chats, including methods to add, remove, and check if a chat is being watched.
2025-08-03 16:55:56 +08:00
krau
03907f2d32
fix: improve error handling during file download in stream mode
2025-07-28 14:37:08 +08:00
krau
f693bd6103
refactor: update file handling to use new downloader interface; remove unused tdler package
2025-06-29 23:00:40 +08:00
krau
c82c2462bf
feat: exec command hook , close #79
2025-06-20 21:30:50 +08:00
krau
4df2c5a06d
refactor: replace key package with ctxkey for context keys
2025-06-17 22:19:06 +08:00
Krau
900823cdb9
refactor: refactor task logic for better scalability ( #76 )
...
* refactor: a big refactor. wip
* refactor: port handle file
* refactor: place all handlers
* fix: task info nil pointer
* feat: enhance task progress tracking and context management
* feat: cancel task
* feat: stream mode
* feat: silent mode
* feat: dir cmd
* refactor: remove unused old file
* feat: rule cmd
* feat: handle silent mode
* feat: batch task
* fix: batch task progress and temp file cleanup
* refactor: update file creation and cleanup methods for better resource management
* feat: add save command with silent mode handling
* feat: message link
* feat: update message prompts to include file count in storage selection
* feat: slient save links
* refactor: reduce dup code
* feat: rule type
* feat: chose dir
* feat: refactor file handling and storage rules, improve error handling and logging
* feat: rule mode
* feat: telegraph pics
* fix: tphpics nil pointer and inaccurate dirpath
* feat: silent save telegraph
* feat: add suffix to avoid file overwrite
* feat: new storage telegram
* chore: tidy go mod
2025-06-15 23:57:49 +08:00
krau
e85d3c9441
feat: rename file only when storagePath exists
2025-06-11 09:54:08 +08:00
krau
56ea1d6f36
feat: parse message link via userbot, close #70
2025-06-09 14:33:40 +08:00
krau
c7c458f147
feat: add user client
2025-06-08 15:36:14 +08:00
krau
ed99a37831
fix: add unique id to task struct to avoid duplicate file name overwrite, close #59
2025-05-09 08:58:30 +08:00
krau
c8c348a182
feat: batch save files
2025-04-12 16:27:23 +08:00
krau
166c27c70f
feat: automatic file organization based on rules, close #28
2025-04-12 14:27:13 +08:00
krau
491ba55f1e
feat: add support for handling unsupported stream storage in download process
2025-03-26 10:35:40 +08:00
krau
7ffd9891a0
fix: not pass content length when uploading in non stream mode
2025-03-26 10:22:38 +08:00
krau
347a60f1f7
fix: implement image extraction from Telegraph nodes
2025-03-24 22:04:55 +08:00
krau
f14c4367f8
feat: cancel download telegraph task
2025-03-22 12:08:19 +08:00
krau
3e3a320672
feat: download telegraph images , close #5
2025-03-22 11:52:43 +08:00
krau
635f00ac71
fix: reorganize cache destination path handling in processPendingTask function
2025-03-21 23:28:14 +08:00
krau
2d2becccf6
refactor: update storage interface to use io.Reader for Save method and remove stream implementations
2025-03-21 23:05:09 +08:00
krau
ed0837a89b
refactor: replace logger usage with common.Log for consistent logging
2025-03-21 21:07:53 +08:00
krau
6fbb4609f9
feat: show progress for stream mode
2025-03-01 12:22:50 +08:00
krau
8e2dd37155
feat: add stream upload support and related configurations
2025-02-28 11:09:24 +08:00
krau
152f473131
fix: delete done task
2025-02-27 22:25:10 +08:00