diff --git a/telegram/utils.go b/telegram/utils.go index d656885..de17d91 100644 --- a/telegram/utils.go +++ b/telegram/utils.go @@ -1110,13 +1110,19 @@ func (c *Client) ProcessIncomingMessage(chatId int64, message *client.Message) { fileName, link := c.formatFile(file, false) oob = link - if c.Session.OOBMode && oob != "" { - typ := message.Content.MessageContentType() - if typ != client.TypeMessageSticker { - auxText = text + oobSwap := c.Session.OOBMode && oob != "" + + var ignorePrefix bool + if oobSwap { + if text == "" || message.Content.MessageContentType() == client.TypeMessageSticker { + isPM, err := c.IsPM(chatId) + if err == nil { + ignorePrefix = isPM && c.isCarbonsEnabled() + } } - text = oob - } else if !c.Session.RawMessages { + } + + if !c.Session.RawMessages && !ignorePrefix { var newText strings.Builder prefix, prefixReply := c.messageToPrefix(message, previewName, fileName, false) @@ -1132,6 +1138,13 @@ func (c *Client) ProcessIncomingMessage(chatId int64, message *client.Message) { } text = newText.String() } + + if oobSwap { + if !ignorePrefix { + auxText = text + } + text = oob + } } } if !replyObtained {