Fix message editing from double puppets
This commit is contained in:
@@ -427,10 +427,6 @@ func (p *Portal) handleDiscordMessageCreate(user *User, msg *discordgo.Message)
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (p *Portal) handleDiscordMessagesUpdate(user *User, msg *discordgo.Message) {
|
func (p *Portal) handleDiscordMessagesUpdate(user *User, msg *discordgo.Message) {
|
||||||
if msg.Author != nil && user.ID == msg.Author.ID {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if p.MXID == "" {
|
if p.MXID == "" {
|
||||||
p.log.Warnln("handle message called without a valid portal")
|
p.log.Warnln("handle message called without a valid portal")
|
||||||
|
|
||||||
@@ -485,17 +481,15 @@ func (p *Portal) handleDiscordMessagesUpdate(user *User, msg *discordgo.Message)
|
|||||||
|
|
||||||
content.SetEdit(existing.MatrixID)
|
content.SetEdit(existing.MatrixID)
|
||||||
|
|
||||||
_, err := intent.SendMessageEvent(p.MXID, event.EventMessage, content)
|
resp, err := intent.SendMessageEvent(p.MXID, event.EventMessage, content)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
p.log.Warnfln("failed to send message %q to matrix: %v", msg.ID, err)
|
p.log.Warnfln("failed to send message %q to matrix: %v", msg.ID, err)
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// It appears that matrix updates only work against the original event id
|
ts, _ := msg.Timestamp.Parse()
|
||||||
// so updating it to the new one from an edit makes it so you can't update
|
p.markMessageHandled(existing, msg.ID, resp.EventID, msg.Author.ID, ts)
|
||||||
// it anyways. So we just don't update anything and we can keep updating
|
|
||||||
// the message.
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *Portal) handleDiscordMessageDelete(user *User, msg *discordgo.Message) {
|
func (p *Portal) handleDiscordMessageDelete(user *User, msg *discordgo.Message) {
|
||||||
|
|||||||
Reference in New Issue
Block a user