diff --git a/go.mod b/go.mod index fd8e6386..8411e9f4 100644 --- a/go.mod +++ b/go.mod @@ -9,7 +9,7 @@ require ( go.mau.fi/util v0.5.0 go.mau.fi/zerozap v0.1.1 go.uber.org/zap v1.27.0 - maunium.net/go/mautrix v0.19.0-beta.1.0.20240620160042-8e1fdfda2c1e + maunium.net/go/mautrix v0.19.0-beta.1.0.20240624171009-09a8a5104a6c ) require ( diff --git a/go.sum b/go.sum index 47f8c210..1bdcaee1 100644 --- a/go.sum +++ b/go.sum @@ -108,8 +108,8 @@ 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.19.0-beta.1.0.20240620160042-8e1fdfda2c1e h1:f5Y1xtNziKs7heoTNL5q86+dDG7kyJVNY3/C+WrefQg= -maunium.net/go/mautrix v0.19.0-beta.1.0.20240620160042-8e1fdfda2c1e/go.mod h1:cxv1w6+syudmEpOewHYIQT9yO7TM5UOWmf6xEBVI4H4= +maunium.net/go/mautrix v0.19.0-beta.1.0.20240624171009-09a8a5104a6c h1:jm1n2dI2mVDnmrxFgRA1a3MfYdkwBYgKseVKgJHv/a4= +maunium.net/go/mautrix v0.19.0-beta.1.0.20240624171009-09a8a5104a6c/go.mod h1:cxv1w6+syudmEpOewHYIQT9yO7TM5UOWmf6xEBVI4H4= nhooyr.io/websocket v1.8.11 h1:f/qXNc2/3DpoSZkHt1DQu6rj4zGC8JmkkLkWss0MgN0= nhooyr.io/websocket v1.8.11/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= rsc.io/qr v0.2.0 h1:6vBLea5/NRMVTz8V66gipeLycZMl/+UlFmk8DvqQ6WY= diff --git a/pkg/connector/client.go b/pkg/connector/client.go index 18f3c1b5..98826084 100644 --- a/pkg/connector/client.go +++ b/pkg/connector/client.go @@ -293,3 +293,19 @@ func (t *TelegramClient) LogoutRemote(ctx context.Context) { func (t *TelegramClient) IsThisUser(ctx context.Context, userID networkid.UserID) bool { return userID == networkid.UserID(t.userLogin.ID) } + +func (t *TelegramClient) GetCapabilities(ctx context.Context, portal *bridgev2.Portal) *bridgev2.NetworkRoomCapabilities { + return &bridgev2.NetworkRoomCapabilities{ + FormattedText: true, + UserMentions: true, + RoomMentions: true, // TODO? + LocationMessages: true, + Captions: true, + Threads: false, // TODO + Replies: true, + Edits: true, + Deletes: true, + ReadReceipts: true, + Reactions: true, + } +} diff --git a/pkg/connector/connector.go b/pkg/connector/connector.go index e98bb865..bce8f994 100644 --- a/pkg/connector/connector.go +++ b/pkg/connector/connector.go @@ -103,3 +103,9 @@ func (tg *TelegramConnector) GetName() bridgev2.BridgeName { DefaultPort: 29317, } } + +func (tg *TelegramConnector) GetCapabilities() *bridgev2.NetworkGeneralCapabilities { + return &bridgev2.NetworkGeneralCapabilities{ + DisappearingMessages: true, + } +} diff --git a/pkg/connector/msgconv/tomatrix.go b/pkg/connector/msgconv/tomatrix.go index f03c3679..64a312e0 100644 --- a/pkg/connector/msgconv/tomatrix.go +++ b/pkg/connector/msgconv/tomatrix.go @@ -312,7 +312,7 @@ func (mc *MessageConverter) convertContact(media tg.MessageMediaClass) *bridgev2 content.Format = event.FormatHTML content.FormattedBody = fmt.Sprintf( `Shared contact info for %s: %s`, - mc.connector.FormatGhostMXID(ids.MakeUserID(contact.UserID)), + mc.connector.GhostIntent(ids.MakeUserID(contact.UserID)).GetMXID(), html.EscapeString(name), html.EscapeString(formattedPhone), )