capabilities: mark lottie and webm as allowed sticker formats
This commit is contained in:
@@ -54,6 +54,7 @@ import (
|
||||
"maunium.net/go/mautrix/event"
|
||||
"maunium.net/go/mautrix/id"
|
||||
|
||||
"go.mau.fi/mautrix-telegram/pkg/connector/media"
|
||||
"go.mau.fi/mautrix-telegram/pkg/gotd/telegram/message"
|
||||
"go.mau.fi/mautrix-telegram/pkg/gotd/telegram/uploader"
|
||||
"go.mau.fi/mautrix-telegram/pkg/gotd/tg"
|
||||
@@ -275,10 +276,17 @@ func (tc *TelegramClient) transferMediaToTelegram(ctx context.Context, content *
|
||||
} else if sticker && (info.MimeType != "video/webm" && info.MimeType != "application/x-tgsticker") {
|
||||
uploadFilename, err = ffmpeg.ConvertPath(ctx, uploadFilename, ".webp", []string{}, []string{}, false)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to convert sticker to webm: %+w", err)
|
||||
return fmt.Errorf("failed to convert sticker to webm: %w", err)
|
||||
}
|
||||
defer os.Remove(uploadFilename)
|
||||
info.MimeType = "image/webp"
|
||||
} else if sticker && info.MimeType == "video/lottie+json" {
|
||||
uploadFilename, err = media.CompressGZip(f)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to compress lottie sticker: %w", err)
|
||||
}
|
||||
defer os.Remove(uploadFilename)
|
||||
info.MimeType = "application/x-tgsticker"
|
||||
} else if cfg, _, err := image.DecodeConfig(f); err != nil {
|
||||
forceDocument = true
|
||||
} else if fileInfo, err := f.Stat(); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user