commit 43c03ee1edf3de183147ef7744e7027bf982aa2c
Author: Qais Patankar <qaisjp@gmail.com>
Date: Thu Oct 03 23:18:56 2019 +0000
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": {},
}
)