summaryrefslogtreecommitdiffstats
path: root/bridge/slack/handlers.go
diff options
context:
space:
mode:
Diffstat (limited to 'bridge/slack/handlers.go')
-rw-r--r--bridge/slack/handlers.go11
1 files changed, 10 insertions, 1 deletions
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