Repository navigation
Releases: drdon1234/astrbot_plugin_random_pic
Release list
v5.17.0:命令交互与稳定性改进
完善命令交互、权限与媒体处理,提高插件重载和资源回收的稳定性。
- 可配置各类命令触发词及帮助词,帮助展示实际生效的命令,尊重 AstrBot 命令管理中的改名和别名。
- 图片、视频及完整作品共用冷却与每日额度;整本发送前复核真实图片数或 PDF 页数,成功部分计费,失败部分释放。
- 修正 Iwara、E-Hentai、随机完整作品和 X 订阅的内容分级与过滤边界;X 候选使用前重新核对元数据,并统一限制缓存数量。
- HLS 下载采用共享大小预算和有界分片处理,失败或取消时等待子任务并清理半成品;修正 CosplayTele 裁剪时长复核。
- 修复预备池刷新、PDF 共享构建、暂存复制和插件关闭期间的竞态;发送暂存保护期限跨重载保留,避免提前删除待上传文件。
- 历史记录采用短时合并写盘并在关闭时刷新;过滤策略变化使相应预备池失效;布尔配置只接受真实布尔值。
- 更新使用说明和架构说明。
升级会保留已有配置,并补入新的命令默认设置。测试文件仅保存在本地,不包含在仓库或发布包中。
验证:554 项相关测试通过;69 个生产 Python 文件和配置结构检查通过。包含官方 AstrBot CommandFilter 的集成验证。
v5.16.0
AstrBot 随机抽图插件:二次元 / 三次元 × 擦边 / R18。需要 AstrBot ≥ 4.28.0。
5.16.0
文件结构重新整理
- 插件代码统一放到
core/,按配置、指令处理、抽取服务、来源、下载、消息发送、存储和权限过滤分开管理。图片站点、视频站点和订阅分别有自己的目录与装配入口。 - 根目录的
main.py只负责注册指令、无前缀路由和启停,原来混在入口里的抽图、抽视频、完整作品和预备池刷新分别移到对应模块。 - 图片与视频下载、HLS 处理、消息组装、共享文件暂存、平台发送和历史记录拆开;订阅的帖子模型、抓帖、筛选和媒体抽取也分别管理。
- 补充项目架构说明和维护约定,后续新增来源或调整发送行为时可以直接找到对应模块。
重载时等后台任务清理完成
- 停用或重载插件时,会等预热、定时推送、预备池补充和 X 订阅回填结束清理,再关闭网络连接和来源,避免后台还在使用已经关闭的资源。
- 多次关闭共用同一次清理;等待关闭的操作中途取消时,清理仍会继续。某个服务关闭失败时也会尝试关闭其余服务,并允许重试。
升级注意
- 指令、抽取规则、配置项和现有数据位置不变,不需要重新填写设置或搬迁账号、记录、缓存和 PDF。
- 自行复制文件部署时,请同步完整插件目录,包括新的
core/目录;仅替换main.py不足以完成升级。
v5.15.0
AstrBot 随机抽图插件:二次元 / 三次元 × 擦边 / R18。需要 AstrBot ≥ 4.28.0。
5.15.0
配置页重新整理
- 「源开关与详情」放在最前面,图片站点、视频站点和订阅集中管理。每个站点都有独立开关,详情默认收起,展开后可以调整适用分级、权重、筛选门槛等设置。
- 抽图、视频、发送和权限等常用设置紧随其后,预选池、完整作品、推送、网络与目录放在后面。较少修改的设置默认收起,展开或收起不改变抽取行为。
- 图片和视频预选池统一到「图片与视频预选池」,二次元、三次元的擦边和 R18 各有独立桶数,填 0 可以单独关闭一类。
订阅 X 博主和 Telegram 频道
- X 博主和 Telegram 公开频道的图片、视频可以与网站源一起抽,按各自权重选取。订阅列表有独立展开入口,每条订阅都能单独开关、填写账号和调整详情。
- X 通过公开接口读取,Telegram 读取频道网页预览,都不需要登录。预设 12 条订阅,覆盖二次元、三次元的图片和视频;Telegram 订阅只按 R18,GIF 动图不当视频。
- 关键词写订阅账号或显示名称时,只抽这个订阅,风格、分级默认用订阅的,不由其他源补位。
- X 新增「跨帖子抽齐每集张数」,Telegram 新增「跨消息抽齐每集张数」,默认开启:同一账号的单帖图片不够时,从其他帖子或消息补齐全局设置的每集张数。关闭后每集只取一个帖子或消息,有多少发多少。
- 「优先同一帖子/消息」默认关闭,开启后先取同一帖里的图片,再从其他帖补齐。跨帖图集保留各帖来源链接,获取完整作品时仍按单个帖子处理。
刷新预备池
- 管理员私聊发送
/刷新预备池(也可写/刷新预选池),按当前配置重新抽满图片和视频预备池,完成后回复各池抽到几批。 - 后面加
图片或视频可以只刷新一种。已备好和正在抽的批次会重新准备,正在发送的批次不受影响;群聊和非管理员不响应。
升级注意
- 旧配置会自动迁移到新位置,保留账号、开关、筛选条件和预备桶数;迁移前在配置目录保留一份原文件副本。
- 原视频的二次元、三次元桶数分别沿用到对应的擦边和 R18 两类,升级后可单独调整。
- 用过「抽图来源」的配置,原来选「网站」时订阅仍关闭,选「订阅」时订阅开启;网站是否参与由各站点开关决定。
- 修复 AstrBot 配置对象带锁时无法加载的问题,以及订阅跨帖抽取的并发去重和预选池重载识别问题。
v5.11.0
AstrBot 随机抽图插件:二次元 / 三次元 × 擦边 / R18。需要 AstrBot ≥ 4.28.0。
5.11.0
发送不再复制文件
- 填了「网络与目录 › 共享目录」时,图片缓存、预备池、下载的视频和完整作品的临时文件直接存在共享目录里(原来在插件数据目录,发送前要先复制到共享目录)。
- 发送时给每个文件建一个硬链接,不复制数据:几十上百 MB 的视频也是瞬间就绪。发完删掉链接;发送超时的时候照旧过一会儿再删,QQ 机器人还在读的文件不会被提前删掉。
- 发送记录、哔咔账号、标签库等状态文件仍在插件数据目录。没填共享目录时一切照旧。
- 「图片中转目录」改名为「共享目录」,配置项不变,不用重新填写。
升级注意
- 填了共享目录时,插件数据目录里原来的
cache、reserve、reserve_video不再使用,预备池会在共享目录里重新抽满。想沿用已经抽好的预备池,请在 AstrBot 停止时把这三个目录移到共享目录下;不需要的话直接删掉。
v5.10.0
AstrBot 随机抽图插件:二次元 / 三次元 × 擦边 / R18。二次元来自 Danbooru 高分插画;三次元按比例混合 E-Hentai / ExHentai、哔咔 Cosplay、CosplayTele、NudeCosplay、XiuRen、PixiBB 和禁漫天堂 Cosplay。支持中文关键词和随机角色、合并转发 / 图文混合发送、获取完整作品(合并转发或 PDF)、多任务定时推送和实验性的擦边 / R18 短视频,群聊、私聊分别控制 R18,并过滤未成年内容。需要 AstrBot ≥ 4.28.0。
5.10.0
视频支持擦边
/抽视频 [二次元|三次元] [擦边|r18] [关键词...] [个数]:分级不写时和/抽图一样用「默认分级」,群聊没开 R18 也能抽擦边视频。- 视频预备池改为二次元、三次元各分擦边、R18 两个池,「预备批数」对两个分级都生效。没有视频源的风格·分级不预备。
新视频源
- SOOP(三次元·擦边):韩国直播站 SOOP(原 AfreecaTV)的官方短视频,女主播的舞蹈片段,多为 10~60 秒竖屏。
- 只取带女主播标签、标题或标签写着舞蹈 / 性感的片段。
- 排除 19 禁片段和男主播团的反应片段。
- 不支持关键词。
- CosplayTele 视频(三次元·R18):CosplayTele「Cosplay Nude」帖子里的视频,亚洲 coser。
- 可以搜角色、作品名。
- 全片多为几分钟到几十分钟,每次随机截取 30 秒。
- Iwara 擦边(二次元):取全年龄视频里没有 R18 迹象的性感舞蹈。
- 新增「适用分级」和「擦边最低点赞数」(默认 150)。
- 这部分几乎都是 MMD,关闭「抽取 MMD 视频」时 Iwara 不提供擦边。
每个视频源都能在「视频 › 显示各视频源设置」里单独开关、调比例和门槛。
其他
- 视频源的低龄指向词补上了韩文写法。
- RedGifs 依然只按 R18:它的“禁止裸露”主题频道抽样里同样混着露点片段。
升级注意
- 默认分级的变化:
/抽视频不写分级时,原来固定是 R18,现在跟随「抽图 › 默认分级」(默认「擦边」)。想要 R18 请写/抽视频 r18,或把默认分级改成 R18。 - 需要 ffmpeg:SOOP 和 CosplayTele 视频要用 ffmpeg 封装视频,AstrBot 官方 Docker 镜像自带。没有 ffmpeg 时这两个源不参与,日志里有提示。
- 新依赖:
requirements.txt新增cryptography(AstrBot 自带)。
v5.9.0
AstrBot 随机抽图插件:二次元 / 三次元 × 擦边 / R18。二次元来自 Danbooru 高分插画;三次元按比例混合 E-Hentai / ExHentai、哔咔 Cosplay、CosplayTele、NudeCosplay、XiuRen、PixiBB 和禁漫天堂 Cosplay。支持中文关键词和随机角色、合并转发 / 图文混合发送、获取完整作品(合并转发或 PDF)、多任务定时推送和实验性的 R18 短视频,群聊、私聊分别控制 R18,并过滤未成年内容。需要 AstrBot ≥ 4.28.0。
5.9.0
新增:实验性视频 /抽视频
-
/抽视频 [二次元|三次元] [关键词...] [个数]随机抽 R18 短视频,群聊里不带/也能触发。视频站分不清擦边和 R18,所以目前只有 R18,需要会话允许 R18。 -
视频源:
- Danbooru 视频(二次元,150 分以上的动画短片)
- Iwara(二次元,MMD、Koikatsu 等 3D 视频,按点赞数筛选,只取有 R18 迹象的)
- RedGifs 动画(二次元)
- RedGifs Cosplay(三次元,只取实名认证创作者)
每个源可以单独开关、调比例和门槛。
-
新增「抽取 MMD 视频」开关,以及单个视频的大小、时长上限。
-
二次元、三次元各一个视频预备池(默认各 3 批),发送方式跟随「发送 › 发送方式」。
-
抽过的视频会被记住(最近 3000 个,重启后保留),不会反复抽到同一个。RedGifs 一次抽取里同一作者只出一个。
配置整理
- 新分段「网络与目录」:HTTP 代理、图片中转目录、PDF 存放目录。
- 「群聊不带 / 也能触发」「启用别名」移到「使用与权限」。
- 不常改的设置默认收起,用面板上的开关展开。三个开关只影响显示,不影响插件行为:
- 「抽图 › 显示高级设置」:取图位置、页数门槛、预备池
- 「视频 › 显示各视频源设置」
- 「图源管理 › 显示各站点设置」
- 功能或站点关闭「启用」时,它的其余设置一起收起。分段按常用程度重新排序。
升级注意
AstrBot 加载新配置时会丢掉换了位置的旧项。升级后请在新位置重新填写这几项,其余设置不受影响:
- 「网络与目录」:HTTP 代理、图片中转目录、PDF 存放目录
- 「使用与权限」:启用别名、群聊不带 / 也能触发
国内没有代理时,图源都连不上。
v5.8.0
AstrBot 随机抽图插件:二次元 / 三次元 × 擦边 / R18。二次元来自 Danbooru 高分插画;三次元按比例混合 E-Hentai / ExHentai、哔咔 Cosplay、CosplayTele、NudeCosplay、XiuRen、PixiBB 和禁漫天堂 Cosplay。支持中文关键词和随机角色、合并转发 / 图文混合发送、获取完整作品(合并转发或 PDF)、多任务定时推送,群聊、私聊分别控制 R18,并过滤未成年内容。需要 AstrBot ≥ 4.28.0。
5.8.0
- 新增「发送 › 图片中转目录」:填写 NapCat 和 AstrBot 都能用同一路径访问的目录(例如两个容器都挂载的
/app/sharedFolder/random_pic_send)后,图片会先复制到这里,消息里只放文件路径,发完就删。消息从几十 MB 降到几 KB,发得更快。 - 修复图片多、文件大时合并转发发不出去:NapCat 的 WebSocket 单条消息上限是 50 MB,超过就会断开连接,插件要等 3 分钟超时才失败。现在没配置中转目录时,一条消息里的图片超过 30 MB 会自动拆成几条发送。
- 发送失败的提示按原因区分:「QQ 拒发」和「发送超时或与 QQ 的连接中断」。原来一律提示「QQ 拒发」。
- 预备池:没抽满的批次隔 2 分钟接着补,补 3 次还不满就照常使用(原来会一直缺图集);后台维护出错后 2 分钟自动恢复(原来整个池子会停掉,要重载插件才恢复)。
5.7.0
- 新增「图集最少页数」:三次元只从至少这么多页(默认 30)的作品里抽。
- 新增「R18 开始抽取位置」:随机抽页时跳过开头的比例(默认 0.3),可在配置里调整。
5.6.0 / 5.6.1
- 二次元也有擦边、R18 预备池,四个池各自配置批数,默认各 5 批。
- 定时推送一张都没发出去时换一批重发,最多重发 2 次;确认发出后才发提醒文字。
5.5.0 / 5.5.1
- 新增预备池:启动时按默认参数预先抽好几批,不带关键词的抽图和定时推送直接取用,发完删除并补一批新的;重载后按新配置同步已有批次。
5.4.0
- 图源管理新增「补位图源」:其他三次元图源没抽够时由它补,默认 E-Hentai(与原来相同)。
- 建立连接超时改为 8 秒,握手卡住的图片直接换页。需要 aiohttp ≥ 3.10。
v5.3.2
AstrBot 随机抽图插件:二次元 / 三次元 × 擦边 / R18。二次元来自 Danbooru 高分插画;三次元按比例混合 E-Hentai / ExHentai、哔咔 Cosplay、CosplayTele、NudeCosplay、XiuRen、PixiBB 和禁漫天堂 Cosplay。支持中文关键词和随机角色、合并转发 / 图文混合发送、获取完整作品(合并转发或 PDF)、多任务定时推送,群聊、私聊分别控制 R18,并过滤未成年内容。需要 AstrBot ≥ 4.28.0。
5.3.2
- 更正 README 和代码注释:哔咔的 1023 too many requests 是请求头和 App 不一致导致的(5.3.1 已修复),不是按账号的登录限流。
5.3.1
- 修复哔咔登录一直返回
too many requests(1023):请求头改成和 App 一致,POST 带Content-Type: application/json; charset=UTF-8,app-channel改为分流 1。
5.3.0
- 哔咔默认由插件自动注册并维护一个专用账号,账号、token 和冷却时间保存在插件数据目录,重载、更新插件后继续使用。
- 新增「图源管理 › 哔咔 › 手动配置账号」,打开后才显示账号、密码,使用自己的账号。
- 完整作品新增「最大页数」(默认 500):页数超过的作品不获取;随机抽完整作品时抽到这样的作品会重抽。
5.2.0
- 新增「图源管理」:HTTP 代理,加上每个站点一组设置——启用、适用分级(通用 / 仅擦边 / 仅R18)、比例,以及各站点自己的门槛、cookie 和账号。
- 停用的站点不参与抽图,也不能用 /全集、/pdf 获取它的作品。
- 内容过滤新增「屏蔽跨性别作品」(默认开启),屏蔽扶她、伪娘等作品,词表取自 EhTagTranslation 标签库。
从 5.1.0 或更早版本升级时,旧的「三次元图源比例」和「网络与账号」两组设置会合并进「图源管理」,原来的代理、cookie、账号和比例不会自动迁移,升级后请在「图源管理」里重新填写。
v5.3.1
AstrBot 随机抽图插件:二次元 / 三次元 × 擦边 / R18。二次元来自 Danbooru 高分插画;三次元按比例混合 E-Hentai / ExHentai、哔咔 Cosplay、CosplayTele、NudeCosplay、XiuRen、PixiBB 和禁漫天堂 Cosplay。支持中文关键词和随机角色、合并转发 / 图文混合发送、获取完整作品(合并转发或 PDF)、多任务定时推送,群聊、私聊分别控制 R18,并过滤未成年内容。需要 AstrBot ≥ 4.28.0。
5.3.1
- 修复哔咔登录一直返回
too many requests(1023):请求头改成和 App 一致,POST 带Content-Type: application/json; charset=UTF-8,app-channel改为分流 1。
5.3.0
- 哔咔默认由插件自动注册并维护一个专用账号,账号、token 和冷却时间保存在插件数据目录,重载、更新插件后继续使用。
- 新增「图源管理 › 哔咔 › 手动配置账号」,打开后才显示账号、密码,使用自己的账号。
- 完整作品新增「最大页数」(默认 500):页数超过的作品不获取;随机抽完整作品时抽到这样的作品会重抽。
5.2.0
- 新增「图源管理」:HTTP 代理,加上每个站点一组设置——启用、适用分级(通用 / 仅擦边 / 仅R18)、比例,以及各站点自己的门槛、cookie 和账号。
- 停用的站点不参与抽图,也不能用 /全集、/pdf 获取它的作品。
- 内容过滤新增「屏蔽跨性别作品」(默认开启),屏蔽扶她、伪娘等作品,词表取自 EhTagTranslation 标签库。
从 5.1.0 或更早版本升级时,旧的「三次元图源比例」和「网络与账号」两组设置会合并进「图源管理」,原来的代理、cookie、账号和比例不会自动迁移,升级后请在「图源管理」里重新填写。