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 asyncio
import shutil
import sys import sys
from core import command from core import command
from loguru import logger from loguru import logger
from pyrogram import Client from pyrogram import Client
from pyrogram.types import Message from pyrogram.types import Message
from tools.constants import (SYCGRAM, SYCGRAM_ERROR, SYCGRAM_INFO, from tools.constants import (COMMAND_YML, EXAMPLE_YML, SYCGRAM, SYCGRAM_ERROR,
SYCGRAM_WARNING, UPDATE_CMD) SYCGRAM_INFO, SYCGRAM_WARNING, UPDATE_CMD)
from tools.helpers import Parameters, basher, show_cmd_tip from tools.helpers import Parameters, basher, show_cmd_tip, show_exception
from tools.updates import (get_alias_of_cmds, pull_and_update_command_yml, from tools.updates import (get_alias_of_cmds, pull_and_update_command_yml,
reset_cmd_alias, update_cmd_alias, reset_cmd_alias, update_cmd_alias,
update_cmd_prefix) update_cmd_prefix)
@ -44,7 +45,18 @@ async def prefix(_: Client, msg: Message):
"""更改所有指令的前缀""" """更改所有指令的前缀"""
_, pfx = Parameters.get(msg) _, pfx = Parameters.get(msg)
punctuation = list("""!#$%&*+,-./:;=?@^~!?。,;·\\""") 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)}`" text = f"**{SYCGRAM_WARNING}**\n> # `Prefix must be one of {' '.join(punctuation)}`"
await msg.edit_text(text, parse_mode='md') await msg.edit_text(text, parse_mode='md')
return return