diff --git a/date/date.go b/date/date.go index 43551b4..23ce2e6 100644 --- a/date/date.go +++ b/date/date.go @@ -7,5 +7,26 @@ func Today(offset time.Duration) string { if err != nil { panic(err) } - return time.Now().In(location).Add(offset).Format("2006-01-02") + return time.Now().In(location).Add(offset).Format("2006-01-02") +} + +func GetTranslatedWeekday(date time.Time) string { + switch date.Weekday() { + case time.Monday: + return "Понедельник" + case time.Tuesday: + return "Вторник" + case time.Wednesday: + return "Среда" + case time.Thursday: + return "Четверг" + case time.Friday: + return "Пятница" + case time.Saturday: + return "Суббота" + case time.Sunday: + return "Воскресенье" + default: + return "" + } } diff --git a/messages/messages.go b/messages/messages.go index c0bf6d3..957b0ad 100644 --- a/messages/messages.go +++ b/messages/messages.go @@ -5,6 +5,7 @@ import ( "math/rand" "strconv" "strings" + "student_bot/date" "student_bot/new_year_service" "student_bot/parser" "time" @@ -29,11 +30,11 @@ func ThanksMessage() string { } func HelpMessage(chatID int64) string { - return "Вот чем я могу вам помочь (v1.4.2), отправь:\n\n" + + return "Вот чем я могу вам помочь (v1.4.3), отправь:\n\n" + "- /ping отобью pong\n" + "- /today_lessons покажу расписание на сегодня\n" + "- /tomorrow_lessons покажу расписание на завтра\n" + - "- /all_lessons - пары на несколько дней\n" + + "- /all_lessons - пары на несколько дней\n" + "- /weather покажу погоду у универа\n" + "- /new_year - посчитаю количество дней до нового года\n" + "\nНу а больше я пока ничего не умею" + @@ -55,28 +56,28 @@ func LessonsMessage(schedule []parser.Lesson, prefix, emptyText string) string { } endDate := "" for _, l := range schedule { - if endDate != l.TimeStart.Format("02.01") { + if endDate != l.TimeStart.Format("02.01") { if endDate != "" { s += "\n" } endDate = l.TimeStart.Format("02.01") - s += endDate + "\n" + s += date.GetTranslatedWeekday(l.TimeStart) + " " + endDate + "\n" } if strings.Contains(l.User, "Ярных В.В.") { s += "⭐️ " } l.Name = strings.ReplaceAll(l.Name, l.Place, "") l.Name = strings.ReplaceAll(l.Name, "()", "") - l.Name = strings.ReplaceAll(l.Name, l.TimeStart.Format("15:04"), "") + l.Name = strings.ReplaceAll(l.Name, l.TimeStart.Format("15:04"), "") l.Name = strings.TrimSpace(l.Name) - s += fmt.Sprintf("%s %s (%s)\n", l.TimeMsg, l.Name, l.Place) + s += fmt.Sprintf("%s %s (%s)\n%s\n", l.TimeMsg, l.Name, l.Place, l.User) } if prefix != "" { s += "\n" + - "Д — Димитрова 66\n" + // (Филологический, социологический) - "Л — Ленина 61\n" + // (Математический, биологический) - "М — Ленина 61а\n" + // (Исторический и географический) - "С — Социалистический 68" // (Экономический и юридический) + "Д — Димитрова 66\n" + // (Филологический, социологический) + "Л — Ленина 61\n" + // (Математический, биологический) + "М — Ленина 61а\n" + // (Исторический и географический) + "С — Социалистический 68" // (Экономический и юридический) } return s } @@ -105,7 +106,7 @@ func WeatherMessage(w weather.Weather) string { func NewYearMessage(message new_year_service.NewYearMessage) string { loc := time.FixedZone("UTC+7", +7*60*60) - ny := time.Date(2024, 1, 1, 0, 0, 0, 0, loc) + ny := time.Date(time.Now().Year()+1, 1, 1, 0, 0, 0, 0, loc) now := time.Now().In(loc) days := ny.Sub(now).Hours() / 24 if message.Header != "" {