Add method to restore cmds to default

This commit is contained in:
iwumingz 2022-04-09 18:04:08 +08:00
parent 3fcfdcdaaa
commit ebd4fa6a59

View File

@ -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