diff --git a/commands.go b/commands.go index 66d237b..cbd5de8 100644 --- a/commands.go +++ b/commands.go @@ -75,6 +75,9 @@ func TimeCommandHandler(s *discordgo.Session, i *discordgo.InteractionCreate) { }) return } + + duration := courseMeetingTime.timeEnd.Sub(courseMeetingTime.timeStart) + s.InteractionRespond(i.Interaction, &discordgo.InteractionResponse{ Type: discordgo.InteractionResponseChannelMessageWithSource, Data: &discordgo.InteractionResponseData{ @@ -95,7 +98,7 @@ func TimeCommandHandler(s *discordgo.Session, i *discordgo.InteractionCreate) { }, { Name: "Start/End Time", - Value: fmt.Sprintf("%s - %s", courseMeetingTime.timeStart.String(), courseMeetingTime.timeEnd.String()), + Value: fmt.Sprintf("%s - %s (%d min)", courseMeetingTime.timeStart.String(), courseMeetingTime.timeEnd.String(), int64(duration.Minutes())), }, { Name: "Days of Week", diff --git a/helpers.go b/helpers.go index 81d4edf..6b990b7 100644 --- a/helpers.go +++ b/helpers.go @@ -162,6 +162,10 @@ type NaiveTime struct { Minutes uint } +func (nt NaiveTime) Sub(other NaiveTime) time.Duration { + return time.Hour*time.Duration(nt.Hours-other.Hours) + time.Minute*time.Duration(nt.Minutes-other.Minutes) +} + func ParseNaiveTime(integer uint64) NaiveTime { minutes := uint(integer % 100) hours := uint(integer / 100)