Add pluralization, use comma printing for search interaction, field count warning

This commit is contained in:
2024-02-16 17:10:01 -06:00
parent 5053decd1a
commit 44abcd605a
2 changed files with 15 additions and 2 deletions

View File

@@ -225,7 +225,7 @@ func SearchCommandHandler(session *discordgo.Session, interaction *discordgo.Int
Embeds: []*discordgo.MessageEmbed{
{
Footer: GetFetchedFooter(fetch_time),
Description: fmt.Sprintf("%d Classes", courses.TotalCount),
Description: p.Sprintf("%d Class%s", courses.TotalCount, Plurale(courses.TotalCount)),
Fields: fields[:min(25, len(fields))],
Color: color,
},
@@ -295,13 +295,17 @@ func TermCommandHandler(session *discordgo.Session, interaction *discordgo.Inter
fetch_time := time.Now()
if len(fields) > 25 {
log.Warn().Int("count", len(fields)).Msg("Too many fields in term command (trimmed)")
}
err = session.InteractionRespond(interaction.Interaction, &discordgo.InteractionResponse{
Type: discordgo.InteractionResponseChannelMessageWithSource,
Data: &discordgo.InteractionResponseData{
Embeds: []*discordgo.MessageEmbed{
{
Footer: GetFetchedFooter(fetch_time),
Description: p.Sprintf("%d of %d terms (page %d)", len(termResult), len(terms), pageNumber),
Description: p.Sprintf("%d of %d term%s (page %d)", len(termResult), len(terms), Plural(len(terms)), pageNumber),
Fields: fields[:min(25, len(fields))],
},
},

View File

@@ -150,6 +150,15 @@ func Plural(n int) string {
return "s"
}
// Plurale is a simple helper function that returns an empty string if n is 1, and "ess" otherwise.
// This is for words that end in "es" when plural.
func Plurale(n int) string {
if n == 1 {
return ""
}
return "es"
}
func WeekdaysToString(days map[time.Weekday]bool) string {
// If no days are present
numDays := len(days)