diff --git a/Dockerfile b/Dockerfile index 1820c7f..f1c9ce2 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ ##### Stage 1 ##### ### Use golang:1.18 as base image for building the application -FROM golang:1.19 as builder +FROM golang:1.23 as builder ### Create new directly and set it as working directory RUN mkdir -p /app diff --git a/fly.toml b/fly.toml index 9c14b08..cac8963 100644 --- a/fly.toml +++ b/fly.toml @@ -7,10 +7,12 @@ app = "hampbot" primary_region = "bos" [build] + [build.args] + GO_VERSION = "1.23.0" build-target = "runner" [http_service] - auto_stop_machines = true + auto_stop_machines = "stop" auto_start_machines = true min_machines_running = 1 processes = ["app"] diff --git a/internal/utils/dcmenu/dcmenu.go b/internal/utils/dcmenu/dcmenu.go index 0b5ab73..1f890ce 100644 --- a/internal/utils/dcmenu/dcmenu.go +++ b/internal/utils/dcmenu/dcmenu.go @@ -41,11 +41,18 @@ func Run(session *discordgo.Session) { panic(err) } - var todaysMenu *Meal + if menu == nil { + panic("menu is nil") + } - for i, v := range *menu { - if v.Date == time.Now().Format("1/2/2006") { - todaysMenu = &(*menu)[i] + refMenu := *menu + + var todaysMenu Meal + todaysDate := time.Now().Format("1/2/2006") + + for i, v := range refMenu { + if v.Date == todaysDate { + todaysMenu = refMenu[i] break } } @@ -80,12 +87,15 @@ func Run(session *discordgo.Session) { }) // Send the Menu to the channel - _, err = session.ChannelMessageSendEmbed("1016558809667350528", &discordgo.MessageEmbed{ - Title: fmt.Sprintf("🍕 **Menu for %s**", (*menu)[0].Date), + _, err = session.ChannelMessageSendEmbed("1142231837331181678", &discordgo.MessageEmbed{ + Title: fmt.Sprintf("🍕 **Menu for %s**", todaysMenu.Date), Fields: fields, Color: 0x00ff00, }) + if err != nil { + panic(err) + } } func ParseWebsite() (*string, error) { diff --git a/main.go b/main.go index ded4e8c..e4949cb 100644 --- a/main.go +++ b/main.go @@ -149,9 +149,12 @@ func main() { log.Fatal(err) } - dcMenuJob, err := s.NewJob(gocron.DailyJob(1, gocron.NewAtTimes(gocron.NewAtTime(8, 0, 0))), gocron.NewTask(func() { - dcmenu.Run(session) - })) + dcMenuJob, err := s.NewJob( + gocron.DailyJob(1, gocron.NewAtTimes(gocron.NewAtTime(8, 0, 0))), + gocron.NewTask(func() { + dcmenu.Run(session) + }), + ) if err != nil { log.Fatal(err) @@ -166,15 +169,4 @@ func main() { if err != nil { log.Fatal(err) } - - // block until you are ready to shut down - select { - case <-time.After(time.Minute): - } - - // when you're done, shut it down - err = s.Shutdown() - if err != nil { - // handle error - } }