diff options
Diffstat (limited to 'ATRI/plugins')
-rw-r--r-- | ATRI/plugins/help/data_source.py | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/ATRI/plugins/help/data_source.py b/ATRI/plugins/help/data_source.py index de07678..da9432a 100644 --- a/ATRI/plugins/help/data_source.py +++ b/ATRI/plugins/help/data_source.py @@ -1,4 +1,7 @@ import os +import json + +from tabulate import tabulate from ATRI import __version__ from ATRI.rule import to_bot @@ -6,7 +9,6 @@ from ATRI.service import Service, SERVICES_DIR, ServiceTools from ATRI.config import BotSelfConfig from ATRI.exceptions import ReadFileError - SERVICE_INFO_FORMAT = """ 服务名:{service} 说明:{docs} @@ -15,7 +17,6 @@ SERVICE_INFO_FORMAT = """ Tip: @bot 帮助 [服务] [命令] 以查看对应命令详细信息 """.strip() - COMMAND_INFO_FORMAT = """ 命令:{cmd} 类型:{cmd_type} @@ -56,13 +57,15 @@ class Helper(Service): @staticmethod def service_list() -> str: files = os.listdir(SERVICES_DIR) - temp_list = list() - for i in files: - service = i.replace(".json", "") - temp_list.append(service) - - services = "、".join(map(str, temp_list)) - repo = f"咱搭载了以下服务~\n{services}\n@bot 帮助 [服务] -以查看对应服务帮助" + services = list() + for f in files: + prefix = f.replace(".json", "") + f = os.path.join(SERVICES_DIR, f) + with open(f, "r", encoding="utf-8") as r: + service = json.load(r) + services.append([prefix, "√" if service["enabled"] else "×", "√" if service["only_admin"] else "×"]) + table = tabulate(services, headers=["服务名称", "开启状态", "仅支持管理员"], tablefmt="plain", showindex=True) + repo = f"咱搭载了以下服务~\n{table}\n@bot 帮助 [服务] -以查看对应服务帮助" return repo @staticmethod |