Drop first received message on connection to avoid duplicates (slack). Fixes #55

This commit is contained in:
Wim 2016-10-29 21:05:33 +02:00
parent 5249568b8e
commit 96620a3c2c

View File

@ -157,10 +157,14 @@ func (b *Bslack) handleSlack() {
} }
func (b *Bslack) handleSlackClient(mchan chan *MMMessage) { func (b *Bslack) handleSlackClient(mchan chan *MMMessage) {
count := 0
for msg := range b.rtm.IncomingEvents { for msg := range b.rtm.IncomingEvents {
switch ev := msg.Data.(type) { switch ev := msg.Data.(type) {
case *slack.MessageEvent: case *slack.MessageEvent:
// ignore first message
if count > 0 {
flog.Debugf("Receiving from slackclient %#v", ev) flog.Debugf("Receiving from slackclient %#v", ev)
//ev.ReplyTo
channel, err := b.rtm.GetChannelInfo(ev.Channel) channel, err := b.rtm.GetChannelInfo(ev.Channel)
if err != nil { if err != nil {
continue continue
@ -174,6 +178,8 @@ func (b *Bslack) handleSlackClient(mchan chan *MMMessage) {
m.Channel = channel.Name m.Channel = channel.Name
m.Text = ev.Text m.Text = ev.Text
mchan <- m mchan <- m
}
count++
case *slack.OutgoingErrorEvent: case *slack.OutgoingErrorEvent:
flog.Debugf("%#v", ev.Error()) flog.Debugf("%#v", ev.Error())
case *slack.ConnectedEvent: case *slack.ConnectedEvent: