diff --git a/plugins/update.py b/plugins/update.py index 644dc6e..e718b24 100644 --- a/plugins/update.py +++ b/plugins/update.py @@ -1,13 +1,14 @@ import asyncio +import shutil import sys from core import command from loguru import logger from pyrogram import Client from pyrogram.types import Message -from tools.constants import (SYCGRAM, SYCGRAM_ERROR, SYCGRAM_INFO, - SYCGRAM_WARNING, UPDATE_CMD) -from tools.helpers import Parameters, basher, show_cmd_tip +from tools.constants import (COMMAND_YML, EXAMPLE_YML, SYCGRAM, SYCGRAM_ERROR, + SYCGRAM_INFO, SYCGRAM_WARNING, UPDATE_CMD) +from tools.helpers import Parameters, basher, show_cmd_tip, show_exception from tools.updates import (get_alias_of_cmds, pull_and_update_command_yml, reset_cmd_alias, update_cmd_alias, update_cmd_prefix) @@ -44,7 +45,18 @@ async def prefix(_: Client, msg: Message): """更改所有指令的前缀""" _, pfx = Parameters.get(msg) punctuation = list("""!#$%&*+,-./:;=?@^~!?。,;·\\""") - if len(pfx) == 0 or len(pfx) > 1 or pfx not in punctuation: + if pfx == "reset": + try: + _ = shutil.copy(EXAMPLE_YML, COMMAND_YML) + except shutil.SameFileError: + return await msg.edit_text("😂 No need to reset") + except Exception as e: + return await show_exception(msg, e) + else: + await msg.edit_text("✅ Reset command.yml") + sys.exit() + + elif len(pfx) == 0 or len(pfx) > 1 or pfx not in punctuation: text = f"**{SYCGRAM_WARNING}**\n> # `Prefix must be one of {' '.join(punctuation)}`" await msg.edit_text(text, parse_mode='md') return