无畏契约每日商店插件
一个用于查询无畏契约(Valorant)每日商店的AstrBot插件,支持自动化扫码登录、图片生成和商店监控功能。
功能特性
🎯 商店查询
- 每日商店查询:获取当日商店皮肤信息
- 精美图片生成:自动生成高质量的商店展示图片
- @功能支持:支持查询其他用户的商店
- 智能配置识别:支持多种格式的配置信息解析
🔍 商店监控(v3.0.0新增)
- 商品监控:添加想要监控的皮肤或武器
- 自动查询:每天定时检查商店更新
- 智能通知:监控商品上架时自动通知
- 监控列表管理:添加、删除、查看监控项
- 静默运行:无匹配商品时不打扰用户
🤖 自动化登录
- 无头浏览器:后台自动化扫码登录
- 二维码登录:发送二维码图片,30秒内扫码即可绑定
- 安全存储:加密保存用户配置信息
- 配置验证:自动检测配置有效性
安装方法
方式一:直接复制
# 1. 克隆或下载插件
git clone https://github.com/GuJi08233/astrbot_plugin_val_shop
# 2. 复制到AstrBot插件目录
cp -r astrbot_plugin_val_shop /path/to/astrbot/data/plugins/
# 3. 安装浏览器依赖
playwright install chromium
# 4. 安装Python依赖
pip install apscheduler>=3.10.0
# 5. 重启AstrBot
方式二:插件管理器
# 1. 使用AstrBot插件管理器安装
astrbot plug install https://github.com/GuJi08233/astrbot_plugin_val_shop
# 2. 安装浏览器依赖
playwright install chromium
# 3. 安装Python依赖
pip install apscheduler>=3.10.0
使用方法
1. 自动化登录绑定(推荐)
在任意聊天中发送:
/瓦
自动化流程:
- 插件启动无头浏览器访问QQ登录页面
- 自动截取二维码图片并发送给您
- 提示"请在30秒内扫码登录"
- 使用手机QQ扫描二维码并确认登录
- 插件自动检测登录状态并获取配置信息
- 自动保存userId和tid到数据库
- 发送登录成功确认消息
优势:
- ✅ 无需手动抓包或配置
- ✅ 无需了解技术细节
- ✅ 自动化流程,减少错误
- ✅ 安全可靠的后台处理
2. 查询商店
查询自己的商店:
/每日商店
查询他人商店:
/每日商店 @某人
3. 商店监控(v3.0.0新增)
查看监控帮助:
/商店监控
添加监控项:
/商店监控 添加 "侦察力量 幻象"
/商店监控 添加 "盖世英雄 冥驹"
删除监控项:
/商店监控 删除 "侦察力量 幻象"
查看监控列表:
/商店监控 列表
开启自动查询:
/商店监控 开启
关闭自动查询:
/商店监控 关闭
配置选项
插件支持以下配置选项(修改 config_schema.json 文件):
监控配置
- monitor_time:设置每日自动监控的时间,格式为HH:MM,默认"08:01"
示例配置:
{
"monitor_time": {
"description": "商店监控时间",
"type": "string",
"hint": "设置每日自动监控的时间,格式为HH:MM,如08:01",
"default": "08:01"
}
}
技术实现
自动化登录系统
插件集成了完整的无头浏览器登录流程:
无头浏览器:
- 使用Playwright启动Chromium无头模式
- 模拟移动设备User-Agent和视口
- 完全后台运行,无需图形界面
二维码处理:
- 自动等待二维码元素加载
- 截取二维码图片并保存
- 转换为base64格式发送
状态监控:
- 实时监听登录API响应
- 自动检测扫码、确认、成功状态
- 异步事件驱动处理
凭证获取:
- 自动解析登录成功URL参数
- 调用mval API获取最终cookie
- 提取userId和tid用于商店查询
商店监控系统(v3.0.0新增)
数据库结构:
valo_watchlist表:存储用户监控商品auto_check字段:控制自动查询开关
定时任务调度:
- 使用APScheduler实现可靠的定时执行
- 支持自定义监控时间
- 自动重启和错误恢复
智能匹配算法:
- 模糊匹配:监控商品名称包含在商店商品名称中即匹配
- 大小写不敏感
- 支持部分匹配
通知系统:
- 只有匹配到商品时才发送通知
- 包含商品名称、价格等详细信息
- 提供快速查看商店的链接
图片处理
- 多源下载:自动下载背景图和商品图
- 智能合成:将商品图片居中粘贴到背景图
- 文字渲染:添加皮肤名称和价格信息
- 多图合并:将所有商品图片垂直合并成长图
- 格式转换:转换为base64格式发送
数据存储
- SQLite数据库:使用AstrBot内置的数据库
- 安全存储:敏感信息加密存储
- 自动更新:支持配置信息的更新和覆盖
故障排除
常见问题
Q: 提示"您尚未绑定账户信息"
A: 使用 /瓦 指令进行自动化扫码登录绑定
Q: 二维码登录失败
A: 尝试以下方法:
- 确保在30秒内扫码
- 检查网络连接是否正常
- 重新发送
/瓦命令
Q: 提示"配置过期或网络问题"
A: 使用 /瓦 指令重新进行自动化登录
Q: 图片显示异常或文字乱码
A: 检查插件目录下是否存在 fontFamily.ttf 字体文件
Q: 监控功能不工作
A: 尝试以下方法:
- 确保已开启自动查询:
/商店监控 开启 - 检查监控列表是否为空:
/商店监控 列表 - 确认监控时间设置是否正确
Q: 二维码登录失败或浏览器相关错误
A: 尝试以下方法:
- 确保已安装Playwright浏览器:
playwright install chromium - 检查网络连接是否正常
- 重新发送
/瓦命令 - 查看AstrBot日志获取详细错误信息
Q: @功能不工作
A: 确保聊天平台支持@功能,部分平台可能不支持
Q: Kook平台图片发送失败
A: 尝试以下方法:
- 确保使用最新版本插件(v3.2.3+)
- 检查网络连接是否正常
- 查看AstrBot日志获取详细错误信息
调试模式
启用调试模式后,插件会输出详细的日志信息:
- 无头浏览器启动过程
- 二维码生成和截图
- 登录状态监控
- API请求详情
- 图片处理步骤
- 监控任务执行情况
开发信息
- 插件名称:astrbot_plugin_val_shop
- 版本:v3.2.3
- 作者:GuJi08233
- 仓库:https://github.com/GuJi08233/astrbot_plugin_val_shop
- 依赖:playwright>=1.56.0, aiohttp>=3.8.0, pillow>=12.0.0, apscheduler>=3.10.0
更新日志
v3.2.3
- ✅ 添加Kook平台图片发送支持
- ✅ 修复KOOK平台发送二维码图片失败的问题
- ✅ 修复KOOK平台发送图片失败问题
- ✅ 使用AstrBot官方推荐的消息组件导入方式
v3.2.2
- ✅ 修复商店监控查询时缺少await导致的协程迭代错误
- ✅ 修复二维码加载时页面关闭导致的错误
- ✅ 修正配置类型从boolean改为bool
- ✅ 修复每次启动都检查安装依赖的问题
v3.2.0
- ✅ 修复定时监控通知发送问题
- ✅ 集成AstrBot v3.0+配置系统
- ✅ 添加机器人ID配置项,支持自定义会话标识
- ✅ 修复API缓存问题,确保数据实时性
- ✅ 优化消息发送格式,使用正确的unified_msg_origin
- ✅ 完善监控匹配逻辑和错误处理
- ✅ 支持时区配置,适应不同地区用户
- ✅ 添加手动监控查询命令,便于测试
v2.0.0
- ✅ 集成无头浏览器自动化登录
- ✅ 添加二维码截图和发送功能
- ✅ 实现30秒扫码登录流程
- ✅ 自动获取userId和tid配置
- ✅ 简化用户操作流程
- ✅ 保留原有商店查询功能
- ✅ 优化依赖管理
v1.0.0
- ✅ 实现基础商店查询功能
- ✅ 添加图片生成和合成功能
- ✅ 支持用户配置存储
- ✅ 实现@功能支持
- ✅ 添加智能配置识别
- ✅ 支持Cookie格式解析
- ✅ 添加调试模式选项
- ✅ 添加LLM服务商选择
许可证
MIT License - 详见 LICENSE 文件
贡献
欢迎提交Issue和Pull Request来改进插件功能!
支持
如果您觉得这个插件有用,请给个⭐支持一下!