diff --git a/go.mod b/go.mod index b0e9391..3cf3632 100644 --- a/go.mod +++ b/go.mod @@ -1,5 +1,5 @@ module go.balki.me/tglistbot -go 1.21 +go 1.23.4 -require go.balki.me/anyhttp v0.3.0 +require go.balki.me/anyhttp v0.4.0 diff --git a/go.sum b/go.sum index 50912eb..63bffb4 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,2 @@ -go.balki.me/anyhttp v0.3.0 h1:WtBQ0rnkg567sX/O4ij/+qBbdCIUt5VURSe718sITBY= -go.balki.me/anyhttp v0.3.0/go.mod h1:JhfekOIjgVODoVqUCficjpIgmB3wwlB7jhN0eN2EZ/s= +go.balki.me/anyhttp v0.4.0 h1:K639Mc8qCIO5B6ugLJCLQenkwxh9rihEK5JZ/xNfvV0= +go.balki.me/anyhttp v0.4.0/go.mod h1:JhfekOIjgVODoVqUCficjpIgmB3wwlB7jhN0eN2EZ/s= diff --git a/main.go b/main.go index b874088..223089a 100644 --- a/main.go +++ b/main.go @@ -3,7 +3,6 @@ package main import ( "bytes" - "context" "encoding/json" "fmt" "io" @@ -17,7 +16,6 @@ import ( "time" "go.balki.me/anyhttp" - "go.balki.me/anyhttp/idle" "go.balki.me/tglistbot/glist" ) @@ -27,10 +25,9 @@ var apiToken string var usage = `Telegram List bot Environment variables: -TGLB_API_TOKEN (required) : See https://core.telegram.org/bots#how-do-i-create-a-bot -TGLB_ADDR (default 28923) : See https://pkg.go.dev/go.balki.me/anyhttp#readme-address-syntax -TGLB_DATA_PATH (default .) : Directory path where list data is stored -TGLB_TIMEOUT (default 30m) : Timeout to auto shutdown if using systemd-fd, See https://pkg.go.dev/time#ParseDuration +TGLB_API_TOKEN (required) : See https://core.telegram.org/bots#how-do-i-create-a-bot +TGLB_ADDR (default :28923) : See https://pkg.go.dev/go.balki.me/anyhttp#readme-address-syntax +TGLB_DATA_PATH (default .) : Directory path where list data is stored ` func main() { @@ -46,7 +43,7 @@ func main() { addr := func() string { addr := os.Getenv("TGLB_ADDR") if addr == "" { - return "28923" + return ":28923" } return addr }() @@ -63,18 +60,6 @@ func main() { return dataPath }() - timeout := func() time.Duration { - timeoutStr := os.Getenv("TGLB_TIMEOUT") - if timeoutStr == "" { - return 30 * time.Minute - } - timeout, err := time.ParseDuration(timeoutStr) - if err != nil { - log.Panicf("Invalid timeout: %q\n", timeoutStr) - } - return timeout - }() - glist.DataPath = dataPath version := func() string { @@ -169,24 +154,11 @@ func main() { } }) - addrType, server, done, err := anyhttp.Serve(addr, idle.WrapHandler(nil)) + + err := anyhttp.ListenAndServe(addr, nil) if err != nil { log.Panicln(err) } - if addrType == anyhttp.SystemdFD { - log.Println("server started") - if err := idle.Wait(timeout); err != nil { - log.Panicln(err) - } - log.Printf("server idle for %v, shutting down\n", timeout) - ctx, cancel := context.WithTimeout(context.Background(), 1*time.Minute) // Don't want any stuck connections - defer cancel() - if err := server.Shutdown(ctx); err != nil { - log.Panicln(err) - } - } else { - <-done - } } func handleTextAdded(gl *glist.GList, text string) {