diff --git a/go.mod b/go.mod index 98ea152..8a6ca57 100644 --- a/go.mod +++ b/go.mod @@ -34,4 +34,4 @@ require ( maunium.net/go/mauflag v1.0.0 // indirect ) -replace github.com/bwmarrin/discordgo => github.com/beeper/discordgo v0.0.0-20230215201850-32771907474d +replace github.com/bwmarrin/discordgo => github.com/beeper/discordgo v0.0.0-20230223130830-7848603fe535 diff --git a/go.sum b/go.sum index ed26a08..2f9bd2f 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,6 @@ github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= -github.com/beeper/discordgo v0.0.0-20230215201850-32771907474d h1:PndQKe7wiuQuVIWepQksfaRWUxZcoh6GWLXfWbdAN3g= -github.com/beeper/discordgo v0.0.0-20230215201850-32771907474d/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY= +github.com/beeper/discordgo v0.0.0-20230223130830-7848603fe535 h1:xBf8EQ7gMd01Gk9/e5dSrVyJsVkYgqk0Bih5RcRKCUs= +github.com/beeper/discordgo v0.0.0-20230223130830-7848603fe535/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY= github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= diff --git a/portal.go b/portal.go index 5eaa3ec..a7b4762 100644 --- a/portal.go +++ b/portal.go @@ -513,9 +513,9 @@ func (portal *Portal) handleDiscordMessages(msg portalDiscordMessage) { case *discordgo.MessageDelete: portal.handleDiscordMessageDelete(msg.user, convertedMsg.Message) case *discordgo.MessageReactionAdd: - portal.handleDiscordReaction(msg.user, convertedMsg.MessageReaction, true, msg.thread) + portal.handleDiscordReaction(msg.user, convertedMsg.MessageReaction, true, msg.thread, convertedMsg.Member) case *discordgo.MessageReactionRemove: - portal.handleDiscordReaction(msg.user, convertedMsg.MessageReaction, false, msg.thread) + portal.handleDiscordReaction(msg.user, convertedMsg.MessageReaction, false, msg.thread, nil) default: portal.log.Warnln("unknown message type") } @@ -1929,10 +1929,10 @@ func (portal *Portal) handleMatrixReaction(sender *User, evt *event.Event) { } } -func (portal *Portal) handleDiscordReaction(user *User, reaction *discordgo.MessageReaction, add bool, thread *Thread) { +func (portal *Portal) handleDiscordReaction(user *User, reaction *discordgo.MessageReaction, add bool, thread *Thread, member *discordgo.Member) { puppet := portal.bridge.GetPuppetByID(reaction.UserID) - if reaction.Member != nil && reaction.Member.User != nil { - puppet.UpdateInfo(nil, reaction.Member.User) + if member != nil { + puppet.UpdateInfo(user, member.User) } intent := puppet.IntentFor(portal)