koishi-plugin-aka-ai-generator 0.7.8 → 0.7.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +78 -0
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -2459,6 +2459,45 @@ ${infoParts.join("\n")}`;
|
|
|
2459
2459
|
return addResult.message || "队列已满,请先查询已有任务";
|
|
2460
2460
|
}
|
|
2461
2461
|
await session.send("开始生成视频...");
|
|
2462
|
+
await new Promise((resolve) => setTimeout(resolve, 1e4));
|
|
2463
|
+
try {
|
|
2464
|
+
const firstStatus = await videoProvider.queryTaskStatus(taskId);
|
|
2465
|
+
if (firstStatus.status === "failed") {
|
|
2466
|
+
const errorMsg = firstStatus.error || "视频生成失败";
|
|
2467
|
+
await userManager.deletePendingVideoTask(taskId);
|
|
2468
|
+
return `视频生成失败:${sanitizeString(errorMsg)}`;
|
|
2469
|
+
}
|
|
2470
|
+
if (firstStatus.status === "completed" && firstStatus.videoUrl) {
|
|
2471
|
+
await session.send(import_koishi2.h.video(firstStatus.videoUrl));
|
|
2472
|
+
await recordUserUsage(session, "图生视频", videoCredits, false);
|
|
2473
|
+
await userManager.markPendingVideoTaskCharged(taskId);
|
|
2474
|
+
await userManager.deletePendingVideoTask(taskId);
|
|
2475
|
+
return "视频生成完成!";
|
|
2476
|
+
}
|
|
2477
|
+
await session.send("视频正在生成中,请稍候...");
|
|
2478
|
+
} catch (error) {
|
|
2479
|
+
logger.error("第一次查询视频状态失败", { taskId, error: sanitizeError(error) });
|
|
2480
|
+
}
|
|
2481
|
+
await new Promise((resolve) => setTimeout(resolve, config.videoMaxWaitTime * 1e3));
|
|
2482
|
+
try {
|
|
2483
|
+
const secondStatus = await videoProvider.queryTaskStatus(taskId);
|
|
2484
|
+
if (secondStatus.status === "completed" && secondStatus.videoUrl) {
|
|
2485
|
+
await session.send(import_koishi2.h.video(secondStatus.videoUrl));
|
|
2486
|
+
await recordUserUsage(session, "图生视频", videoCredits, false);
|
|
2487
|
+
await userManager.markPendingVideoTaskCharged(taskId);
|
|
2488
|
+
await userManager.deletePendingVideoTask(taskId);
|
|
2489
|
+
return "视频生成完成!";
|
|
2490
|
+
} else if (secondStatus.status === "failed") {
|
|
2491
|
+
const errorMsg = secondStatus.error || "视频生成失败";
|
|
2492
|
+
await userManager.deletePendingVideoTask(taskId);
|
|
2493
|
+
return `视频生成失败:${sanitizeString(errorMsg)}`;
|
|
2494
|
+
} else {
|
|
2495
|
+
return '视频仍在生成中,请稍后使用"查询视频"指令获取结果';
|
|
2496
|
+
}
|
|
2497
|
+
} catch (error) {
|
|
2498
|
+
logger.error("第二次查询视频状态失败", { taskId, error: sanitizeError(error) });
|
|
2499
|
+
return '视频生成中,请稍后使用"查询视频"指令获取结果';
|
|
2500
|
+
}
|
|
2462
2501
|
} catch (error) {
|
|
2463
2502
|
logger.error("视频生成任务提交失败", { userId, error: sanitizeError(error) });
|
|
2464
2503
|
if (createdTaskId) {
|
|
@@ -2627,6 +2666,45 @@ ${messages.join("\n")}`;
|
|
|
2627
2666
|
return addResult.message || "队列已满,请先查询已有任务";
|
|
2628
2667
|
}
|
|
2629
2668
|
await session.send(`开始生成视频(${style.commandName})...`);
|
|
2669
|
+
await new Promise((resolve) => setTimeout(resolve, 1e4));
|
|
2670
|
+
try {
|
|
2671
|
+
const firstStatus = await videoProvider.queryTaskStatus(taskId);
|
|
2672
|
+
if (firstStatus.status === "failed") {
|
|
2673
|
+
const errorMsg = firstStatus.error || "视频生成失败";
|
|
2674
|
+
await userManager.deletePendingVideoTask(taskId);
|
|
2675
|
+
return `视频生成失败:${sanitizeString(errorMsg)}`;
|
|
2676
|
+
}
|
|
2677
|
+
if (firstStatus.status === "completed" && firstStatus.videoUrl) {
|
|
2678
|
+
await session.send(import_koishi2.h.video(firstStatus.videoUrl));
|
|
2679
|
+
await recordUserUsage(session, style.commandName, videoCredits, false);
|
|
2680
|
+
await userManager.markPendingVideoTaskCharged(taskId);
|
|
2681
|
+
await userManager.deletePendingVideoTask(taskId);
|
|
2682
|
+
return "视频生成完成!";
|
|
2683
|
+
}
|
|
2684
|
+
await session.send("视频正在生成中,请稍候...");
|
|
2685
|
+
} catch (error) {
|
|
2686
|
+
logger.error("第一次查询视频状态失败", { taskId, error: sanitizeError(error) });
|
|
2687
|
+
}
|
|
2688
|
+
await new Promise((resolve) => setTimeout(resolve, config.videoMaxWaitTime * 1e3));
|
|
2689
|
+
try {
|
|
2690
|
+
const secondStatus = await videoProvider.queryTaskStatus(taskId);
|
|
2691
|
+
if (secondStatus.status === "completed" && secondStatus.videoUrl) {
|
|
2692
|
+
await session.send(import_koishi2.h.video(secondStatus.videoUrl));
|
|
2693
|
+
await recordUserUsage(session, style.commandName, videoCredits, false);
|
|
2694
|
+
await userManager.markPendingVideoTaskCharged(taskId);
|
|
2695
|
+
await userManager.deletePendingVideoTask(taskId);
|
|
2696
|
+
return "视频生成完成!";
|
|
2697
|
+
} else if (secondStatus.status === "failed") {
|
|
2698
|
+
const errorMsg = secondStatus.error || "视频生成失败";
|
|
2699
|
+
await userManager.deletePendingVideoTask(taskId);
|
|
2700
|
+
return `视频生成失败:${sanitizeString(errorMsg)}`;
|
|
2701
|
+
} else {
|
|
2702
|
+
return '视频仍在生成中,请稍后使用"查询视频"指令获取结果';
|
|
2703
|
+
}
|
|
2704
|
+
} catch (error) {
|
|
2705
|
+
logger.error("第二次查询视频状态失败", { taskId, error: sanitizeError(error) });
|
|
2706
|
+
return '视频生成中,请稍后使用"查询视频"指令获取结果';
|
|
2707
|
+
}
|
|
2630
2708
|
} catch (error) {
|
|
2631
2709
|
logger.error("视频风格转换任务提交失败", { userId, style: style.commandName, error: sanitizeError(error) });
|
|
2632
2710
|
if (createdTaskId) {
|