discordid: remove all ID-related casts
In the same vein as mautrix-whatsapp, -slack and others, do not make assumptions about how the ID is represented in the connector code. Let the discordid package be entirely responsible.
This commit is contained in:
@@ -32,7 +32,6 @@ import (
|
||||
"github.com/yuin/goldmark/text"
|
||||
"github.com/yuin/goldmark/util"
|
||||
"maunium.net/go/mautrix/bridgev2"
|
||||
"maunium.net/go/mautrix/bridgev2/networkid"
|
||||
"maunium.net/go/mautrix/id"
|
||||
|
||||
"go.mau.fi/mautrix-discord/pkg/discordid"
|
||||
@@ -271,7 +270,7 @@ func (r *discordTagHTMLRenderer) renderDiscordMention(w util.BufWriter, source [
|
||||
case *astDiscordUserMention:
|
||||
var mxid id.UserID
|
||||
var name string
|
||||
if ghost, _ := node.portal.Bridge.GetGhostByID(ctx, networkid.UserID(strconv.FormatInt(node.id, 10))); ghost != nil {
|
||||
if ghost, _ := node.portal.Bridge.GetGhostByID(ctx, discordid.MakeUserID(strconv.FormatInt(node.id, 10))); ghost != nil {
|
||||
mxid = ghost.Intent.GetMXID()
|
||||
name = ghost.Name
|
||||
}
|
||||
|
||||
@@ -179,7 +179,7 @@ func (mc *MessageConverter) tryAddingReplyToConvertedMessage(
|
||||
|
||||
// The portal containing the message that was replied to.
|
||||
targetPortal := portal
|
||||
if ref.ChannelID != string(portal.ID) {
|
||||
if ref.ChannelID != discordid.ParsePortalID(portal.ID) {
|
||||
var err error
|
||||
targetPortal, err = mc.Bridge.GetPortalByKey(ctx, discordid.MakePortalKeyWithID(ref.ChannelID))
|
||||
if err != nil {
|
||||
@@ -192,7 +192,7 @@ func (mc *MessageConverter) tryAddingReplyToConvertedMessage(
|
||||
}
|
||||
}
|
||||
|
||||
messageID := networkid.MessageID(ref.MessageID)
|
||||
messageID := discordid.MakeMessageID(ref.MessageID)
|
||||
repliedToMatrixMsg, err := mc.Bridge.DB.Message.GetFirstPartByID(ctx, source.ID, messageID)
|
||||
if err != nil {
|
||||
log.Err(err).Msg("Failed to query database for first message part; proceeding")
|
||||
@@ -229,7 +229,7 @@ func (mc *MessageConverter) renderDiscordTextMessage(ctx context.Context, intent
|
||||
var htmlParts []string
|
||||
|
||||
if msg.Interaction != nil {
|
||||
ghost, err := mc.Bridge.GetGhostByID(ctx, networkid.UserID(msg.Interaction.User.ID))
|
||||
ghost, err := mc.Bridge.GetGhostByID(ctx, discordid.MakeUserID(msg.Interaction.User.ID))
|
||||
// TODO(skip): Try doing ghost.UpdateInfoIfNecessary.
|
||||
if err == nil {
|
||||
htmlParts = append(htmlParts, fmt.Sprintf(msgInteractionTemplateHTML, ghost.Intent.GetMXID(), ghost.Name, msg.Interaction.Name))
|
||||
@@ -302,7 +302,7 @@ func (mc *MessageConverter) forwardedMessageHTMLPart(ctx context.Context, portal
|
||||
msgTSText := msg.MessageSnapshots[0].Message.Timestamp.Format("2006-01-02 15:04 MST")
|
||||
origLink := fmt.Sprintf("unknown channel • %s", msgTSText)
|
||||
if forwardedFromPortal, err := mc.Bridge.DB.Portal.GetByKey(ctx, discordid.MakePortalKeyWithID(msg.MessageReference.ChannelID)); err == nil && forwardedFromPortal != nil {
|
||||
if origMessage, err := mc.Bridge.DB.Message.GetFirstPartByID(ctx, source.ID, networkid.MessageID(msg.MessageReference.MessageID)); err == nil && origMessage != nil {
|
||||
if origMessage, err := mc.Bridge.DB.Message.GetFirstPartByID(ctx, source.ID, discordid.MakeMessageID(msg.MessageReference.MessageID)); err == nil && origMessage != nil {
|
||||
// We've bridged the message that was forwarded, so we can link to it directly.
|
||||
origLink = fmt.Sprintf(
|
||||
`<a href="%s">#%s • %s</a>`,
|
||||
|
||||
@@ -107,14 +107,14 @@ func (mc *MessageConverter) ToDiscord(
|
||||
|
||||
if msg.ReplyTo != nil {
|
||||
req.Reference = &discordgo.MessageReference{
|
||||
ChannelID: string(msg.ReplyTo.Room.ID),
|
||||
MessageID: string(msg.ReplyTo.ID),
|
||||
ChannelID: discordid.ParsePortalID(msg.ReplyTo.Room.ID),
|
||||
MessageID: discordid.ParseMessageID(msg.ReplyTo.ID),
|
||||
}
|
||||
}
|
||||
|
||||
portal := msg.Portal
|
||||
guildID := msg.Portal.Metadata.(*discordid.PortalMetadata).GuildID
|
||||
channelID := string(portal.ID)
|
||||
channelID := discordid.ParsePortalID(portal.ID)
|
||||
content := msg.Content
|
||||
|
||||
convertMatrix := func() {
|
||||
|
||||
Reference in New Issue
Block a user