@@ -138,6 +138,48 @@ def format_ranking_results(
138138
139139 return "\n " .join (lines )
140140
141+ @staticmethod
142+ def format_favorites (albums : list [dict ], folders : list [dict ], page : int = 1 ) -> str :
143+ """
144+ 格式化收藏夹结果
145+
146+ Args:
147+ albums: 收藏的本子列表
148+ folders: 收藏夹列表
149+ page: 当前页码
150+
151+ Returns:
152+ 格式化后的字符串
153+ """
154+ lines = []
155+ lines .append ("⭐ 我的收藏" )
156+ lines .append (f"📄 第 { page } 页" )
157+ lines .append ("━━━━━━━━━━━━━━━━━━━━━" )
158+
159+ if not albums :
160+ lines .append ("📭 收藏夹为空" )
161+ else :
162+ for i , album in enumerate (albums , 1 ):
163+ album_id = album .get ("id" , "" )
164+ title = album .get ("title" , "未知" )
165+ lines .append (f"{ i } . 【{ album_id } 】{ title } " )
166+
167+ # 显示收藏夹列表(如果有多个)
168+ if folders and len (folders ) > 1 :
169+ lines .append ("" )
170+ lines .append ("📁 收藏夹列表:" )
171+ for folder in folders :
172+ folder_id = folder .get ("id" , "" )
173+ folder_name = folder .get ("name" , "未知" )
174+ lines .append (f" • [{ folder_id } ] { folder_name } " )
175+
176+ lines .append ("" )
177+ lines .append ("━━━━━━━━━━━━━━━━━━━━━" )
178+ lines .append ("💡 使用 /jmfav <页码> 翻页" )
179+ lines .append ("💡 使用 /jmfav <页码> <收藏夹ID> 查看特定收藏夹" )
180+
181+ return "\n " .join (lines )
182+
141183 @staticmethod
142184 def format_download_result (result , pack_result = None ) -> str :
143185 """
@@ -222,12 +264,13 @@ def format_help() -> str:
222264/jmlogin <用户名> <密码> - 登录JM账号
223265/jmlogout - 登出账号
224266/jmstatus - 查看登录状态
267+ /jmfav - 查看我的收藏(需登录)
225268
226269【使用示例】
227270/jm 123456 - 下载ID为123456的本子
228271/jms 标签名 - 搜索包含该标签的漫画
229272/jmrank week - 查看周排行榜
230- /jmlogin user pw - 登录账号
273+ /jmfav 1 - 查看收藏夹第1页
231274
232275【说明】
233276• 下载的文件将自动打包发送
0 commit comments