This commit is contained in:
daru
2022-07-31 14:50:56 +02:00
parent db4ca8e4cf
commit 92660df667
4 changed files with 26 additions and 11 deletions

View File

@@ -27,8 +27,18 @@ func Arbeit() {
}
} else {
cleared := 0
checkDate := time.Now()
data, err := animeListCache.Get(bucketAppoint)
if err == nil {
err = nil
nanora, err := BytesToInt64(data)
if err == nil {
checkDate = time.Unix(0, nanora)
}
}
newCheckDate := time.Now()
for _, a := range appoints {
if a.Time.Add(22 * time.Hour).Before(time.Now()) {
if a.Time.Add(22 * time.Hour).Before(newCheckDate) {
// appointment expired
keyBytes := Int64AndDateToBytes(a.Anime, a.Time)
err = DbDelete(bucketAppoint, string(keyBytes))
@@ -38,11 +48,14 @@ func Arbeit() {
} else {
cleared++
}
} else if time.Now().Add(40*time.Minute).Before(a.Time) && time.Now().Add(60*time.Minute).After(a.Time) {
// This has not happened and is happening soon
go AnnounceBomb(a.Anime, a.Time.Unix(), time.Until(a.Time.Add(-25*time.Minute)))
} else {
if checkDate.Add(40*time.Minute).Before(a.Time) && newCheckDate.Add(60*time.Minute).After(a.Time) {
// This has not happened and is happening soon
go AnnounceBomb(a.Anime, a.Time.Unix(), time.Until(a.Time.Add(-25*time.Minute)))
}
}
}
animeListCache.Set(bucketAppoint, Int64ToByte(newCheckDate.UnixNano()))
if cleared > 0 {
color.Infof("Cleared %d expired appointments\n", cleared)
logOut.WriteLine(fmt.Sprintf("♻️ Cleared %d expired appointments", cleared))