handletelegram: don't return errors from message converter

This commit is contained in:
Tulir Asokan
2025-12-03 16:49:29 +02:00
parent 35c161185c
commit fed5752f38
9 changed files with 182 additions and 183 deletions
+3 -3
View File
@@ -63,7 +63,7 @@ func (ctx formatContext) TextToHTML(text string) string {
return event.TextToHTML(text)
}
func Parse(ctx context.Context, message string, entities []tg.MessageEntityClass, params FormatParams) (*event.MessageEventContent, error) {
func Parse(ctx context.Context, message string, entities []tg.MessageEntityClass, params FormatParams) *event.MessageEventContent {
log := zerolog.Ctx(ctx).With().Str("func", "Parse").Logger()
content := &event.MessageEventContent{
MsgType: event.MsgText,
@@ -71,7 +71,7 @@ func Parse(ctx context.Context, message string, entities []tg.MessageEntityClass
Mentions: &event.Mentions{},
}
if len(entities) == 0 {
return content, nil
return content
}
lrt := &LinkedRangeTree{}
@@ -142,5 +142,5 @@ func Parse(ctx context.Context, message string, entities []tg.MessageEntityClass
content.Mentions.UserIDs = maps.Keys(mentions)
content.FormattedBody = lrt.Format(utf16Message, formatContext{})
content.Format = event.FormatHTML
return content, nil
return content
}
+1 -3
View File
@@ -22,7 +22,6 @@ import (
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"maunium.net/go/mautrix/event"
"maunium.net/go/mautrix/id"
@@ -75,8 +74,7 @@ func TestParse(t *testing.T) {
}
for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
parsed, err := telegramfmt.Parse(context.TODO(), test.ins, test.ine, formatParams)
require.NoError(t, err)
parsed := telegramfmt.Parse(context.TODO(), test.ins, test.ine, formatParams)
assert.Equal(t, test.body, parsed.Body)
assert.Equal(t, test.html, parsed.FormattedBody)
})
+3 -1
View File
@@ -71,11 +71,13 @@ func (s Style) Format(message string) string {
case StyleCustomEmoji:
if s.EmojiInfo.Emoji != "" {
return s.EmojiInfo.Emoji
} else {
} else if s.EmojiInfo.EmojiURI != "" {
return fmt.Sprintf(
`<img data-mx-emoticon data-mau-animated-emoji src="%s" height="32" width="32" alt="%s" title="%s"/>`,
s.EmojiInfo.EmojiURI, message, message,
)
} else {
return message
}
case StyleBotCommand:
return fmt.Sprintf("<font color='#3771bb'>%s</font>", message)