diff --git a/telegram/peers/members/channel_member.go b/telegram/peers/members/channel_member.go index 4ea6c48d92..0e40098fdf 100644 --- a/telegram/peers/members/channel_member.go +++ b/telegram/peers/members/channel_member.go @@ -1,6 +1,7 @@ package members import ( + "context" "time" "github.com/gotd/td/telegram/peers" @@ -106,3 +107,10 @@ func (c ChannelMember) InvitedBy() (peers.User, bool) { func (c ChannelMember) User() peers.User { return c.user } + +// Kick kicks this member. +// +// If revokeHistory is set, will delete all messages from this member. +func (c ChannelMember) Kick(ctx context.Context, revokeHistory bool) error { + return c.parent.Kick(ctx, c.user.InputUser(), revokeHistory) +} diff --git a/telegram/peers/members/chat_member.go b/telegram/peers/members/chat_member.go index e818a3cc56..e0639b45c6 100644 --- a/telegram/peers/members/chat_member.go +++ b/telegram/peers/members/chat_member.go @@ -1,6 +1,7 @@ package members import ( + "context" "time" "github.com/gotd/td/telegram/peers" @@ -67,3 +68,10 @@ func (c ChatMember) InvitedBy() (peers.User, bool) { func (c ChatMember) User() peers.User { return c.user } + +// Kick kicks this member. +// +// If revokeHistory is set, will delete all messages from this member. +func (c ChatMember) Kick(ctx context.Context, revokeHistory bool) error { + return c.parent.Kick(ctx, c.user.InputUser(), revokeHistory) +} diff --git a/telegram/peers/members/members.go b/telegram/peers/members/members.go index 39fde5b4ff..dfa4caac14 100644 --- a/telegram/peers/members/members.go +++ b/telegram/peers/members/members.go @@ -24,6 +24,10 @@ type Member interface { InvitedBy() (peers.User, bool) // User returns member User object. User() peers.User + // Kick kicks this member. + // + // If revokeHistory is set, will delete all messages from this member. + Kick(ctx context.Context, revokeHistory bool) error } // Callback is type for member iterator callback.