From 171b6219998891c8c8e134f2b318edd805373166 Mon Sep 17 00:00:00 2001 From: Sumner Evans Date: Wed, 2 Oct 2024 10:12:11 -0600 Subject: [PATCH] client: implement MuteHandlingNetworkAPI Signed-off-by: Sumner Evans --- pkg/connector/client.go | 1 + pkg/connector/telegram.go | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/pkg/connector/client.go b/pkg/connector/client.go index b33a48f6..c114dc0d 100644 --- a/pkg/connector/client.go +++ b/pkg/connector/client.go @@ -78,6 +78,7 @@ var ( _ bridgev2.ContactListingNetworkAPI = (*TelegramClient)(nil) _ bridgev2.UserSearchingNetworkAPI = (*TelegramClient)(nil) _ bridgev2.GroupCreatingNetworkAPI = (*TelegramClient)(nil) + _ bridgev2.MuteHandlingNetworkAPI = (*TelegramClient)(nil) ) type UpdateDispatcher struct { diff --git a/pkg/connector/telegram.go b/pkg/connector/telegram.go index 65a9ab42..5e8ed6e0 100644 --- a/pkg/connector/telegram.go +++ b/pkg/connector/telegram.go @@ -742,3 +742,17 @@ func (t *TelegramClient) onNotifySettings(ctx context.Context, update *tg.Update }) return nil } + +func (t *TelegramClient) HandleMute(ctx context.Context, msg *bridgev2.MatrixMute) error { + inputPeer, err := t.inputPeerForPortalID(ctx, msg.Portal.ID) + if err != nil { + return err + } + _, err = t.client.API().AccountUpdateNotifySettings(ctx, &tg.AccountUpdateNotifySettingsRequest{ + Peer: &tg.InputNotifyPeer{Peer: inputPeer}, + Settings: tg.InputPeerNotifySettings{ + MuteUntil: int(msg.Content.GetMutedUntilTime().Unix()), + }, + }) + return err +}