From 8b3707b0ee88e63fcf2d35990d817cbdd2797e2e Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 13 Apr 2026 12:23:36 +0300 Subject: [PATCH] handlematrix: redact previous sponsored message when sending new one --- pkg/connector/handlematrix.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pkg/connector/handlematrix.go b/pkg/connector/handlematrix.go index 89aca49b..0d28dc1f 100644 --- a/pkg/connector/handlematrix.go +++ b/pkg/connector/handlematrix.go @@ -215,6 +215,21 @@ func (tc *TelegramClient) pollSponsoredMessage(ctx context.Context, portal *brid if err != nil { return fmt.Errorf("failed to send sponsored message: %w", err) } + oldSponsoredMessageMXID := meta.SponsoredMessageEventID + if oldSponsoredMessageMXID != "" { + _, err = tc.main.Bridge.Bot.SendMessage(ctx, portal.MXID, event.EventRedaction, &event.Content{ + Parsed: &event.RedactionEventContent{ + Reason: "new sponsored message sent", + Redacts: oldSponsoredMessageMXID, + }, + Raw: map[string]any{ + "com.beeper.dont_render_redacted_placeholder": true, + }, + }, &bridgev2.MatrixSendExtra{Timestamp: time.Now()}) + if err != nil { + zerolog.Ctx(ctx).Warn().Err(err).Msg("Failed to redact old sponsored message after sending new one") + } + } meta.SponsoredMessageEventID = sendResp.EventID zerolog.Ctx(ctx).Debug(). Stringer("event_id", sendResp.EventID).