diff --git a/README.md b/README.md index 70f8d817..0d782903 100644 --- a/README.md +++ b/README.md @@ -243,6 +243,10 @@ __Docker 最新版本由 [Sakuracio](https://github.com/Sakuracio) 提供__ ## 更新 +### 2022/6/17 + +* 修复wordbank的一些小问题 [@pull/820](https://github.com/HibiKier/zhenxun_bot/pull/820) + ### 2022/6/14 * AsyncHttpx提供可关闭 ssl 验证参数 [@pull/812](https://github.com/HibiKier/zhenxun_bot/pull/812) diff --git a/plugins/word_bank/_rule.py b/plugins/word_bank/_rule.py index 043289c1..fc6e7a6a 100644 --- a/plugins/word_bank/_rule.py +++ b/plugins/word_bank/_rule.py @@ -12,7 +12,7 @@ async def check(bot: Bot, event: Event, state: T_State) -> bool: list_img = get_message_img_file(event.json()) if list_img: for img_file in list_img: - strinfo = re.compile(f"{img_file},subType=\d*]") + strinfo = re.compile(f"{img_file},.*?]") msg = strinfo.sub(f'{img_file}]', msg) return bool( await WordBank.check(event.group_id, msg, event.is_tome()) diff --git a/plugins/word_bank/message_handle.py b/plugins/word_bank/message_handle.py index 09958210..92c838c2 100644 --- a/plugins/word_bank/message_handle.py +++ b/plugins/word_bank/message_handle.py @@ -23,7 +23,7 @@ async def _(event: GroupMessageEvent): list_img = get_message_img_file(event.json()) if list_img: for img_file in list_img: - strinfo = re.compile(f"{img_file},subType=\d*]") + strinfo = re.compile(f"{img_file},.*?]") msg = strinfo.sub(f'{img_file}]', msg) q = await WordBank.check( event.group_id, msg, event.is_tome() diff --git a/plugins/word_bank/word_hanlde.py b/plugins/word_bank/word_hanlde.py index c58784b3..17d4e7b3 100644 --- a/plugins/word_bank/word_hanlde.py +++ b/plugins/word_bank/word_hanlde.py @@ -293,16 +293,16 @@ async def get__builder(event, _problem, answer, idx): if f"__placeholder_{rand}_{idx}.jpg" not in os.listdir(data_dir / f"{event.group_id}"): break rand = random.randint(1, 10000) + random.randint(1, 114514) - strinfo = re.compile(f"\[CQ:image,file={r.group(1)},.*url={_x_list[0]}\?{_x_list[1]}.*\]") + strinfo = re.compile(f"\[CQ:image,file={r.group(1)},.*url={_x_list[0]}\?{_x_list[1]}.*?]") answer = strinfo.sub(f"[__placeholder_{idx}]", answer) await AsyncHttpx.download_file( img, data_dir / f"{event.group_id}" / f"__placeholder_{rand}_{idx}.jpg" ) _builder.set_placeholder(idx, f"__placeholder_{rand}_{idx}.jpg") idx += 1 - r_problem = re.search(rf"\[CQ:image,file=(.*?),url={_x}.*?]", _p) + r_problem = re.search(rf"\[CQ:image,file=(.*?)(,subType=\d)?,url={_x}.*?]", _p) if r_problem: - strinfo = re.compile(f",url={_x_list[0]}\?{_x_list[1]},subType=\d*?]") + strinfo = re.compile(f"(,subType=\d)?,url={_x_list[0]}\?{_x_list[1]}.*?]") _problem = strinfo.sub(f"]", _problem) _p = strinfo.sub(f"]", _p) problem += _p[: _p.find(f"[CQ:image,file={r_problem.group(1)}]")] + image(img)