refactor(napcat-adapter): remove test handler and restructure plugin initialization
移除APITestHandler测试类,将插件初始化逻辑重构为独立的事件注册方法,更新日志配置以支持napcat适配器模块。这些更改清理了测试代码并改进了插件架构的清晰度。
This commit is contained in:
@@ -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))
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user