diff --git a/gsuid_core/client.py b/gsuid_core/client.py index d67e33a..6de325f 100644 --- a/gsuid_core/client.py +++ b/gsuid_core/client.py @@ -1,12 +1,12 @@ -import random import asyncio from typing import Union import websockets.client from msgspec import json as msgjson -from model import Message, MessageSend, MessageReceive from websockets.exceptions import ConnectionClosedError +from gsuid_core.models import Message, MessageSend, MessageReceive + class GsClient: @classmethod diff --git a/gsuid_core/core.py b/gsuid_core/core.py index 235990e..bdd3e6b 100644 --- a/gsuid_core/core.py +++ b/gsuid_core/core.py @@ -4,10 +4,11 @@ import uvicorn from server import gss from config import core_config from handler import handle_event -from model import MessageReceive from msgspec import json as msgjson from fastapi import FastAPI, WebSocket, WebSocketDisconnect +from gsuid_core.models import MessageReceive + app = FastAPI() HOST = core_config.get_config('HOST') PORT = int(core_config.get_config('PORT')) diff --git a/gsuid_core/handler.py b/gsuid_core/handler.py index 2525175..8c83f54 100644 --- a/gsuid_core/handler.py +++ b/gsuid_core/handler.py @@ -3,9 +3,9 @@ import asyncio from server import Bot from trigger import Trigger from config import core_config -from model import MessageContent, MessageReceive from gsuid_core.sv import SL +from gsuid_core.models import MessageContent, MessageReceive config_masters = core_config.get_config('masters') config_superusers = core_config.get_config('superusers') @@ -41,9 +41,9 @@ async def handle_event(ws: Bot, msg: MessageReceive): ws.user_id = msg.user_id ws.group_id = msg.group_id ws.user_type = msg.user_type - await ws.send(f'[收到消息] {msg}') + print(f'[收到消息] {msg}') pending = [ - _check_command(ws, tr, message) + _check_command(ws, SL.lst[sv].TL[tr], message) for sv in SL.lst for tr in SL.lst[sv].TL if ( diff --git a/gsuid_core/model.py b/gsuid_core/models.py similarity index 100% rename from gsuid_core/model.py rename to gsuid_core/models.py diff --git a/gsuid_core/plugins/genshinuid_adv/__init__.py b/gsuid_core/plugins/genshinuid_adv/__init__.py index 22e6e11..7bf5d19 100644 --- a/gsuid_core/plugins/genshinuid_adv/__init__.py +++ b/gsuid_core/plugins/genshinuid_adv/__init__.py @@ -1,6 +1,6 @@ from gsuid_core.sv import SV from gsuid_core.server import Bot -from gsuid_core.model import MessageContent +from gsuid_core.models import MessageContent from .get_adv import char_adv, weapon_adv diff --git a/gsuid_core/plugins/gs_test.py b/gsuid_core/plugins/gs_test.py index e2f4f59..7999dc0 100644 --- a/gsuid_core/plugins/gs_test.py +++ b/gsuid_core/plugins/gs_test.py @@ -2,7 +2,7 @@ import asyncio from gsuid_core.sv import SL, SV from gsuid_core.server import Bot -from gsuid_core.model import MessageContent +from gsuid_core.models import MessageContent @SV('开关').on_prefix(('关闭', '开启')) diff --git a/gsuid_core/segment.py b/gsuid_core/segment.py index 7f69993..1edf4ac 100644 --- a/gsuid_core/segment.py +++ b/gsuid_core/segment.py @@ -3,7 +3,8 @@ from base64 import b64encode from typing import List, Union from PIL import Image -from model import Message + +from gsuid_core.models import Message class MessageSegment: diff --git a/gsuid_core/server.py b/gsuid_core/server.py index 1e2f526..4a46549 100644 --- a/gsuid_core/server.py +++ b/gsuid_core/server.py @@ -7,7 +7,8 @@ from typing import Dict, List, Union, Optional from fastapi import WebSocket from segment import MessageSegment from msgspec import json as msgjson -from model import Message, MessageSend + +from gsuid_core.models import Message, MessageSend class Bot: @@ -54,8 +55,6 @@ class GsServer: plugin_path = plugin / '__init__.py' if plugin_path.exists(): sys.path.append(str(plugin_path.parents)) - print(sys.path) - print(f'plugins.{plugin.name}.__init__') importlib.import_module(f'plugins.{plugin.name}.__init__') print(f'插件【{plugin.name}】加载成功!') if plugin.suffix == '.py': diff --git a/gsuid_core/sv.py b/gsuid_core/sv.py index 195cafc..6880ab7 100644 --- a/gsuid_core/sv.py +++ b/gsuid_core/sv.py @@ -42,7 +42,7 @@ class SV: # sv名称,重复的sv名称将被并入一个sv里 self.name: str = name # sv内包含的触发器 - self.TL: List[Trigger] = [] + self.TL: Dict[str, Trigger] = {} self.is_initialized = True # 判断sv是否已持久化 @@ -91,8 +91,8 @@ class SV: keyword_list = keyword if isinstance(keyword, str): keyword_list = (keyword,) - trigger = [Trigger(type, _k, func) for _k in keyword_list] - self.TL.extend(trigger) + trigger = {_k: Trigger(type, _k, func) for _k in keyword_list} + self.TL.update(trigger) @wraps(func) async def wrapper(bot, msg) -> Optional[Callable]: diff --git a/gsuid_core/trigger.py b/gsuid_core/trigger.py index f9e5d79..d909d00 100644 --- a/gsuid_core/trigger.py +++ b/gsuid_core/trigger.py @@ -1,6 +1,6 @@ from typing import Literal, Callable -from model import MessageContent +from gsuid_core.models import MessageContent class Trigger: