[FEAT] 发表群相册评论支持按上传批次评论,而非绑定单张图片
系统版本
Ubuntu 24.04.4 LTS (x86_64) Linux 6.8.0-107-generic
QQNT 版本
3.2.25-45758
NapCat 版本
4.18.13
功能描述
希望目前的群相册评论接口 /do_group_album_comment 支持评论整个上传批次,而不是必须指定批次中的某一张图片;或者新加入一个接口实现此功能。
需求背景与理由
目前 /do_group_album_comment 这个接口必须传 group_id、album_id、lloc和content,这个 lloc 是群相册里某张图片的 ID,而不是这一个上传批次的ID。调用成功后,这条评论会绑定到对应图片。
这种实现在一个批次中只有一张图片的时候不会有问题,与正常的评论别无二致。但如果一个批次中有多张图片,且由于这个lloc是必填,那么发表的评论就会绑定到lloc的这张图片上,在评论区也会显示它,如下图所示:
但我们对于单批次多图平时点击并发表评论后是这个样子的:
这种情况下,评论属于这整个上传批次,不绑定其中任何一张图片。
问题排查:
当点击这里进行人工评论时,对应的是批次评论:
而当点击某张图片后,再点击这里进行人工评论时,对应的则是表现与接口调用相同的单图评论:
因此我认为现有的 /do_group_album_comment 其实只是上述后者的实现,而缺失了前者,希望把这部分功能给补上。
期望的实现方式或效果
当使用 /get_group_album_media_list 接口调用查询时,会返回以下字段,其中包含了上传批次的link_id信息,也就是batchid:
{ "album": { "album_id": "V62ONkJr2qxqWD2PfboJ264w8z1fJqSA", "name": "测试相册", "desc": "" }, "batch": { "link_id": "2147483658", "desc": "批次上传描述", "upload_number": "2", "show_time": "2026年08月20日", "day_time": "1787211102" }, "media": [ { "batch_id": "2147483658", "lloc": "NR8AVjViQ1FBMU5EQTNNRGswT1RGZnJZWnFZaWs5QmchIQUAcXVuZ3o!", "desc": "批次上传描述", "upload_time": "1787211103", "comment_num": 1 }, { "batch_id": "2147483658", "lloc": "NR8AVjViQ1FBMU5EQTNNRGswT1RGZXJZWnEyaXc5QmchIQUAcXVuZ3o!", "desc": "批次上传描述", "upload_time": "1787211102", "comment_num": 0 } ] }
而在接收的上传卡片与评论卡片中,因为会带个预览图,所以也包含对其的引用(2147483658,与查询的相同),参数名为batchid,在 jumpUrl 里面。 在其他用户进行评论的卡片中也会带这个batchid,只不过参数名为p。
此外,我注意到 /set_group_album_media_like 点赞接口中其实已经用到了这个batch_id,使用的是createAlbumFeedPublish。 而现在的 createAlbumMediaFeed 会把 batch_id 留空,并传入一个图片作为参数: ` /**
- 创建相册媒体请求参数
- @param uin 用户QQ号
- @param albumId 相册ID
- @param lloc
- @returns 媒体请求参数对象 */ export function createAlbumMediaFeed ( uin: string, albumId: string, lloc: string ): AlbumMediaFeed { return { cell_common: { time: '', }, cell_user_info: { user: { uin, }, }, cell_media: { album_id: albumId, batch_id: '', media_items: [{ image: { lloc, }, }], }, }; } `
希望在评论接口这边也为其提供支持。
其他补充信息
No response
Source: NapNeko/NapCatQQ