summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bridge/discord/discord.go9
-rw-r--r--bridge/discord/handlers.go13
-rw-r--r--gateway/bridgemap/bridgemap.go3
3 files changed, 24 insertions, 1 deletions
diff --git a/bridge/discord/discord.go b/bridge/discord/discord.go
index 84171fa5..1c6c40d9 100644
--- a/bridge/discord/discord.go
+++ b/bridge/discord/discord.go
@@ -72,6 +72,7 @@ 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)
@@ -188,6 +189,14 @@ 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 cfda2de9..9260427d 100644
--- a/bridge/discord/handlers.go
+++ b/bridge/discord/handlers.go
@@ -37,6 +37,19 @@ 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 599df7b2..cb9a3932 100644
--- a/gateway/bridgemap/bridgemap.go
+++ b/gateway/bridgemap/bridgemap.go
@@ -40,6 +40,7 @@ var (
}
UserTypingSupport = map[string]struct{}{
- "slack": {},
+ "slack": {},
+ "discord": {},
}
)