Skip to content

Commit beef019

Browse files
committed
feat: add absent as a status filter
1 parent ce6c496 commit beef019

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

cmd/main.go

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@ import (
1616
"github.com/slack-go/slack"
1717
)
1818

19-
const (
20-
slackStatusHoliday = "vacationing"
19+
var (
20+
slackStatusHolidays = []string{
21+
"vacationing",
22+
"absent",
23+
}
2124
)
2225

2326
func main() {
@@ -135,9 +138,21 @@ func main() {
135138
continue
136139
}
137140

138-
if config.Slack.SkipOnHoliday && strings.EqualFold(slackUser.Profile.StatusText, slackStatusHoliday) {
139-
logrus.WithField("slack_name", slackUser.Name).Warn("skipping user since he/she is on holiday")
140-
continue
141+
if config.Slack.SkipOnHoliday {
142+
isOnHoliday := false
143+
slackStatus := strings.ToLower(slackUser.Profile.StatusText)
144+
145+
for _, statusPrefix := range slackStatusHolidays {
146+
if strings.HasPrefix(slackStatus, statusPrefix) {
147+
isOnHoliday = true
148+
break
149+
}
150+
151+
if isOnHoliday {
152+
logrus.WithField("slack_name", slackUser.Name).Warn("skipping user since he/she is on holiday")
153+
continue
154+
}
155+
}
141156
}
142157

143158
logrus.WithField("falcon", len(userFalconMsg.Devices)).WithField("ws1", len(userWS1Msg.Devices)).WithField("email", userEmail).

0 commit comments

Comments
 (0)