diff --git a/konabot/plugins/simple_notify/__init__.py b/konabot/plugins/simple_notify/__init__.py index 7c97ba9..ec57455 100644 --- a/konabot/plugins/simple_notify/__init__.py +++ b/konabot/plugins/simple_notify/__init__.py @@ -25,7 +25,7 @@ PATTERN_DELTA_HMS = re.compile(r"^((\d+|[零一两二三四五六七八九十]+) PATTERN_DATE_SPECIFY = re.compile(r"(\d{1,2}|[零一二三四五六七八九十]+) ?[日号]") PATTERN_MONTH_SPECIFY = re.compile(r"(\d{1,2}|[零一二三四五六七八九十]+) ?月") PATTERN_YEAR_SPECIFY = re.compile(r"(\d|[零一二三四五六七八九十]+) ?年") -PATTERN_HOUR_SPECIFY = re.compile(r"(\d|[零一二三四五六七八九十]+) ?[点时]钟?") +PATTERN_HOUR_SPECIFY = re.compile(r"(\d|[零一二三四五六七八九十]+) ?[点时](半?)钟?") PATTERN_MINUTE_SPECIFY = re.compile(r"(\d|[零一二三四五六七八九十]+) ?分(钟)?") PATTERN_SECOND_SPECIFY = re.compile(r"(\d|[零一二三四五六七八九十]+) ?秒(钟)?") PATTERN_HMS_SPECIFY = re.compile(r"\d\d[::]\d\d([::]\d\d)?") @@ -125,6 +125,8 @@ def get_target_time(content: str) -> datetime.datetime | None: if hour < 0 or hour > 23: return t = t.replace(hour=hour, minute=0, second=0) + if match4.group(2) != None: + t = t.replace(minute=30) if match5 := re.match(PATTERN_MINUTE_SPECIFY, content_to_match): content_to_match = "".join(content_to_match.split(match5.group(0))) minute = parse_chinese_or_digit(match5.group(1))