Browse Source

Add departure time to status

master
Kenneth Bruen 9 months ago
parent
commit
55bfd56f81
Signed by: kbruen
GPG Key ID: C1980A470C3EE5B1
  1. 7
      pkg/handlers/findTrain.go

7
pkg/handlers/findTrain.go

@ -183,19 +183,20 @@ func HandleTrainNumberCommand(ctx context.Context, trainNumber string, date time
messageText.WriteString(fmt.Sprintf("Next stop: %s, arriving in %s at %s\n", nextStop.Name, arrStr, arrTime.In(utils.Location).Format("15:04"))) messageText.WriteString(fmt.Sprintf("Next stop: %s, arriving in %s at %s\n", nextStop.Name, arrStr, arrTime.In(utils.Location).Format("15:04")))
} else { } else {
depStr := "less than 1m" depStr := "less than 1m"
depDiff := nextStop.Departure.ScheduleTime.Add(func() time.Duration { depTime := nextStop.Departure.ScheduleTime.Add(func() time.Duration {
if nextStop.Departure.Status != nil { if nextStop.Departure.Status != nil {
return time.Minute * time.Duration(nextStop.Departure.Status.Delay) return time.Minute * time.Duration(nextStop.Departure.Status.Delay)
} else { } else {
return time.Nanosecond * 0 return time.Nanosecond * 0
} }
}()).Sub(time.Now()) }())
depDiff := depTime.Sub(time.Now())
if depDiff/time.Hour >= 1 { if depDiff/time.Hour >= 1 {
depStr = fmt.Sprintf("%dh%dm", depDiff/time.Hour, (depDiff%time.Hour)/time.Minute) depStr = fmt.Sprintf("%dh%dm", depDiff/time.Hour, (depDiff%time.Hour)/time.Minute)
} else if depDiff/time.Minute >= 1 { } else if depDiff/time.Minute >= 1 {
depStr = fmt.Sprintf("%dm", depDiff/time.Minute) depStr = fmt.Sprintf("%dm", depDiff/time.Minute)
} }
messageText.WriteString(fmt.Sprintf("Currently stopped at: %s, departing in %s\n", nextStop.Name, depStr)) messageText.WriteString(fmt.Sprintf("Currently stopped at: %s, departing in %s at %s\n", nextStop.Name, depStr, depTime.In(utils.Location).Format("15:04")))
} }
} }
if group.Status != nil { if group.Status != nil {

Loading…
Cancel
Save