feat(schedulerAdmin): 允许定时任务删除、暂停、恢复命令支持多ID操作

This commit is contained in:
webjoin111 2025-10-29 16:30:39 +08:00
parent 9bba83cfe6
commit b74fb66939
2 changed files with 9 additions and 9 deletions

View File

@ -147,8 +147,8 @@ schedule_cmd = on_alconna(
Subcommand(
"删除",
Args[
"schedule_id?",
int,
"schedule_ids?",
MultiVar(int),
Field(unmatch_tips=lambda text: f"任务ID '{text}' 必须是数字!"),
],
*create_targeting_options(),
@ -158,8 +158,8 @@ schedule_cmd = on_alconna(
Subcommand(
"暂停",
Args[
"schedule_id?",
int,
"schedule_ids?",
MultiVar(int),
Field(unmatch_tips=lambda text: f"任务ID '{text}' 必须是数字!"),
],
*create_targeting_options(),
@ -169,8 +169,8 @@ schedule_cmd = on_alconna(
Subcommand(
"恢复",
Args[
"schedule_id?",
int,
"schedule_ids?",
MultiVar(int),
Field(unmatch_tips=lambda text: f"任务ID '{text}' 必须是数字!"),
],
*create_targeting_options(),

View File

@ -158,7 +158,7 @@ async def GetTargeter(
event: Event,
bot: Bot,
arp: Arparma = AlconnaMatches(),
schedule_id: Match[int] = AlconnaMatch("schedule_id"),
schedule_ids: Match[list[int]] = AlconnaMatch("schedule_ids"),
plugin_name: Match[str] = AlconnaMatch("plugin_name"),
group_ids: Match[list[str]] = AlconnaMatch("group_ids"),
user_id: Match[str] = AlconnaMatch("user_id"),
@ -172,8 +172,8 @@ async def GetTargeter(
if not subcommand:
await matcher.finish("内部错误:无法解析子命令。")
if schedule_id.available:
return scheduler_manager.target(id=schedule_id.result)
if schedule_ids.available:
return scheduler_manager.target(id__in=schedule_ids.result)
all_enabled = arp.query(f"{subcommand}.all.value", False)
global_flag = arp.query(f"{subcommand}.global.value", False)