Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit ddee33063442cfb85d913973f2a45a7b318c53e8 Author: Wim <wim@42.be> Date: Sun Feb 06 16:58:35 2022 +0000 Add more debug options for discord (#1712) debuglevel=1 dumps every received discord event debuglevel=2 dumps every discord event we are sending to discord (also logs sensitive information) diff --git a/bridge/discord/discord.go b/bridge/discord/discord.go index 9b9065f..4e86835 100644 --- a/bridge/discord/discord.go +++ b/bridge/discord/discord.go @@ -896 +899 @@ func (b *Bdiscord) Connect() error {   b.c.AddHandler(b.messageDeleteBulk)   b.c.AddHandler(b.memberAdd)   b.c.AddHandler(b.memberRemove) + if b.GetInt("debuglevel") == 1 { + b.c.AddHandler(b.messageEvent) + }   // Add privileged intent for guild member tracking. This is needed to track nicks   // for display names and @mention translation   b.c.Identify.Intents = discordgo.MakeIntent(discordgo.IntentsAllWithoutPrivileged | @@ -1677 +1707 @@ func (b *Bdiscord) Connect() error {   return fmt.Errorf("use of removed WebhookURL setting")   }   - if b.GetInt("debuglevel") > 0 { + if b.GetInt("debuglevel") == 2 {   b.Log.Debug("enabling even more discord debug")   b.c.Debug = true   } diff --git a/bridge/discord/handlers.go b/bridge/discord/handlers.go index 81a0e11..42c5f38 100644 --- a/bridge/discord/handlers.go +++ b/bridge/discord/handlers.go @@ -26 +27 @@ package bdiscord    import (   "github.com/42wim/matterbridge/bridge/config" + "github.com/davecgh/go-spew/spew"   "github.com/matterbridge/discordgo"  )   @@ -316 +3210 @@ func (b *Bdiscord) messageDeleteBulk(s *discordgo.Session, m *discordgo.MessageD   }  }   +func (b *Bdiscord) messageEvent(s *discordgo.Session, m *discordgo.Event) { + b.Log.Debug(spew.Sdump(m.Struct)) +} +  func (b *Bdiscord) messageTyping(s *discordgo.Session, m *discordgo.TypingStart) {   if !b.GetBool("ShowUserTyping") {   return @@ -828 +879 @@ func (b *Bdiscord) messageCreate(s *discordgo.Session, m *discordgo.MessageCreat     rmsg := config.Message{Account: b.Account, Avatar: "https://cdn.discordapp.com/avatars/" + m.Author.ID + "/" + m.Author.Avatar + ".jpg", UserID: m.Author.ID, ID: m.ID}   + b.Log.Debugf("== Receiving event %#v", m.Message) +   if m.Content != "" { - b.Log.Debugf("== Receiving event %#v", m.Message)   m.Message.Content = b.replaceChannelMentions(m.Message.Content)   rmsg.Text, err = m.ContentWithMoreMentionsReplaced(b.c)   if err != nil {