refactor(napcat-adapter): remove test handler and restructure plugin initialization

移除APITestHandler测试类,将插件初始化逻辑重构为独立的事件注册方法,更新日志配置以支持napcat适配器模块。这些更改清理了测试代码并改进了插件架构的清晰度。
This commit is contained in:
Windpicker-owo
2025-08-31 23:15:31 +08:00
parent 30e66d5938
commit 763bf07de6
2 changed files with 10 additions and 105 deletions

View File

@@ -103,105 +103,6 @@ class LauchNapcatAdapterHandler(BaseEventHandler):
asyncio.create_task(self.message_process()) asyncio.create_task(self.message_process())
asyncio.create_task(check_timeout_response()) asyncio.create_task(check_timeout_response())
class APITestHandler(BaseEventHandler):
handler_name: str = "napcat_api_test_handler"
handler_description: str = "接口测试"
weight: int = 100
intercept_message: bool = False
init_subscribe = [EventType.ON_MESSAGE]
async def execute(self, _):
logger.info("5s后开始测试napcat接口...")
await asyncio.sleep(5)
"""
# 测试获取登录信息
logger.info("测试获取登录信息...")
res = await event_manager.trigger_event(
event_types.NapcatEvent.ACCOUNT.GET_LOGIN_INFO
)
logger.info(f"GET_LOGIN_INFO: {res.get_message_result()}")
# 测试获取状态
logger.info("测试获取状态...")
res = await event_manager.trigger_event(
event_types.NapcatEvent.ACCOUNT.GET_STATUS
)
logger.info(f"GET_STATUS: {res.get_message_result()}")
# 测试获取好友列表
logger.info("测试获取好友列表...")
res = await event_manager.trigger_event(
event_types.NapcatEvent.ACCOUNT.GET_FRIEND_LIST,
no_cache=False
)
logger.info(f"GET_FRIEND_LIST: {res.get_message_result()}")
# 测试获取好友分组列表
logger.info("测试获取好友分组列表...")
res = await event_manager.trigger_event(
event_types.NapcatEvent.ACCOUNT.GET_FRIENDS_WITH_CATEGORY
)
logger.info(f"GET_FRIENDS_WITH_CATEGORY: {res.get_message_result()}")
# 测试获取在线客户端
logger.info("测试获取在线客户端...")
res = await event_manager.trigger_event(
event_types.NapcatEvent.ACCOUNT.GET_ONLINE_CLIENTS,
no_cache=True
)
logger.info(f"GET_ONLINE_CLIENTS: {res.get_message_result()}")
# 测试获取最近联系人
logger.info("测试获取最近联系人...")
res = await event_manager.trigger_event(
event_types.NapcatEvent.ACCOUNT.GET_RECENT_CONTACT,
count=5
)
logger.info(f"GET_RECENT_CONTACT: {res.get_message_result()}")
# 测试设置个性签名
logger.info("测试设置个性签名...")
res = await event_manager.trigger_event(
event_types.NapcatEvent.ACCOUNT.SET_SELF_LONGNICK,
longNick="测试个性签名 - 来自APITestHandler"
)
logger.info(f"SET_SELF_LONGNICK: {res.get_message_result()}")
# 测试设置在线状态
logger.info("测试设置在线状态...")
res = await event_manager.trigger_event(
event_types.NapcatEvent.ACCOUNT.SET_ONLINE_STATUS,
status="11",
ext_status="0",
battery_status="0"
)
logger.info(f"SET_ONLINE_STATUS: {res.get_message_result()}")
# 测试设置自定义在线状态
logger.info("测试设置自定义在线状态...")
res = await event_manager.trigger_event(
event_types.NapcatEvent.ACCOUNT.SET_DIY_ONLINE_STATUS,
face_id="358",
face_type="1",
wording="测试中..."
)
logger.info(f"SET_DIY_ONLINE_STATUS: {res.get_message_result()}")
# 测试获取点赞列表
logger.info("测试获取点赞列表...")
res = await event_manager.trigger_event(
event_types.NapcatEvent.ACCOUNT.GET_PROFILE_LIKE,
start=0,
count=5
)
logger.info(f"GET_PROFILE_LIKE: {res.get_message_result()}")
logger.info("所有ACCOUNT接口测试完成")
"""
return HandlerResult(True, True, "所有接口测试完成")
@register_plugin @register_plugin
class NapcatAdapterPlugin(BasePlugin): class NapcatAdapterPlugin(BasePlugin):
plugin_name = CONSTS.PLUGIN_NAME plugin_name = CONSTS.PLUGIN_NAME
@@ -222,8 +123,8 @@ class NapcatAdapterPlugin(BasePlugin):
} }
} }
def __init__(self, *args, **kwargs): def register_events(self):
super().__init__(*args, **kwargs) # 注册事件
for e in event_types.NapcatEvent.ON_RECEIVED: for e in event_types.NapcatEvent.ON_RECEIVED:
event_manager.register_event(e, allowed_triggers=[self.plugin_name]) event_manager.register_event(e, allowed_triggers=[self.plugin_name])
@@ -237,9 +138,11 @@ class NapcatAdapterPlugin(BasePlugin):
event_manager.register_event(e, allowed_subscribers=[f"{e.value}_handler"]) event_manager.register_event(e, allowed_subscribers=[f"{e.value}_handler"])
def get_plugin_components(self): def get_plugin_components(self):
self.register_events()
components = [] components = []
components.append((LauchNapcatAdapterHandler.get_handler_info(), LauchNapcatAdapterHandler)) components.append((LauchNapcatAdapterHandler.get_handler_info(), LauchNapcatAdapterHandler))
components.append((APITestHandler.get_handler_info(), APITestHandler))
for handler in get_classes_in_module(event_handlers): for handler in get_classes_in_module(event_handlers):
if issubclass(handler, BaseEventHandler): if issubclass(handler, BaseEventHandler):
components.append((handler.get_handler_info(), handler)) components.append((handler.get_handler_info(), handler))

View File

@@ -514,6 +514,8 @@ MODULE_COLORS = {
"db_migration": "\033[38;5;94m", "db_migration": "\033[38;5;94m",
"小彩蛋": "\033[38;5;214m", "小彩蛋": "\033[38;5;214m",
"AioHTTP-Gemini客户端": "\033[38;5;81m", "AioHTTP-Gemini客户端": "\033[38;5;81m",
"napcat_adapter": "\033[38;5;67m", # 柔和的灰蓝色,不刺眼且低调
"event_manager": "\033[38;5;79m", # 柔和的蓝绿色,稍微醒目但不刺眼
} }
# 定义模块别名映射 - 将真实的logger名称映射到显示的别名 # 定义模块别名映射 - 将真实的logger名称映射到显示的别名
@@ -556,9 +558,8 @@ MODULE_ALIASES = {
# 插件系统扩展 # 插件系统扩展
"plugin_base": "插件基类", "plugin_base": "插件基类",
"base_event_handler": "事件处理", "base_event_handler": "事件处理",
"events_manager": "事件管理", "event_manager": "事件管理",
"global_announcement_manager": "全局通知", "global_announcement_manager": "全局通知",
"event_manager"
# 工具和依赖管理 # 工具和依赖管理
"dependency_config": "依赖配置", "dependency_config": "依赖配置",
"dependency_manager": "依赖管理", "dependency_manager": "依赖管理",
@@ -591,6 +592,8 @@ MODULE_ALIASES = {
"MaiZone.ReadFeedAction": "Mai空间读说说", "MaiZone.ReadFeedAction": "Mai空间读说说",
# 网络工具 # 网络工具
"web_surfing_tool": "网络搜索", "web_surfing_tool": "网络搜索",
# napcat ada
"napcat_adapter": "Napcat 适配器",
"tts": "语音合成", "tts": "语音合成",
# mais4u系统扩展 # mais4u系统扩展
"s4u_config": "直播配置", "s4u_config": "直播配置",
@@ -632,7 +635,6 @@ MODULE_ALIASES = {
"db_migration": "数据库迁移", "db_migration": "数据库迁移",
"小彩蛋": "小彩蛋", "小彩蛋": "小彩蛋",
"AioHTTP-Gemini客户端": "AioHTTP-Gemini客户端", "AioHTTP-Gemini客户端": "AioHTTP-Gemini客户端",
"event_manager": "事件管理器",
} }
RESET_COLOR = "\033[0m" RESET_COLOR = "\033[0m"