From 98033b1ba77fcf55378eccf35c2a251b1278464b Mon Sep 17 00:00:00 2001 From: Qais Patankar Date: Sun, 22 Mar 2020 17:39:11 +0000 Subject: Don't transmit typing events from ourselves (slack/discord) (#1056) --- bridge/slack/handlers.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'bridge/slack/handlers.go') diff --git a/bridge/slack/handlers.go b/bridge/slack/handlers.go index 015a2e1c..88136cba 100644 --- a/bridge/slack/handlers.go +++ b/bridge/slack/handlers.go @@ -1,6 +1,7 @@ package bslack import ( + "errors" "fmt" "html" "time" @@ -10,6 +11,9 @@ import ( "github.com/slack-go/slack" ) +// ErrEventIgnored is for events that should be ignored +var ErrEventIgnored = errors.New("this event message should ignored") + func (b *Bslack) handleSlack() { messages := make(chan *config.Message) if b.GetString(incomingWebhookConfig) != "" { @@ -53,7 +57,9 @@ func (b *Bslack) handleSlackClient(messages chan *config.Message) { continue } rmsg, err := b.handleTypingEvent(ev) - if err != nil { + if err == ErrEventIgnored { + continue + } else if err != nil { b.Log.Errorf("%#v", err) continue } @@ -276,6 +282,9 @@ func (b *Bslack) handleAttachments(ev *slack.MessageEvent, rmsg *config.Message) } func (b *Bslack) handleTypingEvent(ev *slack.UserTypingEvent) (*config.Message, error) { + if ev.User == b.si.User.ID { + return nil, ErrEventIgnored + } channelInfo, err := b.channels.getChannelByID(ev.Channel) if err != nil { return nil, err -- cgit v1.2.3