diff --git a/main.go b/main.go index 2dc58a1..47973c5 100644 --- a/main.go +++ b/main.go @@ -41,10 +41,9 @@ func main() { const timezoneOffset = -3 func cycle() { - now := time.Now() - lastWeek := now.Add(-time.Hour*24*time.Duration(now.Weekday()-time.Monday) + 8 - timezoneOffset) - if now.Weekday() > time.Sunday && now.Add(time.Hour*timezoneOffset).After(lastWeek) { - err := createIfNotExists(lastWeek.Format("semana 2006-01-02")) + date := getDate() + if time.Now().After(date) { + err := createIfNotExists(date.Format("semana 2006-01-02")) if err != nil { log.Fatalln(err) } @@ -54,6 +53,14 @@ func cycle() { cycle() } +func getDate() time.Time { + year, month, day := time.Now().Date() + currentZeroDay := time.Date(year, month, day, 0, 0, 0, 0, time.UTC) + now := time.Now() + zeroMonday := currentZeroDay.Add(time.Duration(-time.Hour * 24 * time.Duration(now.Weekday()-time.Monday))) + return zeroMonday.Add(time.Hour * (8 - timezoneOffset)) +} + func createIfNotExists(topicName string) (err error) { streamId, err := bot.GetStreamId(stream) if err != nil {