Compare commits
1 Commits
6c53a3a18f
...
4d3d841dda
| Author | SHA1 | Date | |
|---|---|---|---|
| 4d3d841dda |
@@ -22,7 +22,7 @@ class DatabaseModel(BaseModel):
|
||||
class PluginInterface(ABC):
|
||||
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, 则不启动该插件
|
||||
'''
|
||||
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.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
|
||||
|
||||
def generate_router_callback(self) -> Callable|Coroutine:
|
||||
|
||||
Reference in New Issue
Block a user