添加订阅列表

This commit is contained in:
chenxiangtong
2026-04-15 19:12:56 +08:00
parent 8824f0630f
commit 7b25f437b8
3 changed files with 76 additions and 0 deletions

26
main.py
View File

@@ -314,6 +314,19 @@ class BangumiPlugin(Star):
result = await self.subscription_service.unsubscribe(session_key, query)
yield event.plain_result(result)
@filter.command("追番列表")
async def list_subscriptions(
self, event: AstrMessageEvent
) -> AsyncGenerator[object, None]:
"""列举当前会话的所有追番订阅。"""
if not self.subscription_service:
yield event.plain_result("❌ 订阅服务未就绪")
return
session_key = self._resolve_session_key(event)
result = self.subscription_service.list_subscriptions(session_key)
yield event.plain_result(result)
# --- LLM Tool 区 ---
@filter.llm_tool(name="bangumi_search")
@@ -399,6 +412,19 @@ class BangumiPlugin(Star):
async for result in self.search_service.handle_calendar(event):
yield result
@filter.llm_tool(name="bangumi_list_subscriptions")
async def llm_list_subscriptions(
self, event: AstrMessageEvent
) -> AsyncGenerator[object, None]:
"""列举当前会话已订阅的所有追番包含番剧名称、Bangumi ID 和当前更新集数。当用户询问"我订阅了哪些番""追番列表""我在追什么"时调用。"""
if not self.subscription_service:
yield event.plain_result("❌ 订阅服务未就绪")
return
session_key = self._resolve_session_key(event)
result = self.subscription_service.list_subscriptions(session_key)
yield event.plain_result(result)
@filter.llm_tool(name="bangumi_subscribe")
async def llm_subscribe(
self,