diff --git a/konabot/docs/user/订阅.txt b/konabot/docs/user/订阅.txt new file mode 100644 index 0000000..18cd0c3 --- /dev/null +++ b/konabot/docs/user/订阅.txt @@ -0,0 +1,22 @@ +指令介绍 + 订阅 - 收听此方 BOT 的自动消息发送 + +格式 + 订阅 <频道名称> + 取消订阅 <频道名称> + 查询订阅 [页码] + 可用订阅 [页码] + +示例 + `订阅 此方谜题` + 在当前的聊天上下文订阅「此方谜题」频道。此后会每天推送此方谜题(由 konaph(8) 管理的)。 + 如果你是私聊,则能够每天发送此方谜题到你的私聊;如果在群聊中使用该指令,则会每天发送题目到这个群里面。 + + `取消订阅 此方谜题` + 取消订阅「此方谜题」频道。 + + `查询订阅` + 查询当前聊天上下文订阅的所有频道。 + + `可用订阅 2` + 查询所有可用的订阅的第二页 diff --git a/konabot/plugins/poster/__init__.py b/konabot/plugins/poster/__init__.py index 285d41b..671195c 100644 --- a/konabot/plugins/poster/__init__.py +++ b/konabot/plugins/poster/__init__.py @@ -43,7 +43,22 @@ async def _(target: DepLongTaskTarget, page: int = 1): page_index=page, page_size=10, )) - await target.send_message(result.to_unimessage(title="订阅列表")) + await target.send_message(result.to_unimessage(title="订阅列表", formatter=better_channel_message)) + + +cmd_list_available = on_alconna(Alconna( + "re:(查询)?可用订阅(列表)?", + Args["page?", int], +)) + + +@cmd_list_available.handle() +async def _(target: DepLongTaskTarget, page: int = 1): + result = PagerQuery( + page_index=page, + page_size=10, + ).apply(sorted(POSTER_INFO_DATA.keys())) + await target.send_message(result.to_unimessage(title="可用订阅列表", formatter=better_channel_message)) cmd_unsubscribe = on_alconna(Alconna(