refactor: 命令处理基础

This commit is contained in:
RockChinQ
2024-01-28 00:16:42 +08:00
parent f10af09bd2
commit 2a0cf57303
10 changed files with 286 additions and 22 deletions

View File

@@ -0,0 +1,23 @@
from __future__ import annotations
from typing import AsyncGenerator
from .. import operator, entities, cmdmgr
from ...plugin import host as plugin_host
@operator.operator_class(name="func", alias=[], help="查看所有以注册的内容函数")
class FuncOperator(operator.CommandOperator):
async def execute(
self,
context: entities.ExecuteContext
) -> AsyncGenerator[entities.CommandReturn, None]:
reply_str = "当前已加载的内容函数: \n\n"
index = 1
for func in plugin_host.__callable_functions__:
reply_str += "{}. {}{}:\n{}\n\n".format(index, ("(已禁用) " if not func['enabled'] else ""), func['name'], func['description'])
index += 1
yield entities.CommandReturn(
text=reply_str
)