This commit is contained in:
2025-11-05 17:27:15 +08:00
parent 2ee9fd3e2b
commit dc1766e023
4 changed files with 58 additions and 384 deletions

View File

@@ -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:
'''
继承后重写该方法注册数据库模型