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:
def _gen_prompt_template(prompt: str): if hasattr(Message, "template"): return Message.template(prompt) return prompt