krau
aa25eb1510
fix: enforce telegram album limits and track saved paths
...
Use tglimit.MaxAlbumItems for album batching and video splitting.
Exists now reports previously saved paths instead of always false.
2026-08-16 20:28:21 +08:00
krau
b6e981282d
fix: make resource fingerprints deterministic
...
Sort map keys before hashing so Resource.ID is stable.
2026-08-16 20:27:42 +08:00
krau
4527022853
fix: prevent queue deadlock after cancelling tasks
...
Get no longer recurses while holding the mutex.
Cancelled queued tasks leave the map, making their IDs reusable.
Closed empty queues return ErrQueueClosed.
2026-08-16 20:27:26 +08:00
krau
7e3e26fcf4
style: format codebase
2026-08-11 08:47:35 +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
2bc460c609
feat: add preset rule import functionality and update related messages
2026-06-26 15:39:14 +08:00
Krau
f02860ff3f
feat: implement task event system for progress tracking and reporting ( #220 )
2026-06-25 21:37:36 +08:00
HLD
bfab4c85c8
fix: correct S3 signature and path handling ( #213 )
...
* fix: correct S3 signature and path handling
* fix: preserve existing overwrite behavior
2026-05-22 09:22:09 +08:00
Ryan
62e4a08e28
Merge pull request #204 from Rain-kl/feat/save-strategy
...
新增功能: 重名文件时选择保存策略 - 重命名,覆盖,跳过
2026-05-20 16:11:00 +08:00
krau
602fc251d8
fix: upgrade deps and medernize codes
2026-03-05 19:40:25 +08:00
krau
f377ee3ca4
chore: format code for consistency and readability
2026-03-05 17:20:45 +08:00
Krau
8b86330f5c
feat: add rclone storage backend ( #191 )
...
* fix: update StoragePath method to return specific path for single file
* feat: add Rclone storage support with configuration and file operations
* docs: add Rclone support to documentation for configuration and usage
2026-01-30 13:34:29 +08:00
krau
6990543c9f
feat: update transfer command to remove target path requirement and adjust usage instructions
2026-01-19 21:20:27 +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
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
b05d86509c
feat: basic aria2 integration
2026-01-17 14:57:03 +08:00
krau
63aeabb39b
feat: add msgraw var to filename template and update i18n for fnamest display
2026-01-06 09:19:32 +08:00
krau
75e5fd10ea
feat(aria2): add Aria2 download command and client integration
2026-01-03 17:40:55 +08:00
krau
8dd6265d55
chore: modenrize it
2025-12-27 16:01:41 +08:00
krau
0af049a507
feat: migrate S3 client implementation to a new package structure
2025-12-18 16:42:58 +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
51198a1e3d
fix: remove redundant cancellation in Done method
2025-12-15 11:15:17 +08:00
krau
651835c467
feat: refactor queue to remove unused methods and add comments
2025-12-15 10:49:40 +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
91814a83c7
fix: deprecate minio and introduce s3 storage backend
2025-12-04 22:59:23 +08:00
krau
685047e463
fix: compatibility between tdlib and bot api style chatID
2025-12-04 22:43:22 +08:00
krau
acd16a91a3
chore: re gen enum code using new version go-enum
2025-11-28 10:27:40 +08:00
krau
3f40acff55
feat: add directory management functionality and update handlers to utilize default directory
2025-11-16 21:09:55 +08:00
krau
f80ecae3cc
feat: add Playwright support for browser automation in plugins
...
- Updated .dockerignore and .gitignore to exclude Playwright-related files.
- Added Playwright-Go dependency in go.mod and updated go.sum.
- Implemented jsPlaywright function in js_api.go for browser-based requests.
- Enhanced README.md to document the new Playwright functionality for plugins.
2025-11-07 11:07:47 +08:00
krau
f947ee6fc7
fix: implement filename strategy in userbot listen mode
2025-09-28 16:49:32 +08:00
Krau
eef051de3b
feat: custom filename template ( #110 )
2025-09-13 10:25:45 +08:00
krau
46c21b77e9
feat: enhance Save method to validate chat ID and adjust ForceFile logic for image uploads
2025-08-24 12:02:27 +08:00
krau
68e5a51300
feat: file name staregy
2025-08-23 17:16:51 +08:00
krau
7300e54c40
refactor: rule package
2025-08-23 16:14:12 +08:00
krau
94f796d0e8
refactor: move version to config package
2025-08-23 16:10:02 +08:00
krau
e5d1e143e0
feat: configurable parser and refactor config
2025-08-23 14:29:32 +08:00
krau
03eb4f8a18
feat: update parser interface to include context in Parse method
2025-08-23 14:01:00 +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
b9d14f79c8
refactor: simplify dler client interface
2025-08-02 10:01:59 +08:00
krau
6423fb25a7
fix: update max upload part size to use uploader's maximum value and adjust document upload options
2025-07-28 14:58:01 +08:00
krau
d703f11ea0
feat: implement album handling rules and refactor related logic
2025-07-04 16:01:29 +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
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