Skip to content

Commit 0535561

Browse files
authored
Merge pull request #1659 from zumoshi/main
telegram/message: exposed the DropAuthor flag for forwardMessage
2 parents fb1897b + fdac586 commit 0535561

File tree

2 files changed

+23
-0
lines changed

2 files changed

+23
-0
lines changed

telegram/message/forward.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ type ForwardBuilder struct {
1414
from tg.InputPeerClass
1515
ids []int
1616
withMyScore bool
17+
dropAuthor bool
1718
}
1819

1920
// WithMyScore sets flag to include your score in the forwarded game.
@@ -22,6 +23,12 @@ func (b *ForwardBuilder) WithMyScore() *ForwardBuilder {
2223
return b
2324
}
2425

26+
// DropAuthor sets flag to forward messages without quoting the original author.
27+
func (b *ForwardBuilder) DropAuthor() *ForwardBuilder {
28+
b.dropAuthor = true
29+
return b
30+
}
31+
2532
// Send sends forwarded messages.
2633
func (b *ForwardBuilder) Send(ctx context.Context) (tg.UpdatesClass, error) {
2734
p, err := b.builder.peer(ctx)
@@ -37,6 +44,7 @@ func (b *ForwardBuilder) Send(ctx context.Context) (tg.UpdatesClass, error) {
3744
ID: b.ids,
3845
ToPeer: p,
3946
ScheduleDate: b.builder.scheduleDate,
47+
DropAuthor: b.dropAuthor,
4048
})
4149
if err != nil {
4250
return nil, errors.Wrap(err, "send inline bot result")

telegram/message/forward_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ func TestBuilder_ForwardIDs(t *testing.T) {
2222
require.Len(t, req.ID, 1)
2323
require.Equal(t, 10, req.ID[0])
2424
require.True(t, req.WithMyScore)
25+
require.False(t, req.DropAuthor)
2526
}).ThenResult(&tg.Updates{})
2627
_, err := sender.Self().ForwardIDs(&tg.InputPeerSelf{}, 10).WithMyScore().Send(ctx)
2728
require.NoError(t, err)
@@ -34,7 +35,21 @@ func TestBuilder_ForwardIDs(t *testing.T) {
3435
require.Len(t, req.ID, 1)
3536
require.Equal(t, 10, req.ID[0])
3637
require.True(t, req.WithMyScore)
38+
require.False(t, req.DropAuthor)
3739
}).ThenRPCErr(testRPCError())
3840
_, err = sender.Self().ForwardIDs(&tg.InputPeerSelf{}, 10).WithMyScore().Send(ctx)
3941
require.Error(t, err)
42+
43+
mock.ExpectFunc(func(b bin.Encoder) {
44+
req, ok := b.(*tg.MessagesForwardMessagesRequest)
45+
require.True(t, ok)
46+
require.Equal(t, &tg.InputPeerSelf{}, req.ToPeer)
47+
require.Equal(t, &tg.InputPeerSelf{}, req.FromPeer)
48+
require.Len(t, req.ID, 1)
49+
require.Equal(t, 10, req.ID[0])
50+
require.False(t, req.WithMyScore)
51+
require.True(t, req.DropAuthor)
52+
}).ThenRPCErr(testRPCError())
53+
_, err = sender.Self().ForwardIDs(&tg.InputPeerSelf{}, 10).DropAuthor().Send(ctx)
54+
require.Error(t, err)
4055
}

0 commit comments

Comments
 (0)