开放了更多接口内容

This commit is contained in:
2025-11-08 15:34:25 +08:00
parent 6c53a3a18f
commit 4d3d841dda

View File

@@ -22,7 +22,7 @@ class DatabaseModel(BaseModel):
class PluginInterface(ABC): class PluginInterface(ABC):
plugin_instances: Dict[str, "PluginInterface"] = {} plugin_instances: Dict[str, "PluginInterface"] = {}
async def callback(self, message: str, chat_id: int, user_id: int) -> str|None: async def callback(self, message: str|None|Literal[""], chat_id: int, user_id: int) -> str|None:
''' '''
继承后重写该方法接受消息并返回消息 继承后重写该方法接受消息并返回消息
返回空字符串代表不进行反馈 返回空字符串代表不进行反馈
@@ -50,22 +50,22 @@ class PluginInterface(ABC):
继承后是否返回路由决定是否启动该插件 继承后是否返回路由决定是否启动该插件
若返回None, 则不启动该插件 若返回None, 则不启动该插件
''' '''
Architecture.Register(self.__class__, self, self.wake_up, *self.dependencies())
def setup() -> None:
# 在数据库保证必要的表和列存在
db_model = self.register_db_model()
if db_model is None:
pass
elif isinstance(db_model, DatabaseModel):
self.register_table(db_model)
else:
for model in db_model:
self.register_table(model)
self.wake_up()
Architecture.Register(self.__class__, self, setup, *self.dependencies())
router = APIRouter() router = APIRouter()
router.post(path)(self.generate_router_callback()) router.post(path)(self.generate_router_callback())
# 在数据库保证必要的表和列存在
db = get_db()
db_model = self.register_db_model()
if db_model is None:
return router
elif isinstance(db_model, DatabaseModel):
self.register_table(db_model)
else:
for model in db_model:
self.register_table(model)
return router return router
def generate_router_callback(self) -> Callable|Coroutine: def generate_router_callback(self) -> Callable|Coroutine: