mirror of
https://github.com/Wx-2025/ST-Amily2-Chat-Optimisation.git
synced 2026-06-06 19:45:50 +00:00
39 lines
1.3 KiB
JavaScript
39 lines
1.3 KiB
JavaScript
import { getContext, extension_settings } from "/scripts/extensions.js";
|
|
import { extensionName } from "../utils/settings.js";
|
|
import { processMessageUpdate } from './table-system/TableSystemService.js';
|
|
// MessagePipeline 通过 Bus 查询;此 import 仅作启动时注册的触发
|
|
import './pipeline/MessagePipeline.js';
|
|
|
|
export async function onMessageReceived(data) {
|
|
window.lastPreOptimizationResult = null;
|
|
document.dispatchEvent(new CustomEvent('preOptimizationTextUpdated'));
|
|
|
|
const context = getContext();
|
|
if ((data && data.is_user) || context.isWaitingForUserInput) { return; }
|
|
|
|
const settings = extension_settings[extensionName];
|
|
const chat = context.chat;
|
|
if (!chat || chat.length === 0) { return; }
|
|
|
|
const latestMessage = chat[chat.length - 1];
|
|
if (latestMessage.is_user) { return; }
|
|
|
|
const pipeline = window.Amily2Bus?.query('MessagePipeline');
|
|
if (!pipeline) {
|
|
console.error('[Amily2-Events] MessagePipeline 服务未就绪,跳过消息处理。');
|
|
return;
|
|
}
|
|
await pipeline.execute({
|
|
messageId: chat.length - 1,
|
|
latestMessage,
|
|
chat,
|
|
settings,
|
|
optimizationResult: null,
|
|
});
|
|
}
|
|
|
|
// Kept for SWIPED / EDITED event handlers in index.js
|
|
export async function handleTableUpdate(messageId) {
|
|
await processMessageUpdate(messageId);
|
|
}
|