mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-11 17:53:44 +00:00
fix(telegram): link forwarded messages with comments (#9720)
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 5f81061b5f
Co-authored-by: mcaxtr <7562095+mcaxtr@users.noreply.github.com>
Co-authored-by: obviyus <22031114+obviyus@users.noreply.github.com>
Reviewed-by: @obviyus
This commit is contained in:
@@ -615,14 +615,22 @@ export const buildTelegramMessageContext = async ({
|
||||
|
||||
const replyTarget = describeReplyTarget(msg);
|
||||
const forwardOrigin = normalizeForwardedContext(msg);
|
||||
// Build forward annotation for reply target if it was itself a forwarded message (issue #9619)
|
||||
const replyForwardAnnotation = replyTarget?.forwardedFrom
|
||||
? `[Forwarded from ${replyTarget.forwardedFrom.from}${
|
||||
replyTarget.forwardedFrom.date
|
||||
? ` at ${new Date(replyTarget.forwardedFrom.date * 1000).toISOString()}`
|
||||
: ""
|
||||
}]\n`
|
||||
: "";
|
||||
const replySuffix = replyTarget
|
||||
? replyTarget.kind === "quote"
|
||||
? `\n\n[Quoting ${replyTarget.sender}${
|
||||
replyTarget.id ? ` id:${replyTarget.id}` : ""
|
||||
}]\n"${replyTarget.body}"\n[/Quoting]`
|
||||
}]\n${replyForwardAnnotation}"${replyTarget.body}"\n[/Quoting]`
|
||||
: `\n\n[Replying to ${replyTarget.sender}${
|
||||
replyTarget.id ? ` id:${replyTarget.id}` : ""
|
||||
}]\n${replyTarget.body}\n[/Replying]`
|
||||
}]\n${replyForwardAnnotation}${replyTarget.body}\n[/Replying]`
|
||||
: "";
|
||||
const forwardPrefix = forwardOrigin
|
||||
? `[Forwarded from ${forwardOrigin.from}${
|
||||
@@ -714,6 +722,15 @@ export const buildTelegramMessageContext = async ({
|
||||
ReplyToBody: replyTarget?.body,
|
||||
ReplyToSender: replyTarget?.sender,
|
||||
ReplyToIsQuote: replyTarget?.kind === "quote" ? true : undefined,
|
||||
// Forward context from reply target (issue #9619: forward + comment bundling)
|
||||
ReplyToForwardedFrom: replyTarget?.forwardedFrom?.from,
|
||||
ReplyToForwardedFromType: replyTarget?.forwardedFrom?.fromType,
|
||||
ReplyToForwardedFromId: replyTarget?.forwardedFrom?.fromId,
|
||||
ReplyToForwardedFromUsername: replyTarget?.forwardedFrom?.fromUsername,
|
||||
ReplyToForwardedFromTitle: replyTarget?.forwardedFrom?.fromTitle,
|
||||
ReplyToForwardedDate: replyTarget?.forwardedFrom?.date
|
||||
? replyTarget.forwardedFrom.date * 1000
|
||||
: undefined,
|
||||
ForwardedFrom: forwardOrigin?.from,
|
||||
ForwardedFromType: forwardOrigin?.fromType,
|
||||
ForwardedFromId: forwardOrigin?.fromId,
|
||||
|
||||
Reference in New Issue
Block a user