revocation Plugin (防撤回插件),基于cow issues2192修改
一个用于防止微信消息撤回的插件。当检测到消息被撤回时,会将原消息转发给指定接收者。
- 支持私聊和群聊消息的防撤回
- 支持文字、图片、视频、文件等多种类型的消息
- 自动清理过期消息,避免占用过多存储空间
- 支持通过配置文件动态设置接收者和其他参数
- 支持使用昵称或备注名匹配接收者
- 自动保存多媒体文件并在撤回时重发
- 将插件目录复制到
plugins/
下 - 安装依赖:
pip install -r requirements.txt
- 配置
config.json
中的接收者信息 - 重启应用
plugins/anti_withdrawal/config.json
{
"receiver": {
"type": "remark_name", // 接收者匹配类型: nickname(昵称) 或 remark_name(备注名)
"name": "文件传输助手" // 接收者的昵称或备注名
},
"message_expire_time": 120, // 消息过期时间(秒)
"cleanup_interval": 2 // 清理检查间隔(秒)
}
-
receiver: 接收撤回消息的微信好友
- type: 匹配类型
- nickname: 使用微信昵称匹配
- remark_name: 使用备注名匹配
- name: 要匹配的名称
- 建议使用"文件传输助手"作为接收者,避免打扰他人
- type: 匹配类型
-
message_expire_time: 消息保存时间
- 单位: 秒
- 默认: 120秒
- 超过此时间的消息会被自动清理
- 建议设置合理的时间,避免占用过多内存
-
cleanup_interval: 清理检查间隔
- 单位: 秒
- 默认: 2秒
- 每隔多久检查一次过期消息
- 间隔太短会增加CPU占用,太长会延迟清理
- 插件会自动运行,无需手动操作
- 修改配置后无需重启,会自动加载最新配置
- 如果配置文件不存在,会使用默认配置并自动创建配置文件
- 撤回消息的通知格式:
- 私聊: "【发送者昵称】刚刚发过这条消息:xxx"
- 群聊: "群:【群名称】的【发送者昵称】刚刚发过这条消息:xxx"
- 确保接收者配置正确,否则无法转发撤回消息
- 合理设置过期时间,避免占用过多内存
- 建议定期清理 downloads 目录下的历史文件
- 首次使用时建议将接收者设为"文件传输助手"进行测试
- 群聊消息较多时可能会占用较多存储空间
- 不要将重要文件保存在 downloads 目录,可能会被自动清理
-
找不到接收者
- 检查配置文件中的 type 和 name 是否正确
- 确认该好友是否在联系人列表中
-
媒体文件没有保存
- 检查 downloads 目录权限
- 确保磁盘空间充足
-
消息转发失败
- 检查网络连接
- 确认微信登录状态
- 初始版本发布
- 支持文本/图片/视频/文件的防撤回
- 支持配置文件动态设置
- 支持自动清理过期消息
sineom ([email protected])