diff --git a/apps/tools.js b/apps/tools.js index b77812a..3272ed5 100644 --- a/apps/tools.js +++ b/apps/tools.js @@ -353,7 +353,13 @@ export class tools extends plugin { // 如果有ck 并且 有openai的key if (this.biliSessData && this.openaiApiKey) { - const prompt = await getBiliGptInputText(title, aid, cid); + let prompt; + try { + prompt = await getBiliGptInputText(title, aid, cid); + } catch (err) { + logger.error("总结失败,可能是没有弹幕或者网络问题!"); + return true; + } const response = await this.chatGptClient.sendMessage(prompt); // 暂时不设计上下文 e.reply(response.response); diff --git a/utils/biliSummary.js b/utils/biliSummary.js index 63effa7..5710a1b 100644 --- a/utils/biliSummary.js +++ b/utils/biliSummary.js @@ -28,7 +28,10 @@ export async function getBiliGptInputText(title, aid, cid, shouldShowTimestamp = commonConfig, ); const subtitles = (await resp.json()).data.subtitle.subtitles; - const res = await fetch(`http:${subtitles[0].subtitle_url}`); + const res = await fetch(`http:${subtitles[0]?.subtitle_url}`); + if (_.isUndefined(res)) { + throw new Error(""); + } const subtitlesData = (await res.json()).body; const subtitleTimestamp = reduceBilibiliSubtitleTimestamp(subtitlesData, shouldShowTimestamp); const inputText = getSmallSizeTranscripts(subtitleTimestamp, subtitleTimestamp);