commit e2dc7d63e19eaa1da8ce9940857d304d0f896daf
Author: Qais Patankar <qaisjp@gmail.com>
Date: Sun Jun 16 00:15:18 2019 +0000
diff --git a/bridge/discord/discord.go b/bridge/discord/discord.go
index 49dfe4b..ea43bd2 100644
--- a/bridge/discord/discord.go
+++ b/bridge/discord/discord.go
@@ -756 +757 @@ func (b *Bdiscord) Connect() error {
b.c.AddHandler(b.memberUpdate)
b.c.AddHandler(b.messageUpdate)
b.c.AddHandler(b.messageDelete)
+ b.c.AddHandler(b.messageDeleteBulk)
b.c.AddHandler(b.memberAdd)
b.c.AddHandler(b.memberRemove)
err = b.c.Open()
diff --git a/bridge/discord/handlers.go b/bridge/discord/handlers.go
index 85a36e1..19e0ad6 100644
--- a/bridge/discord/handlers.go
+++ b/bridge/discord/handlers.go
@@ -166 +1627 @@ func (b *Bdiscord) messageDelete(s *discordgo.Session, m *discordgo.MessageDelet
b.Remote <- rmsg
}
+// TODO(qaisjp): if other bridges support bulk deletions, it could be fanned out centrally
+func (b *Bdiscord) messageDeleteBulk(s *discordgo.Session, m *discordgo.MessageDeleteBulk) { //nolint:unparam
+ for _, msgID := range m.Messages {
+ rmsg := config.Message{
+ Account: b.Account,
+ ID: msgID,
+ Event: config.EventMsgDelete,
+ Text: config.EventMsgDelete,
+ Channel: "ID:" + m.ChannelID,
+ }
+
+ if !b.useChannelID {
+ rmsg.Channel = b.getChannelName(m.ChannelID)
+ }
+
+ b.Log.Debugf("<= Sending message from %s to gateway", b.Account)
+ b.Log.Debugf("<= Message is %#v", rmsg)
+ b.Remote <- rmsg
+ }
+}
+
func (b *Bdiscord) messageUpdate(s *discordgo.Session, m *discordgo.MessageUpdate) { //nolint:unparam
if b.GetBool("EditDisable") {
return