Change time zone to central and remove double timezone listing
This commit is contained in:
parent
fa7185ec01
commit
551f077158
28
Dockerfile
Normal file
28
Dockerfile
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
# Use the official Go 1.23 image for building the application
|
||||||
|
FROM golang:1.23-alpine AS builder
|
||||||
|
|
||||||
|
# Set the working directory inside the container
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Copy the Go modules manifest and download dependencies
|
||||||
|
COPY go.mod go.sum ./
|
||||||
|
RUN go mod download
|
||||||
|
|
||||||
|
# Copy the rest of the application source code
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Build the Go application from the appropriate directory inside 'cmd'
|
||||||
|
RUN go build -o discord-scores-bot ./cmd/main.go
|
||||||
|
|
||||||
|
# Create a minimal runtime image
|
||||||
|
FROM alpine:latest
|
||||||
|
RUN apk --no-cache add ca-certificates
|
||||||
|
|
||||||
|
# Set the working directory
|
||||||
|
WORKDIR /root/
|
||||||
|
|
||||||
|
# Copy the built Go binaries from the builder stage
|
||||||
|
COPY --from=builder /app/discord-scores-bot .
|
||||||
|
|
||||||
|
# Run the bot (use separate Dockerfiles if needed for distinct deployments)
|
||||||
|
CMD ["./discord-scores-bot"]
|
@ -1,6 +1,6 @@
|
|||||||
package config
|
package config
|
||||||
|
|
||||||
var BotToken = " "
|
var BotToken = "REDACTED"
|
||||||
|
|
||||||
var CustomTeamNames = map[string]string{
|
var CustomTeamNames = map[string]string{
|
||||||
"UGA": "Georgia",
|
"UGA": "Georgia",
|
||||||
|
@ -7,6 +7,7 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
|
"time"
|
||||||
"unicode"
|
"unicode"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -32,6 +33,22 @@ type Team struct {
|
|||||||
} `json:"names"`
|
} `json:"names"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Convert time from Eastern to Central
|
||||||
|
func convertToCentralTime(easternTime string) (string, error) {
|
||||||
|
parsedTime, err := time.Parse("03:04PM ET", easternTime)
|
||||||
|
if err != nil {
|
||||||
|
return "", fmt.Errorf("error parsing time: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
centralLocation, err := time.LoadLocation("America/Chicago")
|
||||||
|
if err != nil {
|
||||||
|
return "", fmt.Errorf("error loading Central Time location: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
centralTime := parsedTime.In(centralLocation)
|
||||||
|
return centralTime.Format("03:04 PM"), nil
|
||||||
|
}
|
||||||
|
|
||||||
func GetGameInfo(teamName string) string {
|
func GetGameInfo(teamName string) string {
|
||||||
teamName = strings.TrimSpace(teamName)
|
teamName = strings.TrimSpace(teamName)
|
||||||
week := ""
|
week := ""
|
||||||
@ -90,8 +107,13 @@ func GetGameInfo(teamName string) string {
|
|||||||
game.Game.Home.Names.Short, game.Game.Home.Score,
|
game.Game.Home.Names.Short, game.Game.Home.Score,
|
||||||
period, game.Game.ContestClock)
|
period, game.Game.ContestClock)
|
||||||
} else if game.Game.GameState == "pre" {
|
} else if game.Game.GameState == "pre" {
|
||||||
gameInfo = fmt.Sprintf("Upcoming: %s @ %s on %s at %s ET",
|
centralTime, err := convertToCentralTime(game.Game.StartTime)
|
||||||
game.Game.Away.Names.Short, game.Game.Home.Names.Short, game.Game.StartDate, game.Game.StartTime)
|
if err != nil {
|
||||||
|
log.Printf("Time conversion error: %v", err)
|
||||||
|
centralTime = game.Game.StartTime // Fall back to the original if conversion fails
|
||||||
|
}
|
||||||
|
gameInfo = fmt.Sprintf("Upcoming: %s @ %s on %s at %s CT",
|
||||||
|
game.Game.Away.Names.Short, game.Game.Home.Names.Short, game.Game.StartDate, centralTime)
|
||||||
} else if game.Game.GameState == "final" {
|
} else if game.Game.GameState == "final" {
|
||||||
gameInfo = fmt.Sprintf("Final: %s: **%s** %s: **%s**",
|
gameInfo = fmt.Sprintf("Final: %s: **%s** %s: **%s**",
|
||||||
game.Game.Away.Names.Short, game.Game.Away.Score,
|
game.Game.Away.Names.Short, game.Game.Away.Score,
|
||||||
@ -108,4 +130,3 @@ func GetGameInfo(teamName string) string {
|
|||||||
|
|
||||||
return "No game found for the specified team."
|
return "No game found for the specified team."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user