From 3b7a944deb33fe27d8845c804556d17eb9ae2cfa Mon Sep 17 00:00:00 2001 From: bor Date: Thu, 1 Jan 2026 16:26:37 +0330 Subject: [PATCH 1/2] feat: exposed the DropAuthor flag to the ForwardBuilder helper --- telegram/message/forward.go | 8 ++++++++ telegram/message/forward_test.go | 15 +++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/telegram/message/forward.go b/telegram/message/forward.go index 75a33df9a9..1770f587ab 100644 --- a/telegram/message/forward.go +++ b/telegram/message/forward.go @@ -14,6 +14,7 @@ type ForwardBuilder struct { from tg.InputPeerClass ids []int withMyScore bool + dropAuthor bool } // WithMyScore sets flag to include your score in the forwarded game. @@ -22,6 +23,12 @@ func (b *ForwardBuilder) WithMyScore() *ForwardBuilder { return b } +// DropAuthor sets flag to include your score in the forwarded game. +func (b *ForwardBuilder) DropAuthor() *ForwardBuilder { + b.dropAuthor = true + return b +} + // Send sends forwarded messages. func (b *ForwardBuilder) Send(ctx context.Context) (tg.UpdatesClass, error) { p, err := b.builder.peer(ctx) @@ -37,6 +44,7 @@ func (b *ForwardBuilder) Send(ctx context.Context) (tg.UpdatesClass, error) { ID: b.ids, ToPeer: p, ScheduleDate: b.builder.scheduleDate, + DropAuthor: b.dropAuthor, }) if err != nil { return nil, errors.Wrap(err, "send inline bot result") diff --git a/telegram/message/forward_test.go b/telegram/message/forward_test.go index 4fa5a79808..65ff2b4b0d 100644 --- a/telegram/message/forward_test.go +++ b/telegram/message/forward_test.go @@ -22,6 +22,7 @@ func TestBuilder_ForwardIDs(t *testing.T) { require.Len(t, req.ID, 1) require.Equal(t, 10, req.ID[0]) require.True(t, req.WithMyScore) + require.False(t, req.DropAuthor) }).ThenResult(&tg.Updates{}) _, err := sender.Self().ForwardIDs(&tg.InputPeerSelf{}, 10).WithMyScore().Send(ctx) require.NoError(t, err) @@ -34,7 +35,21 @@ func TestBuilder_ForwardIDs(t *testing.T) { require.Len(t, req.ID, 1) require.Equal(t, 10, req.ID[0]) require.True(t, req.WithMyScore) + require.False(t, req.DropAuthor) }).ThenRPCErr(testRPCError()) _, err = sender.Self().ForwardIDs(&tg.InputPeerSelf{}, 10).WithMyScore().Send(ctx) require.Error(t, err) + + mock.ExpectFunc(func(b bin.Encoder) { + req, ok := b.(*tg.MessagesForwardMessagesRequest) + require.True(t, ok) + require.Equal(t, &tg.InputPeerSelf{}, req.ToPeer) + require.Equal(t, &tg.InputPeerSelf{}, req.FromPeer) + require.Len(t, req.ID, 1) + require.Equal(t, 10, req.ID[0]) + require.False(t, req.WithMyScore) + require.True(t, req.DropAuthor) + }).ThenRPCErr(testRPCError()) + _, err = sender.Self().ForwardIDs(&tg.InputPeerSelf{}, 10).DropAuthor().Send(ctx) + require.Error(t, err) } From fdac58678f0b7eb8e71ff5d9784e96c98dc7a15e Mon Sep 17 00:00:00 2001 From: bor Date: Thu, 1 Jan 2026 16:39:25 +0330 Subject: [PATCH 2/2] docs: corrected the comment --- telegram/message/forward.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/telegram/message/forward.go b/telegram/message/forward.go index 1770f587ab..4c54fa9c61 100644 --- a/telegram/message/forward.go +++ b/telegram/message/forward.go @@ -23,7 +23,7 @@ func (b *ForwardBuilder) WithMyScore() *ForwardBuilder { return b } -// DropAuthor sets flag to include your score in the forwarded game. +// DropAuthor sets flag to forward messages without quoting the original author. func (b *ForwardBuilder) DropAuthor() *ForwardBuilder { b.dropAuthor = true return b