diff --git a/apps/vocal.js b/apps/vocal.js index 805b64f..e6e1e90 100644 --- a/apps/vocal.js +++ b/apps/vocal.js @@ -86,6 +86,10 @@ export class Vocal extends plugin { } let songs = await client.createSong(description) + if (!songs || songs.length === 0) { + e.reply('生成失败,可能是提示词太长或者违规,请检查日志') + return + } let messages = ['提示词:' + description] for (let song of songs) { messages.push(`歌名:${song.title}\n风格: ${song.metadata.tags}\n长度: ${lodash.round(song.metadata.duration, 0)}秒\n歌词:\n${song.metadata.prompt}\n`) diff --git a/client/SunoClient.js b/client/SunoClient.js index fc87109..70bd0c9 100644 --- a/client/SunoClient.js +++ b/client/SunoClient.js @@ -75,8 +75,8 @@ export class SunoClient { } let queryData = await queryRes.json() logger.debug(queryData) - allDone = queryData.every(clip => clip.status === 'complete') - songs = queryData + allDone = queryData.every(clip => clip.status === 'complete' || clip.status === 'error') + songs = queryData.filter(clip => clip.status === 'complete') } catch (err) { console.error(err) }