krau
eda0756f0c
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.
2026-01-17 18:59:09 +08:00
krau
0e951f641c
fix(storage): add panic recovery for malformed MP4 files
...
- Add defer/recover in getMP4Meta to catch panics from gomedia library
- Implement fallback to ffprobe when MP4 parsing fails
- Fixes "no vosdata" panic when processing certain MP4 files
Also add CLAUDE.md to provide architecture guidance for AI coding assistants.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2025-12-31 20:36:26 +08:00
krau
4ccbf8177e
fix(i18n): Update log messages to English and improve error handling in bot initialization and storage loading
2025-12-19 20:29:48 +08:00
krau
5f7b936270
feat: refactor storage retrieval functions and improve documentation
2025-12-19 13:49:20 +08:00
krau
52eead3bf5
feat: refactor database dialect handling and add stubs for unsupported features
2025-12-18 17:42:20 +08:00
krau
0af049a507
feat: migrate S3 client implementation to a new package structure
2025-12-18 16:42:58 +08:00
krau
8752dd865c
feat: refactor S3 storage implementation and reduce binary size
2025-12-18 16:21:40 +08:00
krau
c0b4580e34
fix: correct split size calculation in Save method
2025-12-16 20:52:17 +08:00
krau
280fd6ead8
fix: update DefaultSplitSize
2025-12-16 20:51:11 +08:00
krau
45c978980c
feat: add support for splitting large files into parts for Telegram storage, #156
2025-12-15 10:25:50 +08:00
krau
c974791dc0
fix: add VirtualHost option to S3StorageConfig and implement endpoint validation, close #150
2025-12-08 10:11:58 +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
a6f194aedd
feat: add global proxy config
2025-12-02 10:11:58 +08:00
krau
1065acfdb8
feat: auto generate thumbnail for video uploaded to telegram storage
2025-11-28 10:24:15 +08:00
krau
2c5d6f0e57
fix: upgrade golang.org/x/crypto for security
2025-11-22 17:43:52 +08:00
krau
7d57ad30a9
feat: add MP4 metadata extraction and integrate gomedia for video handling
2025-11-22 15:42:02 +08:00
krau
15cf81e1bd
fix: remove unnecessary chat ID validation and constant usage in Save method
2025-11-06 16:04:31 +08:00
krau
44de871f63
fix: add context to HTTP request in getToken and simplify HTTP client initialization
2025-10-28 17:59:21 +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
8b389a58d5
fix: improve chat ID parsing in Save method and fallback to configured chat_id
2025-08-24 11:46:12 +08:00
krau
25ad9befa0
feat: add ForceFile option to TelegramStorageConfig and update Save method
2025-08-24 11:38:44 +08:00
krau
e824b210d1
feat: improve telegram storage chat ID parsing logic
2025-08-24 11:29:19 +08:00
krau
e5d1e143e0
feat: configurable parser and refactor config
2025-08-23 14:29:32 +08:00
krau
36285a0700
feat(storage/telegram): add support for uploading images excluding webp format
2025-08-02 11:41:18 +08:00
krau
ccf206d176
feat(storage/telegram): enhance file upload handling with content length support and media type differentiation
2025-08-02 11:22:14 +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
69a3ed6f4e
fix: parse chat ID correctly in Save method for Telegram storage
2025-07-07 13:48:16 +08:00
krau
dc0debcd1c
fix: add unique filename handling with error logging in Save method for Minio and Webdav
2025-07-04 16:10:42 +08:00
krau
4b136bd41e
feat: add test case for nested directory file writing
2025-07-04 16:08:01 +08:00
krau
cb6540c017
fix(minio): trim leading slash in JoinStoragePath method
2025-06-30 22:19:33 +08:00
krau
4df2c5a06d
refactor: replace key package with ctxkey for context keys
2025-06-17 22:19:06 +08:00
krau
eb6f8675a4
fix(minio): pass the size to minio puitobject
2025-06-17 22:10:20 +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
5f78db90c7
fix: webdav url escape
2025-05-07 12:05:10 +08:00
krau
a619ed2f22
typo: client_test filename
2025-04-27 08:32:47 +08:00
krau
838dfc35a1
fix: webdav client implement, close #49
2025-04-27 08:31:50 +08:00
krau
300f7723af
fix: enhance webdav client impl
2025-03-31 17:34:24 +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
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
65fee89e14
feat: refactor storage configuration to use dedicated storage package and add new storage types
...
BREAKING CHANGE: remove deprecated config
2025-03-21 20:52:41 +08:00
ysicing
495ad3ea5c
feat: add Minio storage support
...
Signed-off-by: ysicing <i@ysicing.me >
2025-03-11 21:29:35 +08:00
krau
790a32d297
fix(alist): do not upload file as task to prevent alist cache full file
2025-03-03 10:58:03 +08:00
krau
802c908384
feat: refactor webdav client and implement custom upload stream handling
2025-03-01 12:06:55 +08:00
krau
8e2dd37155
feat: add stream upload support and related configurations
2025-02-28 11:09:24 +08:00
krau
d2669f0c99
feat: add logging for file save operations in storage modules
2025-02-21 14:04:32 +08:00
krau
27dca2e343
perf: add UserStorages map and implement GetUserStorages function for user-specific storage retrieval
2025-02-20 22:57:45 +08:00