From ce14a0f0c9d232393ed0b95c25eb187c2d54a553 Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Thu, 23 Apr 2026 13:42:00 +0800 Subject: [PATCH] fix: add missing platform adapter filter types --- .../core/star/filter/platform_adapter_type.py | 33 +++++++++---------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/astrbot/core/star/filter/platform_adapter_type.py b/astrbot/core/star/filter/platform_adapter_type.py index 55043cbe33..48c5bc8ff5 100644 --- a/astrbot/core/star/filter/platform_adapter_type.py +++ b/astrbot/core/star/filter/platform_adapter_type.py @@ -9,6 +9,7 @@ class PlatformAdapterType(enum.Flag): AIOCQHTTP = enum.auto() QQOFFICIAL = enum.auto() + QQOFFICIAL_WEBHOOK = enum.auto() TELEGRAM = enum.auto() WECOM = enum.auto() WECOM_AI_BOT = enum.auto() @@ -23,29 +24,16 @@ class PlatformAdapterType(enum.Flag): MISSKEY = enum.auto() LINE = enum.auto() MATRIX = enum.auto() - ALL = ( - AIOCQHTTP - | QQOFFICIAL - | TELEGRAM - | WECOM - | WECOM_AI_BOT - | LARK - | DINGTALK - | DISCORD - | SLACK - | KOOK - | VOCECHAT - | WEIXIN_OFFICIAL_ACCOUNT - | SATORI - | MISSKEY - | LINE - | MATRIX - ) + WEIXIN_OC = enum.auto() + MATTERMOST = enum.auto() + WEBCHAT = enum.auto() + ALL = enum.auto() ADAPTER_NAME_2_TYPE = { "aiocqhttp": PlatformAdapterType.AIOCQHTTP, "qq_official": PlatformAdapterType.QQOFFICIAL, + "qq_official_webhook": PlatformAdapterType.QQOFFICIAL_WEBHOOK, "telegram": PlatformAdapterType.TELEGRAM, "wecom": PlatformAdapterType.WECOM, "wecom_ai_bot": PlatformAdapterType.WECOM_AI_BOT, @@ -60,6 +48,9 @@ class PlatformAdapterType(enum.Flag): "misskey": PlatformAdapterType.MISSKEY, "line": PlatformAdapterType.LINE, "matrix": PlatformAdapterType.MATRIX, + "weixin_oc": PlatformAdapterType.WEIXIN_OC, + "mattermost": PlatformAdapterType.MATTERMOST, + "webchat": PlatformAdapterType.WEBCHAT, } @@ -71,6 +62,12 @@ def __init__(self, platform_adapter_type_or_str: PlatformAdapterType | str) -> N self.platform_type = platform_adapter_type_or_str def filter(self, event: AstrMessageEvent, cfg: AstrBotConfig) -> bool: + if ( + self.platform_type is not None + and self.platform_type & PlatformAdapterType.ALL + ): + return True + adapter_name = event.get_platform_name() if adapter_name in ADAPTER_NAME_2_TYPE and self.platform_type is not None: return bool(ADAPTER_NAME_2_TYPE[adapter_name] & self.platform_type)