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(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
|
||||
class NapcatAdapterPlugin(BasePlugin):
|
||||
plugin_name = CONSTS.PLUGIN_NAME
|
||||
@@ -222,8 +123,8 @@ class NapcatAdapterPlugin(BasePlugin):
|
||||
}
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs)
|
||||
def register_events(self):
|
||||
# 注册事件
|
||||
for e in event_types.NapcatEvent.ON_RECEIVED:
|
||||
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"])
|
||||
|
||||
def get_plugin_components(self):
|
||||
self.register_events()
|
||||
|
||||
components = []
|
||||
components.append((LauchNapcatAdapterHandler.get_handler_info(), LauchNapcatAdapterHandler))
|
||||
components.append((APITestHandler.get_handler_info(), APITestHandler))
|
||||
|
||||
for handler in get_classes_in_module(event_handlers):
|
||||
if issubclass(handler, BaseEventHandler):
|
||||
components.append((handler.get_handler_info(), handler))
|
||||
|
||||
@@ -514,6 +514,8 @@ MODULE_COLORS = {
|
||||
"db_migration": "\033[38;5;94m",
|
||||
"小彩蛋": "\033[38;5;214m",
|
||||
"AioHTTP-Gemini客户端": "\033[38;5;81m",
|
||||
"napcat_adapter": "\033[38;5;67m", # 柔和的灰蓝色,不刺眼且低调
|
||||
"event_manager": "\033[38;5;79m", # 柔和的蓝绿色,稍微醒目但不刺眼
|
||||
}
|
||||
|
||||
# 定义模块别名映射 - 将真实的logger名称映射到显示的别名
|
||||
@@ -556,9 +558,8 @@ MODULE_ALIASES = {
|
||||
# 插件系统扩展
|
||||
"plugin_base": "插件基类",
|
||||
"base_event_handler": "事件处理",
|
||||
"events_manager": "事件管理",
|
||||
"event_manager": "事件管理器",
|
||||
"global_announcement_manager": "全局通知",
|
||||
"event_manager"
|
||||
# 工具和依赖管理
|
||||
"dependency_config": "依赖配置",
|
||||
"dependency_manager": "依赖管理",
|
||||
@@ -591,6 +592,8 @@ MODULE_ALIASES = {
|
||||
"MaiZone.ReadFeedAction": "Mai空间读说说",
|
||||
# 网络工具
|
||||
"web_surfing_tool": "网络搜索",
|
||||
# napcat ada
|
||||
"napcat_adapter": "Napcat 适配器",
|
||||
"tts": "语音合成",
|
||||
# mais4u系统扩展
|
||||
"s4u_config": "直播配置",
|
||||
@@ -632,7 +635,6 @@ MODULE_ALIASES = {
|
||||
"db_migration": "数据库迁移",
|
||||
"小彩蛋": "小彩蛋",
|
||||
"AioHTTP-Gemini客户端": "AioHTTP-Gemini客户端",
|
||||
"event_manager": "事件管理器",
|
||||
}
|
||||
|
||||
RESET_COLOR = "\033[0m"
|
||||
|
||||
Reference in New Issue
Block a user