Example #1
0
async def parse_platform(event: GroupMessageEvent, state: T_State) -> None:
    platform = event.get_plaintext().strip()
    if platform == "全部":
        message = "全部平台\n" + "\n".join([
            "{}:{}".format(platform_name, platform.name)
            for platform_name, platform in platform_manager.items()
        ])
        await add_sub_cmd.reject(message)
    elif platform in platform_manager:
        state["platform"] = platform
    else:
        await add_sub_cmd.reject("平台输入错误")


@add_sub_cmd.got("platform", Message.template("{_prompt}"),
                 [Depends(parse_platform)])
async def init_id(state: T_State, platform: str = Arg()):
    if platform_manager[platform].has_target:  # type: ignore
        state["_prompt"] = "请输入订阅用户的 ID"
    else:
        state["id"] = "default"
        state["name"] = await platform_manager[platform].get_target_name(
            Target(""))


async def parse_id(event: GroupMessageEvent, state: T_State):
    target = str(event.get_message()).strip()
    try:
        name = await check_sub_target(state["platform"], target)
        if not name:
Example #2
0
def _gen_prompt_template(prompt: str):
    if hasattr(Message, "template"):
        return Message.template(prompt)
    return prompt