diff --git a/README.md b/README.md
index c3543e7..e85c6c4 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
-
+
@@ -15,6 +15,7 @@
+
## 简介
通过米游社接口,查询uid的游戏信息,并附带各种娱乐功能。
@@ -58,6 +59,11 @@
+
+抽卡记录
+
+
+
## 指令列表
### 查询功能
@@ -75,17 +81,27 @@
| ssbq uid | 查询uid的实时便签,包括树脂、派遣情况等 | uid必须绑定了对应私人cookie才能使用 |
| myzj uid (月份) | 查询uid的该月札记 | uid必须绑定了对应私人cookie才能使用,不写月份时默认为本月,只能看最近3个月 |
+### 抽卡记录导出和分析
+
+| 指令 | 介绍 | 备注 |
+| --------------------- | -------------------------------- | -------------------------------------- |
+| 查看抽卡记录 uid 池子 | 查看uid已有的抽卡记录的分析图片 | 池子有all\|角色\|武器\|常驻,默认为all |
+| 获取抽卡记录 uid 链接 | 从api获取抽卡记录,时间较长 | |
+| 导出抽卡记录 uid 格式 | 导出抽卡记录的文件,上传到群文件 | 格式有xlsx和json;只能在群里导出 |
+
+抽卡记录链接的获取方式和其他工具是一样的,这里不多介绍了
+
### 模拟抽卡功能
-| 指令 | 介绍 | 备注 |
-| ---------------------- | ---------------------------------- | ------------------------------------------------------------ |
-| 抽n十连xx | 模拟抽n个xx池子的十连 | n必须为阿拉伯数字,最多同时5次;xx池子有角色1\|角色2\|武器\|常驻\|彩蛋,可以DIY池子 |
-| 选择定轨 武器名称 | 武器定轨 | 武器名必须是全称 |
-| 查看定轨 | 查看当前定轨的武器和能量值 | |
-| 删除定轨 | 删除定轨 | |
-| 查看抽卡记录 | 查看模拟抽卡的出货率、保底数等信息 | |
-| 查看抽卡记录 角色/武器 | 查看模拟抽卡抽到的角色/武器列表 | |
-| 删除抽卡记录 | 清空自己的模拟抽卡记录 | |
+| 指令 | 介绍 | 备注 |
+| -------------------------- | ---------------------------------- | ------------------------------------------------------------ |
+| 抽n十连xx | 模拟抽n个xx池子的十连 | n必须为阿拉伯数字,最多同时5次;xx池子有角色1\|角色2\|武器\|常驻\|彩蛋,可以DIY池子 |
+| 选择定轨 武器名称 | 武器定轨 | 武器名必须是全称 |
+| 查看定轨 | 查看当前定轨的武器和能量值 | |
+| 删除定轨 | 删除定轨 | |
+| 查看模拟抽卡记录 | 查看模拟抽卡的出货率、保底数等信息 | |
+| 查看模拟抽卡记录 角色/武器 | 查看模拟抽卡抽到的角色/武器列表 | |
+| 删除模拟抽卡记录 | 清空自己的模拟抽卡记录 | |
### 原神WIKI
@@ -115,16 +131,17 @@
## 更新日志
- 3.20 新增Windows一键部署脚本
-
- 3.22 新增蓝佬授权提供的收益曲线和参考面板攻略图
+- 3.24 新增抽卡记录导出和分析功能,原模拟抽卡的指令更改
## 未来计划
- [ ] 实时便签树脂提醒
-- [ ] 抽卡记录导出和分析
+- [x] 抽卡记录导出和分析
- [ ] ocr圣遗物评分和角色面板记录
- [ ] 角色、武器和圣遗物wiki
- [ ] 派蒙AI闲聊
+- [ ] 米游社自动签到
## 部署方法
@@ -169,3 +186,4 @@ javascript:(function(){prompt(document.domain,document.cookie)})();
- [西风驿站](https://bbs.mihoyo.com/ys/collection/307224) - 角色攻略一图流来源
- [hoshino-installer](https://github.com/pcrbot/hoshino-installer) - 一键安装脚本参考
- [bluemushoom](https://bbs.nga.cn/nuke.php?func=ucp&uid=62861898) - 全角色收益曲线和参考面板攻略图来源
+- [genshin-gacha-export](https://github.com/sunfkny/genshin-gacha-export) - 抽卡记录导出参考
diff --git a/hoshino/modules/Genshin_Paimon/gacha_log_export/get_img.py b/hoshino/modules/Genshin_Paimon/gacha_log_export/get_img.py
index bde51d1..a0cb9fd 100644
--- a/hoshino/modules/Genshin_Paimon/gacha_log_export/get_img.py
+++ b/hoshino/modules/Genshin_Paimon/gacha_log_export/get_img.py
@@ -9,7 +9,7 @@ def get_font(size):
return ImageFont.truetype(os.path.join(res_path, 'msyh.ttc'), size)
async def get_circle_avatar(avatar, size):
- avatar = Image.open(os.path.join(res_path, 'role_avatar', f'{avatar}.png'))
+ avatar = Image.open(os.path.join(res_path, 'thumb', f'{avatar}.png'))
w, h = avatar.size
bg = Image.new('RGBA', (w, h), (213, 153, 77, 255))
bg.alpha_composite(avatar, (0, 0))
@@ -63,13 +63,13 @@ async def draw_gacha_log(data):
top_draw.text((146 - 6 * len(str(data["total_num"])), 88), f'{data["total_num"]}', font=get_font(24), fill='black')
five_ave = round(sum([x[1] for x in five_star]) / len(five_star), 1) if five_star else ' '
top_draw.text((321 - 10 * len(str(five_ave)), 88), f'{five_ave}', font=get_font(24), fill='black' if five_ave != ' ' and five_ave > 60 else 'red')
- five_per = round(len(five_star) / (data['total_num'] - data['5_gacha']), 4) if five_star else -1
- five_per_str = str(five_per * 100) + '%' if five_per > -1 else ' '
- top_draw.text((427, 88), f'{five_per_str}', font=get_font(24), fill='black' if five_per < 0.016 else 'red')
- five_up = round(len([x[0] for x in five_star if not x[0] in ['刻晴', '迪卢克', '七七', '莫娜', '琴']]) / len(five_star),
- 4) if five_star else -1
- five_up_str = str(five_up * 100) + '%' if five_per > -1 else ' '
- top_draw.text((578 if len(five_up_str) != 6 else 569, 88), f'{five_up_str}', font=get_font(24), fill='black' if five_up < 0.75 else 'red')
+ five_per = round(len(five_star) / (data['total_num'] - data['5_gacha']) * 100, 2) if five_star else -1
+ five_per_str = str(five_per) + '%' if five_per > -1 else ' '
+ top_draw.text((427, 88), f'{five_per_str}', font=get_font(24), fill='black' if five_per < 1.7 else 'red')
+ five_up = round(len([x[0] for x in five_star if not x[0] in ['刻晴', '迪卢克', '七七', '莫娜', '琴']]) / len(five_star) * 100,
+ 1) if five_star else -1
+ five_up_str = str(five_up) + '%' if five_per > -1 else ' '
+ top_draw.text((578 if len(five_up_str) != 6 else 569, 88), f'{five_up_str}', font=get_font(24), fill='black' if five_up < 75 else 'red')
most_five = sorted(five_star, key=lambda x: x[1], reverse=False)[0][0] if five_star else ' '
top_draw.text((152 - 14 * len(most_five), 163), f'{most_five}', font=get_font(24), fill='red')
four_ave = round(sum([x[1] for x in data['4_star']]) / len(data['4_star']), 1) if data['4_star'] else ' '
diff --git a/readme/gachalog.jpg b/readme/gachalog.jpg
new file mode 100644
index 0000000..777cc0b
Binary files /dev/null and b/readme/gachalog.jpg differ