Thumbnail

rani/matterbridge.git

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

commit 43c03ee1edf3de183147ef7744e7027bf982aa2c Author: Qais Patankar <qaisjp@gmail.com> Date: Thu Oct 03 23:18:56 2019 +0000 Add UserTypingSupport (discord) (#914) * Add Discord to UserTypingSupport * discord: start typing in a channel on EventUserTyping receive * discord: emit EventUserTyping to gateway diff --git a/bridge/discord/discord.go b/bridge/discord/discord.go index 84171fa..1c6c40d 100644 --- a/bridge/discord/discord.go +++ b/bridge/discord/discord.go @@ -726 +727 @@ func (b *Bdiscord) Connect() error {   }   b.Log.Info("Connection succeeded")   b.c.AddHandler(b.messageCreate) + b.c.AddHandler(b.messageTyping)   b.c.AddHandler(b.memberUpdate)   b.c.AddHandler(b.messageUpdate)   b.c.AddHandler(b.messageDelete) @@ -1886 +18914 @@ func (b *Bdiscord) Send(msg config.Message) (string, error) {   return "", fmt.Errorf("Could not find channelID for %v", msg.Channel)   }   + if msg.Event == config.EventUserTyping { + if b.GetBool("ShowUserTyping") { + err := b.c.ChannelTyping(channelID) + return "", err + } + return "", nil + } +   // Make a action /me of the message   if msg.Event == config.EventUserAction {   msg.Text = "_" + msg.Text + "_" diff --git a/bridge/discord/handlers.go b/bridge/discord/handlers.go index cfda2de..9260427 100644 --- a/bridge/discord/handlers.go +++ b/bridge/discord/handlers.go @@ -376 +3719 @@ func (b *Bdiscord) messageDeleteBulk(s *discordgo.Session, m *discordgo.MessageD   }  }   +func (b *Bdiscord) messageTyping(s *discordgo.Session, m *discordgo.TypingStart) { + if !b.GetBool("ShowUserTyping") { + return + } + + rmsg := config.Message{Account: b.Account, Event: config.EventUserTyping} + rmsg.Channel = b.getChannelName(m.ChannelID) + if b.useChannelID { + rmsg.Channel = "ID:" + m.ChannelID + } + b.Remote <- rmsg +} +  func (b *Bdiscord) messageUpdate(s *discordgo.Session, m *discordgo.MessageUpdate) { //nolint:unparam   if b.GetBool("EditDisable") {   return diff --git a/gateway/bridgemap/bridgemap.go b/gateway/bridgemap/bridgemap.go index 599df7b..cb9a393 100644 --- a/gateway/bridgemap/bridgemap.go +++ b/gateway/bridgemap/bridgemap.go @@ -406 +407 @@ var (   }     UserTypingSupport = map[string]struct{}{ - "slack": {}, + "slack": {}, + "discord": {},   }  )