Files
mautrix-discord/pkg/attachment/attachment.go
Skip R b5e6db06f8 msgconv: port most of attachment and text message bridging
* Created a separate discordid package to avoid import cycles.
* Implemented attachment bridging. We still need to implement direct
  media, but this will do for now.
* Corrected how encrypted files (e.g. embed images and attachments) were
  bridged. Previously, the URL field would be empty.

Still a lot of missing pieces. Thoughts:

* Mentions to roles and custom emoji are not rendered properly. We need
  to maintain our own DB.
* We might not need the "attachments" leaf package anymore? It's just
  there to avoid an import cycle.

Bridging actual events (i.e. wiring up discordgo's event handlers) is
probably next.
2025-11-26 18:13:07 -08:00

39 lines
1.3 KiB
Go

// mautrix-discord - A Matrix-Discord puppeting bridge.
// Copyright (C) 2024 Tulir Asokan
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
package attachment
import (
"maunium.net/go/mautrix/event"
"maunium.net/go/mautrix/id"
)
// TODO(skip): These types are only in a leaf package to avoid import cycles.
// Perhaps figure out a better way to structure this so that this package is unnecessary.
type AttachmentReupload struct {
DownloadingURL string
FileName string
MimeType string
}
type ReuploadedAttachment struct {
AttachmentReupload
DownloadedSize int
MXC id.ContentURIString
EncryptedFile *event.EncryptedFileInfo
}