From 209ecccfab6a8d1728057bb628cae2cbc6398555 Mon Sep 17 00:00:00 2001 From: liuwei Date: Mon, 26 May 2025 17:13:04 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=9B=AE=E5=BD=95=E7=BB=93?= =?UTF-8?q?=E6=9E=84=EF=BC=8C=E5=B0=86=E6=A1=86=E6=9E=B6=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E6=94=BE=E5=88=B0base=E9=87=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base/__init__.py | 0 {event_system => base/event_system}/__init__.py | 0 {event_system => base/event_system}/event_manager.py | 0 base/event_system/events/__init__.py | 0 .../event_system}/events/plugin_events.py | 2 +- base/plugin_common/__init__.py | 0 .../plugin_common}/event_system.py | 0 .../plugin_common}/message_plugin_interface.py | 2 +- .../plugin_common}/plugin_interface.py | 0 .../plugin_common}/plugin_manager.py | 12 ++++++------ .../plugin_common}/plugin_registry.py | 2 +- .../plugin_common}/scheduled_plugin_interface.py | 2 +- plugins/ai_auto_response/main.py | 7 ++----- plugins/beautyleg/main.py | 4 ++-- plugins/dify/main.py | 4 ++-- plugins/douyin_parser/main.py | 4 ++-- plugins/game_task/main.py | 4 ++-- plugins/global_news/main.py | 4 ++-- plugins/group_auto_invite/main.py | 5 ++--- plugins/group_member_change/main.py | 4 ++-- plugins/group_virtual/main.py | 5 ++--- plugins/jd_sign_token/main.py | 6 ++---- plugins/message_sign/main.py | 4 ++-- plugins/message_summary/main.py | 6 ++---- plugins/music/main.py | 4 ++-- plugins/plugin_manager/main.py | 8 ++++---- plugins/point_trade/main.py | 4 ++-- plugins/stats_collector/main.py | 8 +++----- plugins/system_updater/main.py | 5 ++--- plugins/video/main.py | 4 ++-- plugins/video_man/main.py | 4 ++-- plugins/weather/main.py | 4 ++-- plugins/xiuren_image/main.py | 5 ++--- robot.py | 10 +++++----- 34 files changed, 60 insertions(+), 73 deletions(-) create mode 100644 base/__init__.py rename {event_system => base/event_system}/__init__.py (100%) rename {event_system => base/event_system}/event_manager.py (100%) create mode 100644 base/event_system/events/__init__.py rename {event_system => base/event_system}/events/plugin_events.py (97%) create mode 100644 base/plugin_common/__init__.py rename {plugin_common => base/plugin_common}/event_system.py (100%) rename {plugin_common => base/plugin_common}/message_plugin_interface.py (96%) rename {plugin_common => base/plugin_common}/plugin_interface.py (100%) rename {plugin_common => base/plugin_common}/plugin_manager.py (98%) rename {plugin_common => base/plugin_common}/plugin_registry.py (96%) rename {plugin_common => base/plugin_common}/scheduled_plugin_interface.py (95%) diff --git a/base/__init__.py b/base/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/event_system/__init__.py b/base/event_system/__init__.py similarity index 100% rename from event_system/__init__.py rename to base/event_system/__init__.py diff --git a/event_system/event_manager.py b/base/event_system/event_manager.py similarity index 100% rename from event_system/event_manager.py rename to base/event_system/event_manager.py diff --git a/base/event_system/events/__init__.py b/base/event_system/events/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/event_system/events/plugin_events.py b/base/event_system/events/plugin_events.py similarity index 97% rename from event_system/events/plugin_events.py rename to base/event_system/events/plugin_events.py index 3519197..e0ff161 100644 --- a/event_system/events/plugin_events.py +++ b/base/event_system/events/plugin_events.py @@ -2,7 +2,7 @@ from dataclasses import dataclass from typing import Dict, Any, Optional from datetime import datetime -from event_system.event_manager import Event +from base.event_system.event_manager import Event @dataclass diff --git a/base/plugin_common/__init__.py b/base/plugin_common/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/plugin_common/event_system.py b/base/plugin_common/event_system.py similarity index 100% rename from plugin_common/event_system.py rename to base/plugin_common/event_system.py diff --git a/plugin_common/message_plugin_interface.py b/base/plugin_common/message_plugin_interface.py similarity index 96% rename from plugin_common/message_plugin_interface.py rename to base/plugin_common/message_plugin_interface.py index 16c5504..42bcde6 100644 --- a/plugin_common/message_plugin_interface.py +++ b/base/plugin_common/message_plugin_interface.py @@ -1,5 +1,5 @@ from typing import Dict, Any, Tuple, Optional, List -from plugin_common.plugin_interface import PluginInterface +from base.plugin_common.plugin_interface import PluginInterface from wechat_ipad import WechatAPIClient diff --git a/plugin_common/plugin_interface.py b/base/plugin_common/plugin_interface.py similarity index 100% rename from plugin_common/plugin_interface.py rename to base/plugin_common/plugin_interface.py diff --git a/plugin_common/plugin_manager.py b/base/plugin_common/plugin_manager.py similarity index 98% rename from plugin_common/plugin_manager.py rename to base/plugin_common/plugin_manager.py index cd21afc..497728c 100644 --- a/plugin_common/plugin_manager.py +++ b/base/plugin_common/plugin_manager.py @@ -2,15 +2,15 @@ import importlib import inspect import os import sys -from typing import Dict, List, Any, Optional, Type, Tuple +from typing import Dict, List, Any, Optional, Tuple from loguru import logger -from plugin_common.plugin_interface import PluginInterface, PluginStatus -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.scheduled_plugin_interface import ScheduledPluginInterface -from plugin_common.plugin_registry import PluginRegistry -from plugin_common.event_system import EventSystem, EventType +from base.plugin_common.plugin_interface import PluginInterface, PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.scheduled_plugin_interface import ScheduledPluginInterface +from base.plugin_common.plugin_registry import PluginRegistry +from base.plugin_common.event_system import EventSystem, EventType from wechat_ipad import WechatAPIClient diff --git a/plugin_common/plugin_registry.py b/base/plugin_common/plugin_registry.py similarity index 96% rename from plugin_common/plugin_registry.py rename to base/plugin_common/plugin_registry.py index 4728168..841c77c 100644 --- a/plugin_common/plugin_registry.py +++ b/base/plugin_common/plugin_registry.py @@ -1,5 +1,5 @@ from typing import Dict, List, Optional, Type -from plugin_common.plugin_interface import PluginInterface, PluginStatus +from base.plugin_common.plugin_interface import PluginInterface, PluginStatus class PluginRegistry: diff --git a/plugin_common/scheduled_plugin_interface.py b/base/plugin_common/scheduled_plugin_interface.py similarity index 95% rename from plugin_common/scheduled_plugin_interface.py rename to base/plugin_common/scheduled_plugin_interface.py index f49a19e..855a182 100644 --- a/plugin_common/scheduled_plugin_interface.py +++ b/base/plugin_common/scheduled_plugin_interface.py @@ -1,7 +1,7 @@ from abc import abstractmethod from typing import Dict, Any, List, Tuple, Callable -from plugin_common.plugin_interface import PluginInterface, PluginStatus +from base.plugin_common.plugin_interface import PluginInterface class ScheduledPluginInterface(PluginInterface): diff --git a/plugins/ai_auto_response/main.py b/plugins/ai_auto_response/main.py index 46b9374..61be4d7 100644 --- a/plugins/ai_auto_response/main.py +++ b/plugins/ai_auto_response/main.py @@ -1,14 +1,11 @@ from loguru import logger import os -import json import requests from typing import Dict, Any, List, Optional, Tuple -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus -from utils.decorator.plugin_decorators import plugin_stats_decorator +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager -from utils.decorator.points_decorator import plugin_points_cost from wechat_ipad import WechatAPIClient from .bot_ai import InterventionBot diff --git a/plugins/beautyleg/main.py b/plugins/beautyleg/main.py index be8123d..d86d638 100644 --- a/plugins/beautyleg/main.py +++ b/plugins/beautyleg/main.py @@ -4,8 +4,8 @@ from typing import Dict, Any, List, Optional, Tuple from pathlib import Path -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager from utils.decorator.points_decorator import plugin_points_cost diff --git a/plugins/dify/main.py b/plugins/dify/main.py index ff10699..fbb45a7 100644 --- a/plugins/dify/main.py +++ b/plugins/dify/main.py @@ -7,8 +7,8 @@ from typing import Dict, Any, List, Optional, Tuple from pathlib import Path -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.markdown_to_image import convert_md_str_to_image from utils.revoke.message_auto_revoke import MessageAutoRevoke diff --git a/plugins/douyin_parser/main.py b/plugins/douyin_parser/main.py index caf6c2e..add753c 100644 --- a/plugins/douyin_parser/main.py +++ b/plugins/douyin_parser/main.py @@ -7,8 +7,8 @@ from typing import Dict, Any, List, Optional, Tuple from loguru import logger -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager from wechat_ipad import WechatAPIClient diff --git a/plugins/game_task/main.py b/plugins/game_task/main.py index a6a2a2d..ec8f265 100644 --- a/plugins/game_task/main.py +++ b/plugins/game_task/main.py @@ -5,8 +5,8 @@ from typing import Dict, Any, List, Optional, Tuple from loguru import logger from async_job import async_job -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager from utils.decorator.points_decorator import points_reward_decorator diff --git a/plugins/global_news/main.py b/plugins/global_news/main.py index 12ed4c4..650f77f 100644 --- a/plugins/global_news/main.py +++ b/plugins/global_news/main.py @@ -3,8 +3,8 @@ import threading import time # 添加这一行 from typing import Dict, Any, List, Optional, Tuple -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager from utils.decorator.points_decorator import plugin_points_cost diff --git a/plugins/group_auto_invite/main.py b/plugins/group_auto_invite/main.py index 147126f..41c500a 100644 --- a/plugins/group_auto_invite/main.py +++ b/plugins/group_auto_invite/main.py @@ -1,10 +1,9 @@ -from loguru import logger import redis import re from typing import Dict, Any, List, Optional, Tuple -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.robot_cmd.robot_command import GroupBotManager from utils.wechat.contact_manager import ContactManager diff --git a/plugins/group_member_change/main.py b/plugins/group_member_change/main.py index 2a53fdf..3bd7c00 100644 --- a/plugins/group_member_change/main.py +++ b/plugins/group_member_change/main.py @@ -3,8 +3,8 @@ from typing import Dict, Any, List, Optional, Tuple import xml.etree.ElementTree as ET -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager from wechat_ipad import WechatAPIClient diff --git a/plugins/group_virtual/main.py b/plugins/group_virtual/main.py index 7c5ab01..624a424 100644 --- a/plugins/group_virtual/main.py +++ b/plugins/group_virtual/main.py @@ -1,8 +1,7 @@ from typing import Dict, Any, List, Optional, Tuple -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus -from utils.decorator.plugin_decorators import plugin_stats_decorator +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.wechat.contact_manager import ContactManager from db.connection import DBConnectionManager from db.group_virtual_redis import GroupVirtualRedisDB diff --git a/plugins/jd_sign_token/main.py b/plugins/jd_sign_token/main.py index 7cd5fdc..e99c803 100644 --- a/plugins/jd_sign_token/main.py +++ b/plugins/jd_sign_token/main.py @@ -1,15 +1,13 @@ from loguru import logger import requests import re -import os from json import dumps as jsonDumps from typing import Dict, Any, List, Optional, Tuple -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager -from utils.decorator.points_decorator import plugin_points_cost from wechat_ipad import WechatAPIClient diff --git a/plugins/message_sign/main.py b/plugins/message_sign/main.py index 664cdb0..0f40156 100644 --- a/plugins/message_sign/main.py +++ b/plugins/message_sign/main.py @@ -4,8 +4,8 @@ import pytz from typing import Dict, Any, List, Optional, Tuple from db.connection import DBConnectionManager -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.revoke.message_auto_revoke import MessageAutoRevoke from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager diff --git a/plugins/message_summary/main.py b/plugins/message_summary/main.py index 24356a9..6a504cf 100644 --- a/plugins/message_summary/main.py +++ b/plugins/message_summary/main.py @@ -1,8 +1,6 @@ -import asyncio import json import os import re -import threading import time from pathlib import Path from typing import Dict, Any, Tuple, Optional, List @@ -13,8 +11,8 @@ from utils.revoke.message_auto_revoke import MessageAutoRevoke from utils.string_utils import remove_trailing_content from utils.wechat.message_to_db import MessageStorage from utils.compress_chat_data import compress_chat_data -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.points_decorator import plugin_points_cost from utils.markdown_to_image import convert_md_str_to_image from utils.decorator.plugin_decorators import plugin_stats_decorator diff --git a/plugins/music/main.py b/plugins/music/main.py index f4982de..9fd6cc6 100644 --- a/plugins/music/main.py +++ b/plugins/music/main.py @@ -4,8 +4,8 @@ from loguru import logger import requests from typing import Dict, Any, List, Optional, Tuple -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager from utils.decorator.points_decorator import plugin_points_cost diff --git a/plugins/plugin_manager/main.py b/plugins/plugin_manager/main.py index b3c952a..0060a99 100644 --- a/plugins/plugin_manager/main.py +++ b/plugins/plugin_manager/main.py @@ -2,10 +2,10 @@ from loguru import logger import os from typing import Dict, Any, List, Optional, Tuple -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus -from plugin_common.plugin_registry import PluginRegistry -from plugin_common.plugin_manager import PluginManager +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus +from base.plugin_common.plugin_registry import PluginRegistry +from base.plugin_common.plugin_manager import PluginManager from utils.robot_cmd.robot_command import GroupBotManager from wechat_ipad import WechatAPIClient diff --git a/plugins/point_trade/main.py b/plugins/point_trade/main.py index a503d49..ba9240b 100644 --- a/plugins/point_trade/main.py +++ b/plugins/point_trade/main.py @@ -6,8 +6,8 @@ import xml.etree.ElementTree as ET from db.connection import DBConnectionManager from db.points_db import PointsDBOperator -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.revoke.message_auto_revoke import MessageAutoRevoke from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager diff --git a/plugins/stats_collector/main.py b/plugins/stats_collector/main.py index 133f9c1..bd29057 100644 --- a/plugins/stats_collector/main.py +++ b/plugins/stats_collector/main.py @@ -1,12 +1,10 @@ from loguru import logger -import time from typing import Dict, Any, Tuple, Optional, List -from datetime import datetime -from plugin_common.plugin_interface import PluginInterface, PluginStatus -from event_system.event_manager import EventManager +from base.plugin_common.plugin_interface import PluginInterface, PluginStatus +from base.event_system.event_manager import EventManager # 使用正确的事件类型导入 -from event_system.events.plugin_events import PluginCallStartEvent, PluginCallEndEvent, PluginCallErrorEvent +from base.event_system.events.plugin_events import PluginCallStartEvent, PluginCallEndEvent, PluginCallErrorEvent # 数据库导入 from db.stats_db import StatsDBOperator from db.connection import DBConnectionManager diff --git a/plugins/system_updater/main.py b/plugins/system_updater/main.py index c77ec5e..21dc2a9 100644 --- a/plugins/system_updater/main.py +++ b/plugins/system_updater/main.py @@ -1,11 +1,10 @@ # -*- coding: utf-8 -*- -import os import subprocess from loguru import logger from typing import Dict, Any, List, Optional, Tuple -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.robot_cmd.robot_command import Feature, PermissionStatus from wechat_ipad import WechatAPIClient diff --git a/plugins/video/main.py b/plugins/video/main.py index 6a07b7e..8aedf99 100644 --- a/plugins/video/main.py +++ b/plugins/video/main.py @@ -7,8 +7,8 @@ from typing import Dict, Any, List, Optional, Tuple from pathlib import Path import cv2 -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager from utils.decorator.points_decorator import plugin_points_cost diff --git a/plugins/video_man/main.py b/plugins/video_man/main.py index 9f18469..bbfee5d 100644 --- a/plugins/video_man/main.py +++ b/plugins/video_man/main.py @@ -7,8 +7,8 @@ import requests from loguru import logger from pathlib import Path -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.decorator.points_decorator import plugin_points_cost from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager diff --git a/plugins/weather/main.py b/plugins/weather/main.py index bdc58a1..cefa1e3 100644 --- a/plugins/weather/main.py +++ b/plugins/weather/main.py @@ -3,8 +3,8 @@ import aiohttp import os from typing import Dict, Any, List, Optional, Tuple -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.robot_cmd.robot_command import Feature, PermissionStatus, GroupBotManager from utils.decorator.points_decorator import plugin_points_cost diff --git a/plugins/xiuren_image/main.py b/plugins/xiuren_image/main.py index 4439a49..62669c0 100644 --- a/plugins/xiuren_image/main.py +++ b/plugins/xiuren_image/main.py @@ -2,12 +2,11 @@ from pathlib import Path from loguru import logger import os -import random from typing import Dict, Any, List, Optional, Tuple from db.connection import DBConnectionManager -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus from plugins.xiuren_image.images_cache import ImageCacheManager from utils.decorator.plugin_decorators import plugin_stats_decorator from utils.revoke.message_auto_revoke import MessageAutoRevoke diff --git a/robot.py b/robot.py index 7c4941b..4aee8c4 100644 --- a/robot.py +++ b/robot.py @@ -11,11 +11,11 @@ from loguru import logger from base.func_epic import is_friday, get_free from base.func_news import News from configuration import Config -from plugin_common.event_system import EventType, EventSystem -from plugin_common.message_plugin_interface import MessagePluginInterface -from plugin_common.plugin_interface import PluginStatus -from plugin_common.plugin_manager import PluginManager -from plugin_common.plugin_registry import PluginRegistry +from base.plugin_common.event_system import EventType, EventSystem +from base.plugin_common.message_plugin_interface import MessagePluginInterface +from base.plugin_common.plugin_interface import PluginStatus +from base.plugin_common.plugin_manager import PluginManager +from base.plugin_common.plugin_registry import PluginRegistry from utils.sehuatang.shehuatang import pdf_file_path from utils.email_util import EmailSender from utils.revoke.message_auto_revoke import MessageAutoRevoke