Files
cc-connect/platform
ferocknewandferock cf9798c9d7 feat(qqbot): add file send/receive with robustness checks (#685)
* chore(config): 添加 demo 目录到 git 忽略列表

- 防止 demo 相关文件被意外提交到仓库
- 保持仓库整洁,避免临时演示文件污染版本历史

* feat(qqbot): add file attachment send and receive support

- Add downloadAttachmentFiles() to download non-image attachments
- Populate core.Message.Files in group and C2C message handlers
- Implement core.FileSender via SendFile() using rich media API (file_type=4)

* ci: add test-build workflow for tag-triggered linux/amd64 builds

* fix(ci): add contents:write permission for release creation

* fix(ci): separate build and release jobs with artifact passing

* fix(qqbot): pass file_name in rich media upload for correct filename display

* chore: remove test-build workflow and restore gitignore

* fix(qqbot): add HTTP status check, LimitReader, and tests for file download

- Check resp.StatusCode in downloadAttachmentImages and downloadAttachmentFiles
- Use io.LimitReader with 20MB cap to prevent unbounded memory reads
- Add unit tests for download functions and uploadRichMedia file_name branch
- Restore test-build.yml workflow

* chore: remove test-build workflow

* test(qqbot): use httptest in SkipsImages test instead of example.com

* fix(qqbot): extract quoted message content from msg_elements for quote replies

When a user quotes/replies to a message, QQ Bot API sends message_type=103
with the referenced content in msg_elements[0]. Previously only message_reference
inline fields and cache were checked, which often came up empty.

* chore: restore test-build workflow for tag-based CI

* chore: remove test-build workflow

---------

Co-authored-by: ferock <ferock@example.com>
2026-04-22 11:12:51 +08:00
..
2026-04-16 14:41:24 +08:00