AstrBot Vangonography 隐写术插件
这是一个通过图片隐写术来隐藏和提取文件的 AstrBot 插件。它允许用户将一个文件(如文档、压缩包等)隐藏在一张图片中,并能从这张图片中将原始文件提取出来。整个过程支持通过可选的密码进行加密,以增强安全性。
主要功能
- 文件隐藏: 将任意文件嵌入到一张PNG格式的封面图片中,生成一张新的包含隐藏信息的图片。
- 文件提取: 从包含隐藏信息的图片中提取出原始文件。
- 加密支持: 在隐藏文件时,可以选择提供一个密码来对数据进行加密,提取时也需要提供相同的密码。
- 交互式流程: 通过与机器人的对话式交互,引导用户完成隐藏和提取的每一步操作。
- 临时文件管理: 插件在处理过程中产生的临时文件会被妥善管理,并在操作结束后自动清理。
🎨 效果展示
以下图片均为插件实际生成效果。
隐藏 |
提取 |
|---|---|
![]() |
![]() |
命令说明
1. 隐藏
启动文件隐藏流程。用户发送此命令后,机器人会依次引导用户上传封面图片、待隐藏的文件,并设置文件名和可选的加密密码。
使用流程:
- 发送命令
隐藏。 - 上传封面图片: 根据机器人的提示,发送一张图片作为隐藏文件的载体。可以直接发送图片,也可以回复包含图片的消息。
- 上传待隐藏文件: 发送您想要隐藏的任何格式的文件。
- 设置文件名: 为您要隐藏的文件命名,请确保包含正确的文件扩展名(例如
我的秘密文档.zip)。 - 设置密码:
- 如果需要加密,请直接发送您想设置的密码。
- 如果不需要加密,请发送
不需要。
- 完成: 机器人将处理图片和文件,并发送回一张新的、包含了隐藏文件的PNG图片。
2. 提取
启动文件提取流程。用户发送此命令后,机器人会引导用户上传包含隐藏文件的图片,并询问是否需要密码来解密。
使用流程:
- 发送命令
提取。 - 上传隐写图片: 根据提示,发送之前由
隐藏命令生成的那张图片。 - 输入密码:
- 如果文件被加密过,请输入正确的密码。
- 如果文件没有被加密,请发送
不需要。
- 完成: 机器人会从图片中提取文件,并通过私聊的方式将文件发送给您。请确保您已添加机器人为好友,且机器人具有私聊权限。
依赖项
本插件需要以下第三方 Python 库来运行:
aiohttp: 用于异步网络请求,如下载用户发送的图片和文件。Pillow: 用于图像处理,是实现隐写术的核心库。cryptography: 用于实现文件的加密和解密功能。
这些依赖项通常需要您在 AstrBot 的环境中手动安装。
注意事项
- 操作超时: 每个交互步骤都有1200秒的超时限制。如果长时间没有回复,操作将自动取消。文件过大可以自己去main.py里面修改218行self.timeout = 1200
- 图片格式: 插件生成的隐写图片为PNG格式,以保证无损存储隐藏信息。
- 私聊发送: 提取出的文件将通过私聊发送给操作者,以保护文件私密性。如果接收失败,请检查好友关系或机器人的私聊权限设置。
- 文件损坏: 如果在提取时提示“解密失败”或“文件已损坏”,可能意味着密码错误,或者图片在传输、保存过程中被压缩或修改,导致隐藏信息丢失。

