From 387bba093e86d527870482a8fdd88316b89c9c7c Mon Sep 17 00:00:00 2001 From: Soulter <37870767+Soulter@users.noreply.github.com> Date: Tue, 3 Feb 2026 20:37:18 +0800 Subject: [PATCH] fix: `missing 2 required positional arguments: 'filter1' and 'filter2'` (#4840) fixes: #4777 --- astrbot/core/star/filter/custom_filter.py | 6 +++--- astrbot/core/star/register/star_handler.py | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/astrbot/core/star/filter/custom_filter.py b/astrbot/core/star/filter/custom_filter.py index ff2df9bcd..54d03632d 100644 --- a/astrbot/core/star/filter/custom_filter.py +++ b/astrbot/core/star/filter/custom_filter.py @@ -37,9 +37,9 @@ class CustomFilter(HandlerFilter, metaclass=CustomFilterMeta): class CustomFilterOr(CustomFilter): def __init__(self, filter1: CustomFilter, filter2: CustomFilter): super().__init__() - if not isinstance(filter1, CustomFilter | CustomFilterAnd | CustomFilterOr): + if not isinstance(filter1, (CustomFilter, CustomFilterAnd, CustomFilterOr)): raise ValueError( - "CustomFilter lass can only operate with other CustomFilter.", + "CustomFilter class can only operate with other CustomFilter.", ) self.filter1 = filter1 self.filter2 = filter2 @@ -51,7 +51,7 @@ class CustomFilterOr(CustomFilter): class CustomFilterAnd(CustomFilter): def __init__(self, filter1: CustomFilter, filter2: CustomFilter): super().__init__() - if not isinstance(filter1, CustomFilter | CustomFilterAnd | CustomFilterOr): + if not isinstance(filter1, (CustomFilter, CustomFilterAnd, CustomFilterOr)): raise ValueError( "CustomFilter lass can only operate with other CustomFilter.", ) diff --git a/astrbot/core/star/register/star_handler.py b/astrbot/core/star/register/star_handler.py index 4d9e2bd87..eefbcedb7 100644 --- a/astrbot/core/star/register/star_handler.py +++ b/astrbot/core/star/register/star_handler.py @@ -150,7 +150,7 @@ def register_custom_filter(custom_type_filter, *args, **kwargs): if args: raise_error = args[0] - if not isinstance(custom_filter, CustomFilterAnd | CustomFilterOr): + if not isinstance(custom_filter, (CustomFilterAnd, CustomFilterOr)): custom_filter = custom_filter(raise_error) def decorator(awaitable):