package schedule import ( "fmt" "log" "os" "git.inkling.su/mrqiz/schedule-poll/internal/config" "git.inkling.su/mrqiz/schedule-poll/internal/telegram" ) func PollSchedule() { flagFilePath := config.AppConfig.FlagfilePath if _, fileErr := os.Stat(flagFilePath); fileErr == nil { return } facultyId := config.AppConfig.Schedule.FacultyId groupId := config.AppConfig.Schedule.GroupId date := config.AppConfig.Schedule.StartDate week, err := GetWeek(groupId, date) if err != nil { log.Panicln("Failed to get week data", err) } days := len(week.Days) if days != 0 { siteUrl := GetScheduleUrl(facultyId, groupId, date) msg := fmt.Sprintf( "❗ Опубликовано расписание на новый семестр!\n\n"+ "Появились занятия на неделе с %s\n"+ "Доступно дней: %d\n\n"+ "Неделя на сайте расписания\n", date, days, siteUrl) err = telegram.SendMessage(config.AppConfig.Telegram.ChatId, msg) if err != nil { log.Panicln("Unable to send message: ", err) } os.WriteFile(flagFilePath, []byte(msg), os.FileMode(0777)) log.Printf("Found %d days", len(week.Days)) } }