Fix: Do not send update when not asked to

Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
Knut Ahlers 2021-09-02 17:40:38 +02:00
parent 43849052e1
commit 2eb12900b9
Signed by: luzifer
GPG key ID: 0066F03ED215AD7D

View file

@ -90,42 +90,40 @@ func (r *twitchWatcher) updateChannelFromAPI(channel string, sendUpdate bool) er
return nil return nil
} }
if r.ChannelStatus[channel] == nil { if sendUpdate && r.ChannelStatus[channel] != nil {
r.ChannelStatus[channel] = &status if r.ChannelStatus[channel].Category != status.Category {
} log.WithFields(log.Fields{
"channel": channel,
if r.ChannelStatus[channel].Category != status.Category { "category": status.Category,
log.WithFields(log.Fields{ }).Debug("Twitch metadata changed")
"channel": channel, go handleMessage(nil, nil, eventTypeTwitchCategoryUpdate, map[string]interface{}{
"category": status.Category, "category": status.Category,
}).Debug("Twitch metadata changed") })
go handleMessage(nil, nil, eventTypeTwitchCategoryUpdate, map[string]interface{}{
"category": status.Category,
})
}
if r.ChannelStatus[channel].Title != status.Title {
log.WithFields(log.Fields{
"channel": channel,
"title": status.Title,
}).Debug("Twitch metadata changed")
go handleMessage(nil, nil, eventTypeTwitchTitleUpdate, map[string]interface{}{
"title": status.Title,
})
}
if r.ChannelStatus[channel].IsLive != status.IsLive {
log.WithFields(log.Fields{
"channel": channel,
"isLive": status.IsLive,
}).Debug("Twitch metadata changed")
evt := eventTypeTwitchStreamOnline
if !status.IsLive {
evt = eventTypeTwitchStreamOffline
} }
go handleMessage(nil, nil, evt, nil) if r.ChannelStatus[channel].Title != status.Title {
log.WithFields(log.Fields{
"channel": channel,
"title": status.Title,
}).Debug("Twitch metadata changed")
go handleMessage(nil, nil, eventTypeTwitchTitleUpdate, map[string]interface{}{
"title": status.Title,
})
}
if r.ChannelStatus[channel].IsLive != status.IsLive {
log.WithFields(log.Fields{
"channel": channel,
"isLive": status.IsLive,
}).Debug("Twitch metadata changed")
evt := eventTypeTwitchStreamOnline
if !status.IsLive {
evt = eventTypeTwitchStreamOffline
}
go handleMessage(nil, nil, evt, nil)
}
} }
r.ChannelStatus[channel] = &status r.ChannelStatus[channel] = &status