diff options
Diffstat (limited to 'ATRI/plugins/help')
| -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 | 
