Skip to content

[Feature] 通用的 help 解决方案 #192

Open
@djkcyl

Description

@djkcyl

使用场景

通过一个统一的方式注册help菜单,然后通过特定的格式输出

你想要的解决方案

例如使用类似:

@help.register("name1")
@channel.use(
    ListenerSchema(
        listening_events=[FriendMessage],
        inline_dispatchers=[
            Twilight(
                [FullMatch("添加管理员"), "adminid" @ WildcardMatch(optional=True)],
            )
        ],
    )
)

...

@help.register("name1")
@channel.use(
    ListenerSchema(
        listening_events=[FriendMessage],
        inline_dispatchers=[
            Twilight(
                [FullMatch("添加黑名单"), "userid" @ WildcardMatch(optional=True)],
            )
        ],
    )
)

...

@help.register("name2")
@channel.use(
    ListenerSchema(
        listening_events=[FriendMessage],
        inline_dispatchers=[
            Twilight(
                [FullMatch("查看状态")],
            )
        ],
    )
)


>> print(help.gen_help())

1. name1
   添加管理员 <adminid>
   添加黑名单 <userid>

2. name2
   查看状态

大概就是这样的实现(?
当然只是举个例子,实际应该不会这么草率

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

Status

📋 Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions