mirror of
https://github.com/TriM-Organization/LiteyukiBot-TriM.git
synced 2026-06-14 16:42:30 +00:00
猜成语:修复无法移出简单词库的bug
插件管理:修复插件列表文字模式无法呼出的bug
This commit is contained in:
@@ -105,6 +105,7 @@ disable = "disable"
|
|||||||
Args["page", int, 1]["num", int, 10],
|
Args["page", int, 1]["num", int, 10],
|
||||||
Option(
|
Option(
|
||||||
"-m|--markdown",
|
"-m|--markdown",
|
||||||
|
default=False,
|
||||||
action=store_true,
|
action=store_true,
|
||||||
help_text="以 Markdown 交互形式显示列表",
|
help_text="以 Markdown 交互形式显示列表",
|
||||||
),
|
),
|
||||||
@@ -369,47 +370,7 @@ async def _(result: Arparma, event: T_MessageEvent, bot: T_Bot, npm: Matcher):
|
|||||||
page = clamp(result.subcommands["list"].args["page"], 1, total)
|
page = clamp(result.subcommands["list"].args["page"], 1, total)
|
||||||
markdown_mode = result.subcommands["list"].options["markdown"].value
|
markdown_mode = result.subcommands["list"].options["markdown"].value
|
||||||
|
|
||||||
if not markdown_mode:
|
if markdown_mode:
|
||||||
# 文字显示模式
|
|
||||||
reply = " - {} | {} -\n".format(
|
|
||||||
ulang.get("npm.loaded_plugins"),
|
|
||||||
ulang.get("npm.page", PAGE=page, TOTAL=total),
|
|
||||||
)
|
|
||||||
for pi in range(
|
|
||||||
(page - 1) * num_per_page,
|
|
||||||
min(page * num_per_page, len(loaded_plugin_list)),
|
|
||||||
):
|
|
||||||
# 遍历插件,通过插件编号
|
|
||||||
storePlugin = loaded_plugin_list[pi]
|
|
||||||
store_plugin = await get_store_plugin(storePlugin.name)
|
|
||||||
session_enable = get_plugin_session_enable(event, storePlugin.name)
|
|
||||||
|
|
||||||
if store_plugin:
|
|
||||||
show_name = store_plugin.name
|
|
||||||
elif storePlugin.metadata:
|
|
||||||
show_name = storePlugin.metadata.name
|
|
||||||
else:
|
|
||||||
show_name = storePlugin.name
|
|
||||||
ulang.get("npm.no_description")
|
|
||||||
|
|
||||||
reply += "{}. {}".format(pi + 1, show_name)
|
|
||||||
|
|
||||||
if not get_plugin_can_be_toggle(storePlugin.name):
|
|
||||||
reply += " [{}{}]".format(ulang.get('npm.cannot'), ulang.get(
|
|
||||||
"npm.disable" if session_enable else "npm.enable"
|
|
||||||
))
|
|
||||||
|
|
||||||
if not plugin_db.where_one(
|
|
||||||
InstalledPlugin(), "module_name = ?", storePlugin.name
|
|
||||||
):
|
|
||||||
|
|
||||||
reply += " [{}{}]".format(ulang.get('npm.cannot'), ulang.get("npm.uninstall"))
|
|
||||||
|
|
||||||
reply += "\n>\t{}\n".format(storePlugin.name)
|
|
||||||
|
|
||||||
await npm.send(reply)
|
|
||||||
|
|
||||||
else:
|
|
||||||
# 已加载插件 | 总计10 | 第1/3页
|
# 已加载插件 | 总计10 | 第1/3页
|
||||||
reply = (
|
reply = (
|
||||||
f"# {ulang.get('npm.loaded_plugins')} | "
|
f"# {ulang.get('npm.loaded_plugins')} | "
|
||||||
@@ -521,7 +482,47 @@ async def _(result: Arparma, event: T_MessageEvent, bot: T_Bot, npm: Matcher):
|
|||||||
reply += f"\n{btn_prev} {page}/{total} {btn_next}"
|
reply += f"\n{btn_prev} {page}/{total} {btn_next}"
|
||||||
img_bytes = await md_to_pic(reply)
|
img_bytes = await md_to_pic(reply)
|
||||||
await UniMessage.send(UniMessage.image(raw=img_bytes))
|
await UniMessage.send(UniMessage.image(raw=img_bytes))
|
||||||
|
else:
|
||||||
|
|
||||||
|
# 文字显示模式
|
||||||
|
reply = " - {} | {} -\n".format(
|
||||||
|
ulang.get("npm.loaded_plugins"),
|
||||||
|
ulang.get("npm.page", PAGE=page, TOTAL=total),
|
||||||
|
)
|
||||||
|
for pi in range(
|
||||||
|
(page - 1) * num_per_page,
|
||||||
|
min(page * num_per_page, len(loaded_plugin_list)),
|
||||||
|
):
|
||||||
|
# 遍历插件,通过插件编号
|
||||||
|
storePlugin = loaded_plugin_list[pi]
|
||||||
|
store_plugin = await get_store_plugin(storePlugin.name)
|
||||||
|
session_enable = get_plugin_session_enable(event, storePlugin.name)
|
||||||
|
|
||||||
|
if store_plugin:
|
||||||
|
show_name = store_plugin.name
|
||||||
|
elif storePlugin.metadata:
|
||||||
|
show_name = storePlugin.metadata.name
|
||||||
|
else:
|
||||||
|
show_name = storePlugin.name
|
||||||
|
ulang.get("npm.no_description")
|
||||||
|
|
||||||
|
reply += "{}. {}".format(pi + 1, show_name)
|
||||||
|
|
||||||
|
if not get_plugin_can_be_toggle(storePlugin.name):
|
||||||
|
reply += " [{}{}]".format(ulang.get('npm.cannot'), ulang.get(
|
||||||
|
"npm.disable" if session_enable else "npm.enable"
|
||||||
|
))
|
||||||
|
|
||||||
|
if not plugin_db.where_one(
|
||||||
|
InstalledPlugin(), "module_name = ?", storePlugin.name
|
||||||
|
):
|
||||||
|
|
||||||
|
reply += " [{}{}]".format(ulang.get('npm.cannot'), ulang.get("npm.uninstall"))
|
||||||
|
|
||||||
|
reply += "\n>\t{}\n".format(storePlugin.name)
|
||||||
|
|
||||||
|
await npm.send(reply)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
if await SUPERUSER(bot, event):
|
if await SUPERUSER(bot, event):
|
||||||
btn_enable_global = md.btn_cmd(
|
btn_enable_global = md.btn_cmd(
|
||||||
|
|||||||
@@ -315,7 +315,7 @@ handle_update_idiom = on_alconna(
|
|||||||
Option(
|
Option(
|
||||||
"-e|--explanation",
|
"-e|--explanation",
|
||||||
default="",
|
default="",
|
||||||
args=Args["explanation", str, "未提供该成语的解释说明"],
|
args=Args["explanation", str, ""],
|
||||||
),
|
),
|
||||||
Option(
|
Option(
|
||||||
"-d|--hard",
|
"-d|--hard",
|
||||||
@@ -341,16 +341,12 @@ async def _(
|
|||||||
):
|
):
|
||||||
|
|
||||||
if not (idiom := result.main_args["idiom"]):
|
if not (idiom := result.main_args["idiom"]):
|
||||||
await handle_update_idiom.finish("请在命令后带上你要增加的成语")
|
await handle_update_idiom.finish("用法:新成语 <成语> [-e|--explanation <释义>] [-d|--hard]")
|
||||||
|
|
||||||
existance = idiom in HANDLE_LEGAL_PHRASES
|
existance = idiom in HANDLE_LEGAL_PHRASES
|
||||||
|
|
||||||
try:
|
try:
|
||||||
explanation = (
|
explanation = result.options["explanation"].args["explanation"] or None
|
||||||
result.options["explanation"].args["explanation"]
|
|
||||||
if result.options["explanation"].args["explanation"]
|
|
||||||
else None
|
|
||||||
)
|
|
||||||
except:
|
except:
|
||||||
explanation = None
|
explanation = None
|
||||||
|
|
||||||
@@ -370,17 +366,26 @@ async def _(
|
|||||||
indent=4,
|
indent=4,
|
||||||
sort_keys=True,
|
sort_keys=True,
|
||||||
)
|
)
|
||||||
if (not (hard := result.options["hard"].value)) and (
|
if hard := result.options["hard"].value:
|
||||||
idiom not in HANDLE_COMMON_PHRASES
|
if idiom in HANDLE_COMMON_PHRASES:
|
||||||
):
|
HANDLE_COMMON_PHRASES.remove(idiom)
|
||||||
HANDLE_COMMON_PHRASES.append(idiom)
|
json.dump(
|
||||||
json.dump(
|
HANDLE_COMMON_PHRASES,
|
||||||
HANDLE_COMMON_PHRASES,
|
handle_common_idiom_path.open("w", encoding="utf-8"),
|
||||||
handle_common_idiom_path.open("w", encoding="utf-8"),
|
ensure_ascii=False,
|
||||||
ensure_ascii=False,
|
indent=4,
|
||||||
indent=4,
|
sort_keys=True,
|
||||||
sort_keys=True,
|
)
|
||||||
)
|
else:
|
||||||
|
if idiom not in HANDLE_COMMON_PHRASES:
|
||||||
|
HANDLE_COMMON_PHRASES.append(idiom)
|
||||||
|
json.dump(
|
||||||
|
HANDLE_COMMON_PHRASES,
|
||||||
|
handle_common_idiom_path.open("w", encoding="utf-8"),
|
||||||
|
ensure_ascii=False,
|
||||||
|
indent=4,
|
||||||
|
sort_keys=True,
|
||||||
|
)
|
||||||
|
|
||||||
HANDLE_ANSWER_PHRASES[idiom] = {
|
HANDLE_ANSWER_PHRASES[idiom] = {
|
||||||
"explanation": explanation,
|
"explanation": explanation,
|
||||||
@@ -403,8 +408,9 @@ async def _(
|
|||||||
)
|
)
|
||||||
|
|
||||||
await handle_update_idiom.finish(
|
await handle_update_idiom.finish(
|
||||||
"成功{}:{}\n当前词库总数:{}个,普通模式成语:{}个\n当前成语信息如下:{}".format(
|
"成功{}:[{}词汇]{}\n当前词库总数:{}个,普通模式成语:{}个\n当前成语信息如下:{}".format(
|
||||||
"修改" if existance else "新增",
|
"修改" if existance else "新增",
|
||||||
|
"困难" if hard else "普通",
|
||||||
idiom,
|
idiom,
|
||||||
len(HANDLE_LEGAL_PHRASES),
|
len(HANDLE_LEGAL_PHRASES),
|
||||||
len(HANDLE_COMMON_PHRASES),
|
len(HANDLE_COMMON_PHRASES),
|
||||||
|
|||||||
Reference in New Issue
Block a user