This commit is contained in:
@ -2,7 +2,8 @@ from functools import reduce
|
||||
from math import ceil
|
||||
import re
|
||||
from loguru import logger
|
||||
from nonebot_plugin_alconna import Alconna, Args, UniMessage, on_alconna
|
||||
from nonebot import on_message
|
||||
from nonebot_plugin_alconna import Alconna, Args, UniMessage, UniMsg, on_alconna
|
||||
from konabot.common.nb.qq_broadcast import qq_broadcast
|
||||
from konabot.common.username import get_username
|
||||
from konabot.plugins.kona_ph.core.storage import get_today_date
|
||||
@ -23,16 +24,29 @@ async def is_play_group(target: DepLongTaskTarget):
|
||||
return False
|
||||
|
||||
|
||||
cmd_submit = on_alconna(Alconna(
|
||||
"re:提交(?:答案|题解|[fF]lag)",
|
||||
Args["flag", str],
|
||||
), rule=is_play_group)
|
||||
# cmd_submit = on_alconna(Alconna(
|
||||
# "re:提交(?:答案|题解|[fF]lag)",
|
||||
# Args["flag", str],
|
||||
# ), rule=is_play_group)
|
||||
#
|
||||
# @cmd_submit.handle()
|
||||
# async def _(flag: str, target: DepLongTaskTarget):
|
||||
# async with puzzle_manager() as manager:
|
||||
# result = manager.submit(target.target_id, flag)
|
||||
# await target.send_message(result.get_unimessage())
|
||||
|
||||
|
||||
cmd_submit = on_message(rule=is_play_group)
|
||||
|
||||
|
||||
@cmd_submit.handle()
|
||||
async def _(flag: str, target: DepLongTaskTarget):
|
||||
async with puzzle_manager() as manager:
|
||||
result = manager.submit(target.target_id, flag)
|
||||
await target.send_message(result.get_unimessage())
|
||||
async def _(msg: UniMsg, target: DepLongTaskTarget):
|
||||
txt = msg.extract_plain_text().strip()
|
||||
if match := re.match(r"^提交(?:答案|题解|[fF]lag)\s*(?P<submission>.+?)\s*$", txt):
|
||||
submission: str = match.group("submission")
|
||||
async with puzzle_manager() as manager:
|
||||
result = manager.submit(target.target_id, submission)
|
||||
await target.send_message(result.get_unimessage())
|
||||
|
||||
|
||||
cmd_query = on_alconna(Alconna(
|
||||
|
||||
@ -305,7 +305,11 @@ def create_admin_commands():
|
||||
if description is not None:
|
||||
p.content = description
|
||||
if flag is not None:
|
||||
p.flag = flag
|
||||
p.flag = flag.strip()
|
||||
if flag.strip() != flag:
|
||||
await target.send_message(
|
||||
"⚠️ 注意:你输入的 Flag 含有开头或结尾的空格,已经帮你去除"
|
||||
)
|
||||
if image is not None and image.url is not None:
|
||||
b = await download_image_bytes(image.url)
|
||||
p.add_image(b.unwrap())
|
||||
|
||||
Reference in New Issue
Block a user