Skip to content

Commit 9eae335

Browse files
committed
msgconv/from-whatsapp: bundle raw data in event for unknown messages
1 parent f4a507b commit 9eae335

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

pkg/msgconv/wa-misc.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ package msgconv
1818

1919
import (
2020
"context"
21+
"encoding/base64"
2122
"fmt"
2223
"html/template"
2324
"strings"
@@ -27,6 +28,7 @@ import (
2728
"go.mau.fi/util/exerrors"
2829
"go.mau.fi/whatsmeow/proto/waE2E"
2930
"go.mau.fi/whatsmeow/types"
31+
"google.golang.org/protobuf/proto"
3032
"maunium.net/go/mautrix/bridgev2"
3133
"maunium.net/go/mautrix/bridgev2/database"
3234
"maunium.net/go/mautrix/event"
@@ -36,12 +38,19 @@ import (
3638
)
3739

3840
func (mc *MessageConverter) convertUnknownMessage(ctx context.Context, msg *waE2E.Message) (*bridgev2.ConvertedMessagePart, *waE2E.ContextInfo) {
41+
data, _ := proto.Marshal(msg)
42+
encodedMsg := base64.StdEncoding.EncodeToString(data)
43+
extra := make(map[string]any)
44+
if len(encodedMsg) < 16*1024 {
45+
extra["fi.mau.whatsapp.unsupported_message_data"] = encodedMsg
46+
}
3947
return &bridgev2.ConvertedMessagePart{
4048
Type: event.EventMessage,
4149
Content: &event.MessageEventContent{
4250
MsgType: event.MsgNotice,
4351
Body: "Unknown message type, please view it on the WhatsApp app",
4452
},
53+
Extra: extra,
4554
}, nil
4655
}
4756

0 commit comments

Comments
 (0)