From ed1a5356f91283ba76e14f45ba97f1204cc1bfaab196f99ea5dd1d6f1df8b57d Mon Sep 17 00:00:00 2001 From: aslan Date: Mon, 29 Dec 2025 00:45:14 +0100 Subject: [PATCH] Add support for replied messages --- src/modules/ai/ai.ts | 10 +++++++--- src/modules/module.ts | 3 +++ src/modules/types.ts | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/modules/ai/ai.ts b/src/modules/ai/ai.ts index 3d3ba62..59d67f3 100644 --- a/src/modules/ai/ai.ts +++ b/src/modules/ai/ai.ts @@ -33,6 +33,7 @@ const onAI = async ( roomId: string, sender: string, repliedMessage?: string, + repliedSender?: string, ) => { const user = getUserById(sender); @@ -67,12 +68,15 @@ const onAI = async ( } as IAIInstructions; const username = getUserName(user); - textMod = `${username}: ${textMod}`; + let repliedUsername = ""; + if (repliedSender) { + getUserName(getUserById(repliedSender)); + } const responseAI = await getTextGemini( instructions, - textMod, - repliedMessage, + `${username}: ${textMod}`, + `${repliedUsername}: ${repliedMessage}`, ); user.aiCost += responseAI.tokens * prices.text; diff --git a/src/modules/module.ts b/src/modules/module.ts index 91734da..acb08e5 100644 --- a/src/modules/module.ts +++ b/src/modules/module.ts @@ -86,10 +86,12 @@ const registerModules = (client: MatrixClient) => { const relatesTo = event.getContent()["m.relates_to"]; const replyToId = relatesTo?.["m.in_reply_to"]?.event_id; let repliedMessage: string | undefined; + let repliedSender: string | undefined; if (replyToId) { const repliedEvent = await client.fetchRoomEvent(roomId, replyToId); const repliedContent = repliedEvent.content; + repliedSender = repliedEvent.sender; if (repliedContent) { if (repliedContent.body) { @@ -119,6 +121,7 @@ const registerModules = (client: MatrixClient) => { roomId, sender, repliedMessage, + repliedSender, ); } }); diff --git a/src/modules/types.ts b/src/modules/types.ts index bd2be07..00752a3 100644 --- a/src/modules/types.ts +++ b/src/modules/types.ts @@ -14,6 +14,7 @@ interface ICallback { roomId: string, sender: string, repliedMessage?: string, + repliedSender?: string, ) => void; }