Init
This commit is contained in:
@@ -16,6 +16,21 @@ class DatabaseModel(BaseModel):
|
||||
column_defs: Dict[str, str] = Field(default={})
|
||||
|
||||
class PluginInterface(ABC):
|
||||
plugin_instances: Dict[str, "PluginInterface"] = {}
|
||||
|
||||
def callback(self, message: str, chat_id: int, user_id: int) -> str:
|
||||
'''
|
||||
继承后重写该方法接受消息并返回消息
|
||||
返回空字符串代表不进行反馈
|
||||
Args:
|
||||
message: 消息内容
|
||||
chat_id: 会话ID
|
||||
user_id: 用户ID
|
||||
Returns:
|
||||
str: 消息内容
|
||||
'''
|
||||
return ""
|
||||
|
||||
def execute(self, path:str) -> Optional[APIRouter]:
|
||||
'''
|
||||
继承后是否返回路由决定是否启动该插件
|
||||
@@ -55,6 +70,12 @@ class PluginInterface(ABC):
|
||||
'''
|
||||
pass
|
||||
|
||||
def register_plugin(self, command: str) -> None:
|
||||
'''
|
||||
将插件注册, 使其可以被命令匹配
|
||||
'''
|
||||
PluginInterface.plugin_instances[command] = self
|
||||
|
||||
def register_db_model(self) -> DatabaseModel:
|
||||
'''
|
||||
继承后重写该方法注册数据库模型
|
||||
|
||||
Reference in New Issue
Block a user