forked from lug/matterbridge
Remove fallback quoted msgs in XMPP replies
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
package bxmpp
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"regexp"
|
||||
"strings"
|
||||
|
||||
"github.com/42wim/matterbridge/bridge/config"
|
||||
)
|
||||
@@ -28,3 +30,23 @@ func (b *Bxmpp) cacheAvatar(msg *config.Message) string {
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func trimLeadingQuotedLines(s string) string {
|
||||
scanner := bufio.NewScanner(strings.NewReader(s))
|
||||
var builder strings.Builder
|
||||
skipping := true
|
||||
|
||||
for scanner.Scan() {
|
||||
line := scanner.Text()
|
||||
if skipping {
|
||||
if strings.HasPrefix(line, "> ") {
|
||||
// still skipping
|
||||
continue
|
||||
}
|
||||
skipping = false
|
||||
}
|
||||
builder.WriteString(line + "\n")
|
||||
}
|
||||
|
||||
return strings.TrimRight(builder.String(), "\n")
|
||||
}
|
||||
|
||||
@@ -347,6 +347,7 @@ func (b *Bxmpp) handleXMPP() error {
|
||||
var parentID string
|
||||
if res, ok := b.OriginIDs.Get(v.ReplyID); ok {
|
||||
parentID, _ = res.(string)
|
||||
v.Text = trimLeadingQuotedLines(v.Text)
|
||||
}
|
||||
|
||||
rmsg := config.Message{
|
||||
|
||||
Reference in New Issue
Block a user