@@ -93,7 +93,7 @@ func (h *Handler) today(ctx context.Context, b *bot.Bot, update *models.Update)
9393 return fmt .Errorf ("today: get chat: %v" , err )
9494 }
9595
96- prayerDay , err := h .db .GetPrayerDay (ctx , chat .BotID , h .now (chat .BotID ))
96+ prayerDay , err := h .db .GetPrayerDay (ctx , chat .BotID , h .nowUTC (chat .BotID ))
9797 if err != nil {
9898 log .Error ("today: get prayer day" , log .Err (err ), log .BotID (chat .BotID ), log .ChatID (chat .ChatID ))
9999 return fmt .Errorf ("today: get prayer day: %v" , err )
@@ -140,7 +140,11 @@ func (h *Handler) next(ctx context.Context, b *bot.Bot, update *models.Update) e
140140 return fmt .Errorf ("next: get chat: %v" , err )
141141 }
142142
143- date := h .now (chat .BotID )
143+ var (
144+ now = h .now (chat .BotID )
145+ date = h .nowUTC (chat .BotID )
146+ )
147+
144148 prayerDay , err := h .db .GetPrayerDay (ctx , chat .BotID , date )
145149 if err != nil {
146150 log .Error ("next: get prayer day" , log .Err (err ), log .BotID (chat .BotID ), log .ChatID (chat .ChatID ))
@@ -149,18 +153,18 @@ func (h *Handler) next(ctx context.Context, b *bot.Bot, update *models.Update) e
149153
150154 prayerID , duration := domain .PrayerIDUnknown , time .Duration (0 )
151155 switch {
152- case prayerDay .Fajr .After (date ):
153- prayerID , duration = domain .PrayerIDFajr , prayerDay .Fajr .Sub (date )
154- case prayerDay .Shuruq .After (date ):
155- prayerID , duration = domain .PrayerIDShuruq , prayerDay .Shuruq .Sub (date )
156- case prayerDay .Dhuhr .After (date ):
157- prayerID , duration = domain .PrayerIDDhuhr , prayerDay .Dhuhr .Sub (date )
158- case prayerDay .Asr .After (date ):
159- prayerID , duration = domain .PrayerIDAsr , prayerDay .Asr .Sub (date )
160- case prayerDay .Maghrib .After (date ):
161- prayerID , duration = domain .PrayerIDMaghrib , prayerDay .Maghrib .Sub (date )
162- case prayerDay .Isha .After (date ):
163- prayerID , duration = domain .PrayerIDIsha , prayerDay .Isha .Sub (date )
156+ case prayerDay .Fajr .After (now ):
157+ prayerID , duration = domain .PrayerIDFajr , prayerDay .Fajr .Sub (now )
158+ case prayerDay .Shuruq .After (now ):
159+ prayerID , duration = domain .PrayerIDShuruq , prayerDay .Shuruq .Sub (now )
160+ case prayerDay .Dhuhr .After (now ):
161+ prayerID , duration = domain .PrayerIDDhuhr , prayerDay .Dhuhr .Sub (now )
162+ case prayerDay .Asr .After (now ):
163+ prayerID , duration = domain .PrayerIDAsr , prayerDay .Asr .Sub (now )
164+ case prayerDay .Maghrib .After (now ):
165+ prayerID , duration = domain .PrayerIDMaghrib , prayerDay .Maghrib .Sub (now )
166+ case prayerDay .Isha .After (now ):
167+ prayerID , duration = domain .PrayerIDIsha , prayerDay .Isha .Sub (now )
164168 }
165169
166170 // when no prayer time is found, return the first prayer of the next day
@@ -170,7 +174,7 @@ func (h *Handler) next(ctx context.Context, b *bot.Bot, update *models.Update) e
170174 log .Error ("next: get prayer day" , log .Err (err ), log .BotID (chat .BotID ), log .ChatID (chat .ChatID ))
171175 return fmt .Errorf ("next: get prayer day: %v" , err )
172176 }
173- prayerID , duration = domain .PrayerIDFajr , prayerDay .Fajr .Sub (date )
177+ prayerID , duration = domain .PrayerIDFajr , prayerDay .Fajr .Sub (now )
174178 }
175179
176180 text := h .lp .GetText (chat .LanguageCode )
@@ -180,7 +184,13 @@ func (h *Handler) next(ctx context.Context, b *bot.Bot, update *models.Update) e
180184 ParseMode : models .ParseModeMarkdown ,
181185 })
182186 if err != nil {
183- log .Error ("next: send message" , log .Err (err ), log .BotID (chat .BotID ), log .ChatID (chat .ChatID ))
187+ log .Error ("next: send message" ,
188+ log .Err (err ),
189+ log .BotID (chat .BotID ),
190+ log .ChatID (chat .ChatID ),
191+ log .String ("date" , date .String ()),
192+ log .String ("prayer_day" , fmt .Sprintf ("%+v" , prayerDay )),
193+ )
184194 return fmt .Errorf ("next: send message: %v" , err )
185195 }
186196
0 commit comments