From 358318c734fa7e68d1b6862e3702e181c1c56d7b Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 30 Mar 2026 17:41:22 +0300 Subject: [PATCH] commands/imagepack: use double puppet for fetching matrix packs --- go.mod | 2 +- go.sum | 4 ++-- pkg/connector/imagepack.go | 9 +++++++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/go.mod b/go.mod index ecb6d0cf..268e75a2 100644 --- a/go.mod +++ b/go.mod @@ -42,7 +42,7 @@ require ( golang.org/x/sync v0.20.0 golang.org/x/tools v0.43.0 gopkg.in/yaml.v3 v3.0.1 - maunium.net/go/mautrix v0.26.5-0.20260330095005-3730b6ed4c48 + maunium.net/go/mautrix v0.26.5-0.20260330144053-0d9c68b36f47 rsc.io/qr v0.2.0 ) diff --git a/go.sum b/go.sum index 9c9c83f3..912d7bbd 100644 --- a/go.sum +++ b/go.sum @@ -236,7 +236,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= maunium.net/go/mauflag v1.0.0 h1:YiaRc0tEI3toYtJMRIfjP+jklH45uDHtT80nUamyD4M= maunium.net/go/mauflag v1.0.0/go.mod h1:nLivPOpTpHnpzEh8jEdSL9UqO9+/KBJFmNRlwKfkPeA= -maunium.net/go/mautrix v0.26.5-0.20260330095005-3730b6ed4c48 h1:Dg67oiigglPz3tWy1aYv1xE1+307QoalenlhbRFdk0s= -maunium.net/go/mautrix v0.26.5-0.20260330095005-3730b6ed4c48/go.mod h1:RUSMBPky3jhXB7Ux+AptfkEvFlJ4ajZKCYiXI8YzxVE= +maunium.net/go/mautrix v0.26.5-0.20260330144053-0d9c68b36f47 h1:8e6GAHalmZBU1SA4NfJmsGTCdcc5yAfPboH1OtEEQmc= +maunium.net/go/mautrix v0.26.5-0.20260330144053-0d9c68b36f47/go.mod h1:RUSMBPky3jhXB7Ux+AptfkEvFlJ4ajZKCYiXI8YzxVE= rsc.io/qr v0.2.0 h1:6vBLea5/NRMVTz8V66gipeLycZMl/+UlFmk8DvqQ6WY= rsc.io/qr v0.2.0/go.mod h1:IF+uZjkb9fqyeF/4tlBoynqmQxUoPfWEKh921coOuXs= diff --git a/pkg/connector/imagepack.go b/pkg/connector/imagepack.go index 30d74604..95b70cc2 100644 --- a/pkg/connector/imagepack.go +++ b/pkg/connector/imagepack.go @@ -81,9 +81,14 @@ func (t *TelegramClient) fnUploadEmojiPack(ce *commands.Event) { ce.Reply("Usage: `$cmdprefix emoji-pack upload `") return } - mx, ok := t.main.Bridge.Matrix.(bridgev2.MatrixConnectorWithArbitraryRoomState) + dbl := ce.User.DoublePuppet(ce.Ctx) + if dbl == nil { + ce.Reply("Double puppeting is required to fetch emoji packs from Matrix") + return + } + mx, ok := dbl.(bridgev2.MatrixAPIWithArbitraryRoomState) if !ok { - ce.Reply("Matrix connector does not support fetching room state") + ce.Reply("Matrix connector does not implement required interface") return } tgPackShortcode := ce.Args[0]