Skip to content

Commit e80241f

Browse files
committed
feat: 优化STRM文件生成流程并添加消息发送功能
- 在STRM生成完成后,收集并发送所有账号的生成消息 - 隐藏账号用户名中的部分字符以保护隐私 - 更新剧集名称提取规则,避免使用文件名中的剧集标题
1 parent 05426c8 commit e80241f

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

‎src/index.js‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -679,8 +679,13 @@ AppDataSource.initialize().then(async () => {
679679
}
680680
});
681681
const strmService = new StrmService();
682+
const messages = [];
682683
for(const account of accounts) {
683-
strmService.generateAll(account, overwrite);
684+
const message = strmService.generateAll(account, overwrite);
685+
messages.push(message);
686+
}
687+
if (messages.length > 0) {
688+
messageUtil.sendMessage(messages.join('\n\n'));
684689
}
685690
res.json({ success: true, data: null });
686691
} catch (error) {

‎src/services/ai.js‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ class AIService {
192192
3. 每个剧集必须包含名称:
193193
* 优先使用所在文件夹的纯净的影视剧名称,不能包含年份、季数等信息
194194
* 如果需要从文件名中提取具体剧集名称时,需要清理:
195+
> 不要使用文件名中的剧集标题作为剧名
195196
> 不要使用文件名中的剧集名称(如"第1集")
196197
> 不要包含任何技术标记、格式标记、编码信息或音频标记
197198
* 保留纯���的剧集名称,确保与文件夹名称保持一致

‎src/services/strm.js‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -150,9 +150,9 @@ class StrmService {
150150
const mediaSuffixs = ConfigService.getConfigValue('task.mediaSuffix').split(';').map(suffix => suffix.toLowerCase());
151151

152152
await this._processDirectory(startPath, account, stats, mediaSuffixs, overwrite);
153-
153+
const userrname = account.username.replace(/(.{3}).*(.{4})/, '$1****$2');
154154
// 生成最终统计信息
155-
const message = `🎉生成STRM文件完成\n` +
155+
const message = `🎉账号: ${userrname}生成STRM文件完成\n` +
156156
`处理目录数: ${stats.processedDirs.size}\n` +
157157
`总文件数: ${stats.totalFiles}\n` +
158158
`成功数: ${stats.success}\n` +
@@ -166,7 +166,8 @@ class StrmService {
166166
failed: stats.failed,
167167
skipped: stats.skipped,
168168
totalFiles: stats.totalFiles,
169-
processedDirs: Array.from(stats.processedDirs)
169+
processedDirs: Array.from(stats.processedDirs),
170+
message: message
170171
};
171172

172173
} catch (error) {

0 commit comments

Comments
 (0)