Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nctalk: Images are not embedded in message when send from other messengers #2140

Open
mpietruschka opened this issue May 5, 2024 · 0 comments
Labels

Comments

@mpietruschka
Copy link

mpietruschka commented May 5, 2024

Describe the bug
Matterbridge: I'm using the master branch.
Nextcloud: 27.1.8

When I post an image to whatsapp its not embedded into the nctalk message. Instead the message holds a link to the matterbridge mediaserver. Same behaviour when send from telegram.

When I post an image in nctalk, then its transfered to whatsapp nicely.

Sending images between telegram and whatsapp works great.

Text messages are bridged perfectly.

UPDATE
I tested v1.26.0 (from source) and sending images from telegram to nctalk. It doesn't work.

To Reproduce

Nothings special.

Expected behavior
Send embedded images/media from whatsapp/other messengers to nctalk, too.

Screenshots/debug logs
image

image

Environment (please complete the following information):

I'm running Matterbridge in Docker build with the served Dockerfile_whatsappmulti

LOG


matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="Receiving message &proto.Message{state:impl.MessageState{NoUnkeyedLiterals:pragma.NoUnkeyedLiterals{}, DoNotCompare:pragma.DoNotCompare{}, DoNotCopy:pragma.DoNotCopy{}, atomicMessageInfo:(*impl.MessageInfo)(0xc0006b67c0)}, sizeCache:0, unknownFields:[]uint8(nil), Conversation:(*string)(nil), SenderKeyDistributionMessage:(*proto.SenderKeyDistributionMessage)(nil), ImageMessage:(*proto.ImageMessage)(0xc00044d500), ContactMessage:(*proto.ContactMessage)(nil), LocationMessage:(*proto.LocationMessage)(nil), ExtendedTextMessage:(*proto.ExtendedTextMessage)(nil), DocumentMessage:(*proto.DocumentMessage)(nil), AudioMessage:(*proto.AudioMessage)(nil), VideoMessage:(*proto.VideoMessage)(nil), Call:(*proto.Call)(nil), Chat:(*proto.Chat)(nil), ProtocolMessage:(*proto.ProtocolMessage)(nil), ContactsArrayMessage:(*proto.ContactsArrayMessage)(nil), HighlyStructuredMessage:(*proto.HighlyStructuredMessage)(nil), FastRatchetKeySenderKeyDistributionMessage:(*proto.SenderKeyDistributionMessage)(nil), SendPaymentMessage:(*proto.SendPaymentMessage)(nil), LiveLocationMessage:(*proto.LiveLocationMessage)(nil), RequestPaymentMessage:(*proto.RequestPaymentMessage)(nil), DeclinePaymentRequestMessage:(*proto.DeclinePaymentRequestMessage)(nil), CancelPaymentRequestMessage:(*proto.CancelPaymentRequestMessage)(nil), TemplateMessage:(*proto.TemplateMessage)(nil), StickerMessage:(*proto.StickerMessage)(nil), GroupInviteMessage:(*proto.GroupInviteMessage)(nil), TemplateButtonReplyMessage:(*proto.TemplateButtonReplyMessage)(nil), ProductMessage:(*proto.ProductMessage)(nil), DeviceSentMessage:(*proto.DeviceSentMessage)(nil), MessageContextInfo:(*proto.MessageContextInfo)(nil), ListMessage:(*proto.ListMessage)(nil), ViewOnceMessage:(*proto.FutureProofMessage)(nil), OrderMessage:(*proto.OrderMessage)(nil), ListResponseMessage:(*proto.ListResponseMessage)(nil), EphemeralMessage:(*proto.FutureProofMessage)(nil), InvoiceMessage:(*proto.InvoiceMessage)(nil), ButtonsMessage:(*proto.ButtonsMessage)(nil), ButtonsResponseMessage:(*proto.ButtonsResponseMessage)(nil), PaymentInviteMessage:(*proto.PaymentInviteMessage)(nil), InteractiveMessage:(*proto.InteractiveMessage)(nil), ReactionMessage:(*proto.ReactionMessage)(nil), StickerSyncRmrMessage:(*proto.StickerSyncRMRMessage)(nil), InteractiveResponseMessage:(*proto.InteractiveResponseMessage)(nil), PollCreationMessage:(*proto.PollCreationMessage)(nil), PollUpdateMessage:(*proto.PollUpdateMessage)(nil), KeepInChatMessage:(*proto.KeepInChatMessage)(nil), DocumentWithCaptionMessage:(*proto.FutureProofMessage)(nil), RequestPhoneNumberMessage:(*proto.RequestPhoneNumberMessage)(nil), ViewOnceMessageV2:(*proto.FutureProofMessage)(nil), EncReactionMessage:(*proto.EncReactionMessage)(nil), EditedMessage:(*proto.FutureProofMessage)(nil), ViewOnceMessageV2Extension:(*proto.FutureProofMessage)(nil), PollCreationMessageV2:(*proto.PollCreationMessage)(nil), ScheduledCallCreationMessage:(*proto.ScheduledCallCreationMessage)(nil), GroupMentionedMessage:(*proto.FutureProofMessage)(nil), PinInChatMessage:(*proto.PinInChatMessage)(nil), PollCreationMessageV3:(*proto.PollCreationMessage)(nil), ScheduledCallEditMessage:(*proto.ScheduledCallEditMessage)(nil), PtvMessage:(*proto.VideoMessage)(nil), BotInvokeMessage:(*proto.FutureProofMessage)(nil), EncCommentMessage:(*proto.EncCommentMessage)(nil)}" func=handleMessage file="bridge/whatsappmulti/handlers.go:107" prefix=whatsapp
matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="Trying to download 3A8D508A4F3211EC3799.jpg with type image/jpeg" func=handleImageMessage file="bridge/whatsappmulti/handlers.go:242" prefix=whatsapp
matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="Download OK "3A8D508A4F3211EC3799.jpg" 176946" func=HandleDownloadData2 file="bridge/helper/helper.go:183" prefix=whatsapp
matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="<= Sending message from XXX@s.whatsapp.net on whatsapp.XXX to gateway" func=handleImageMessage file="bridge/whatsappmulti/handlers.go:254" prefix=whatsapp
matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="<= Message is config.Message{Text:"", Channel:"XXX", Username:"XXX P", UserID:"XXX@s.whatsapp.net", Avatar:"xxx", Account:"whatsapp.XXX", Event:"", Protocol:"whatsapp", Gateway:"", ParentID:"", Timestamp:time.Date(1, time.January, 1, 0, 0, 0, 0, time.UTC), ID:"XXX@s.whatsapp.net/3A8D508A4F3211EC3799", Extra:map[string][]interface {}{"file":[]interface {}{config.FileInfo{Name:"3A8D508A4F3211EC3799.jpg", Data:(*[]uint8)(0xc0000fe000), Comment:"", URL:"", Size:0, Avatar:false, SHA:"", NativeID:""}}}}" func=handleImageMessage file="bridge/whatsappmulti/handlers.go:255" prefix=whatsapp
matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="mediaserver path placing file: /mediaserver/104d0511/3A8D508A4F3211EC3799.jpg" func=handleFilesLocal file="gateway/handlers.go:158" prefix=gateway
matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="mediaserver download URL = XXX/3A8D508A4F3211EC3799.jpg" func=handleFiles file="gateway/handlers.go:112" prefix=gateway
matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="=> Sending config.Message{Text:"", Channel:"1xxx", Username:"XXX P", UserID:"XXX@s.whatsapp.net", Avatar:"xxx", Account:"whatsapp.XXX", Event:"", Protocol:"whatsapp", Gateway:"matterbottest", ParentID:"", Timestamp:time.Date(2024, time.May, 5, 13, 23, 1, 899666261, time.Local), ID:"XXX@s.whatsapp.net/3A8D508A4F3211EC3799", Extra:map[string][]interface {}{"file":[]interface {}{config.FileInfo{Name:"3A8D508A4F3211EC3799.jpg", Data:(*[]uint8)(0xc0000fe000), Comment:"", URL:"XXX/3A8D508A4F3211EC3799.jpg", Size:0, Avatar:false, SHA:"104d0511", NativeID:""}}}} from whatsapp.matterbot (xxx) to telegram.XXX (XXX)" func=SendMessage file="gateway/gateway.go:499" prefix=gateway
matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="=> Receiving config.Message{Text:"", Channel:"XXX", Username:"[whatsapp] &lt;XXX P&gt; ", UserID:"XXX@s.whatsapp.net", Avatar:"xxx", Account:"whatsapp.XXX", Event:"", Protocol:"whatsapp", Gateway:"matterbottest", ParentID:"", Timestamp:time.Date(2024, time.May, 5, 13, 23, 1, 899666261, time.Local), ID:"", Extra:map[string][]interface {}{"file":[]interface {}{config.FileInfo{Name:"3A8D508A4F3211EC3799.jpg", Data:(*[]uint8)(0xc0000fe000), Comment:"", URL:"XXX/3A8D508A4F3211EC3799.jpg", Size:0, Avatar:false, SHA:"104d0511", NativeID:""}}}}" func=Send file="bridge/telegram/telegram.go:121" prefix=telegram
matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="mID telegram.XXX: 44" func=SendMessage file="gateway/gateway.go:518" prefix=gateway
matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="=> Send from whatsapp.matterbot (XXX) to telegram.XXX (-XXX) took 71.451016ms" func=func1 file="gateway/gateway.go:508" prefix=gateway
matterbridge-1  | time="2024-05-05T13:23:01Z" level=debug msg="=> Sending config.Message{Text:"", Channel:"XXX", Username:"XXX P", UserID:"XXX@s.whatsapp.net", Avatar:"xxx", Account:"whatsapp.matterbot", Event:"", Protocol:"whatsapp", Gateway:"matterbottest", ParentID:"", Timestamp:time.Date(2024, time.May, 5, 13, 23, 1, 899666261, time.Local), ID:"XXX@s.whatsapp.net/3A8D508A4F3211EC3799", Extra:map[string][]interface {}{"file":[]interface {}{config.FileInfo{Name:"3A8D508A4F3211EC3799.jpg", Data:(*[]uint8)(0xc0000fe000), Comment:"", URL:"XXX/3A8D508A4F3211EC3799.jpg", Size:0, Avatar:false, SHA:"104d0511", NativeID:""}}}} from whatsapp.XXX (XXX) to nctalk.0 (xzhmhowg)" func=SendMessage file="gateway/gateway.go:499" prefix=gateway
matterbridge-1  | time="2024-05-05T13:23:05Z" level=error msg="Could not send message to room xzhmhowg from [whatsapp] <XXX P> : unexpected return code" func=Send file="bridge/nctalk/nctalk.go:128" prefix=nctalk
matterbridge-1  | time="2024-05-05T13:23:05Z" level=debug msg="=> Send from whatsapp.matterbot (XXX) to nctalk.0 (xzhmhowg) took 3.112660696s" func=func1 file="gateway/gateway.go:508" prefix=gateway

Additional context

[general]
MediaDownloadPath="xxx"
MediaServerDownload="xxx"

[telegram]
    [telegram.xxx]
    Token = "xxx"
    PrefixMessagesWithNick = true
    RemoteNickFormat = "[{PROTOCOL}] <{NICK}> "
    UseFullName=true

[nctalk]
    [nctalk.0]
    SeparateDisplayName = true
    Server = "xxx"
    Login = "bridge-bot"
    Password = "xxx"
    PrefixMessagesWithNick = true
    RemoteNickFormat="[{PROTOCOL}] <{NICK}> "

[whatsapp]
    [whatsapp.xxx]
    Number="xxx"
    RemoteNickFormat="[{PROTOCOL}] @{NICK}: "
    SessionFile="/data/xxx"

[[gateway]]
    name = "matterbottest"
    enable = true

    [[gateway.inout]]
    account = "telegram.xxx"
    channel = "xxx"

    [[gateway.inout]]
    account = "nctalk.0"
    channel = "xxxx"

    [[gateway.inout]]
    account = "whatsapp.xxx"
    channel = "xxx"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant