disappearing images: implement
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
This commit is contained in:
@@ -48,7 +48,6 @@ func ParseDirectMediaInfo(mediaID networkid.MediaID) (info DirectMediaInfo, err
|
|||||||
err = fmt.Errorf("invalid media ID")
|
err = fmt.Errorf("invalid media ID")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
fmt.Printf("%v\n", mediaID)
|
|
||||||
info.PeerType, err = PeerTypeFromByte(mediaID[1])
|
info.PeerType, err = PeerTypeFromByte(mediaID[1])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ func DownloadPhoto(ctx context.Context, client downloader.Client, media *tg.Mess
|
|||||||
ThumbSize: largest.GetType(),
|
ThumbSize: largest.GetType(),
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO convert to streaming
|
// TODO convert to streaming?
|
||||||
var buf bytes.Buffer
|
var buf bytes.Buffer
|
||||||
storageFileTypeClass, err := downloader.NewDownloader().Download(client, &file).Stream(ctx, &buf)
|
storageFileTypeClass, err := downloader.NewDownloader().Download(client, &file).Stream(ctx, &buf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -3,11 +3,13 @@ package msgconv
|
|||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/gotd/td/tg"
|
"github.com/gotd/td/tg"
|
||||||
"github.com/rs/zerolog"
|
"github.com/rs/zerolog"
|
||||||
"go.mau.fi/util/exmime"
|
"go.mau.fi/util/exmime"
|
||||||
"maunium.net/go/mautrix/bridgev2"
|
"maunium.net/go/mautrix/bridgev2"
|
||||||
|
"maunium.net/go/mautrix/bridgev2/database"
|
||||||
"maunium.net/go/mautrix/bridgev2/networkid"
|
"maunium.net/go/mautrix/bridgev2/networkid"
|
||||||
"maunium.net/go/mautrix/event"
|
"maunium.net/go/mautrix/event"
|
||||||
"maunium.net/go/mautrix/id"
|
"maunium.net/go/mautrix/id"
|
||||||
@@ -61,9 +63,12 @@ func (mc *MessageConverter) ToMatrix(ctx context.Context, portal *bridgev2.Porta
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
if _, ok := media.GetTTLSeconds(); ok {
|
if ttl, ok := media.GetTTLSeconds(); ok {
|
||||||
// TODO set the ttl on the converted message
|
|
||||||
filename = "disappearing_image" + exmime.ExtensionFromMimetype(mimeType)
|
filename = "disappearing_image" + exmime.ExtensionFromMimetype(mimeType)
|
||||||
|
cm.Disappear = database.DisappearingSetting{
|
||||||
|
Type: database.DisappearingTypeAfterSend,
|
||||||
|
Timer: time.Duration(ttl) * time.Second,
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
filename = "image" + exmime.ExtensionFromMimetype(mimeType)
|
filename = "image" + exmime.ExtensionFromMimetype(mimeType)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user