diff --git a/portal.go b/portal.go index 3a5db83..0d860d6 100644 --- a/portal.go +++ b/portal.go @@ -1522,9 +1522,15 @@ func (portal *Portal) RefererOptIfUser(sess *discordgo.Session, threadID string) } func (portal *Portal) handleMatrixMessage(sender *User, evt *event.Event) { - if portal.IsPrivateChat() && sender.DiscordID != portal.Key.Receiver { - go portal.sendMessageMetrics(evt, errUserNotReceiver, "Ignoring") - return + if portal.IsPrivateChat() { + if !sender.IsLoggedIn() { + go portal.sendMessageMetrics(evt, errUserNotLoggedIn, "Ignoring") + return + } + if sender.DiscordID != portal.Key.Receiver { + go portal.sendMessageMetrics(evt, errUserNotReceiver, "Ignoring") + return + } } content, ok := evt.Content.Parsed.(*event.MessageEventContent) @@ -1918,12 +1924,13 @@ func (portal *Portal) getMatrixUsers() ([]id.UserID, error) { } func (portal *Portal) handleMatrixReaction(sender *User, evt *event.Event) { + if !sender.IsLoggedIn() { + go portal.sendMessageMetrics(evt, errUserNotLoggedIn, "Ignoring") + return + } if portal.IsPrivateChat() && sender.DiscordID != portal.Key.Receiver { go portal.sendMessageMetrics(evt, errUserNotReceiver, "Ignoring") return - } else if !sender.IsLoggedIn() { - //go portal.sendMessageMetrics(evt, errReactionUserNotLoggedIn, "Ignoring") - return } reaction := evt.Content.AsReaction() @@ -2101,9 +2108,15 @@ func (portal *Portal) handleDiscordReaction(user *User, reaction *discordgo.Mess } func (portal *Portal) handleMatrixRedaction(sender *User, evt *event.Event) { - if portal.IsPrivateChat() && sender.DiscordID != portal.Key.Receiver { - go portal.sendMessageMetrics(evt, errUserNotReceiver, "Ignoring") - return + if portal.IsPrivateChat() { + if !sender.IsLoggedIn() { + go portal.sendMessageMetrics(evt, errUserNotLoggedIn, "Ignoring") + return + } + if sender.DiscordID != portal.Key.Receiver { + go portal.sendMessageMetrics(evt, errUserNotReceiver, "Ignoring") + return + } } sess := sender.Session