mirror of
https://github.com/42wim/matterbridge.git
synced 2025-09-22 11:30:58 -04:00
Merge be96f94b41614a07f02616728fe677af53267a1d into c4157a4d5b49fce79c80a30730dc7c404bacd663
This commit is contained in:
commit
05c7a13718
@ -1,6 +1,8 @@
|
|||||||
package bdiscord
|
package bdiscord
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/42wim/matterbridge/bridge/config"
|
"github.com/42wim/matterbridge/bridge/config"
|
||||||
"github.com/bwmarrin/discordgo"
|
"github.com/bwmarrin/discordgo"
|
||||||
"github.com/davecgh/go-spew/spew"
|
"github.com/davecgh/go-spew/spew"
|
||||||
@ -63,6 +65,13 @@ func (b *Bdiscord) messageTyping(s *discordgo.Session, m *discordgo.TypingStart)
|
|||||||
b.Remote <- rmsg
|
b.Remote <- rmsg
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Discord sends spurious updates for messages that haven't been edited, or
|
||||||
|
// haven't been edited recently. Messages from as far back as 5 years ago have
|
||||||
|
// been observed to be updated, always with a URL or embedded content.
|
||||||
|
//
|
||||||
|
// These need to be ignored because it's confusing when out of date messages
|
||||||
|
// are bridged as new messages with no context to protocols that don't support
|
||||||
|
// edits. Edited messages normally arrive as updates immediately.
|
||||||
func (b *Bdiscord) messageUpdate(s *discordgo.Session, m *discordgo.MessageUpdate) { //nolint:unparam
|
func (b *Bdiscord) messageUpdate(s *discordgo.Session, m *discordgo.MessageUpdate) { //nolint:unparam
|
||||||
if m.GuildID != b.guildID {
|
if m.GuildID != b.guildID {
|
||||||
b.Log.Debugf("Ignoring messageUpdate because it originates from a different guild")
|
b.Log.Debugf("Ignoring messageUpdate because it originates from a different guild")
|
||||||
@ -73,6 +82,12 @@ func (b *Bdiscord) messageUpdate(s *discordgo.Session, m *discordgo.MessageUpdat
|
|||||||
}
|
}
|
||||||
// only when message is actually edited
|
// only when message is actually edited
|
||||||
if m.Message.EditedTimestamp != nil {
|
if m.Message.EditedTimestamp != nil {
|
||||||
|
// message must have been edited recently
|
||||||
|
delay := time.Now().Sub(*m.Message.EditedTimestamp)
|
||||||
|
if delay >= time.Duration(6) * time.Hour {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
b.Log.Debugf("Sending edit message")
|
b.Log.Debugf("Sending edit message")
|
||||||
m.Content += b.GetString("EditSuffix")
|
m.Content += b.GetString("EditSuffix")
|
||||||
msg := &discordgo.MessageCreate{
|
msg := &discordgo.MessageCreate{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user