开放了更多接口内容
This commit is contained in:
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user