add version tag to ping response

This commit is contained in:
lyx0 2023-10-11 20:23:12 +02:00
parent cc6e6b5fc1
commit 7208fb6556
2 changed files with 46 additions and 1 deletions

View file

@ -10,7 +10,9 @@ import (
func Ping() string { func Ping() string {
botUptime := humanize.Time(common.GetUptime()) botUptime := humanize.Time(common.GetUptime())
commandsUsed := common.GetCommandsUsed() commandsUsed := common.GetCommandsUsed()
commit := common.GetVersion()
reply := fmt.Sprintf("Pong! :) Commands used: %v, Last restart: %v, Running on commit: %v", commandsUsed, botUptime, commit)
reply := fmt.Sprintf("Pong! :) Commands used: %v, Last restart: %v", commandsUsed, botUptime)
return reply return reply
} }

View file

@ -0,0 +1,43 @@
// File pretty much completely stolen from a generated
// Autostrada project I used a while ago. They don't
// require attribution but I still want to give them
// credit for their amazing project.
// https://autostrada.dev/
package common
import (
"fmt"
"runtime/debug"
)
func GetVersion() string {
var revision string
var modified bool
bi, ok := debug.ReadBuildInfo()
if ok {
for _, s := range bi.Settings {
switch s.Key {
case "vcs.revision":
revision = s.Value
case "vcs.modified":
if s.Value == "true" {
modified = true
}
}
}
}
if revision == "" {
return "unavailable"
}
if modified {
return fmt.Sprintf("%s-dirty", revision)
}
fmt.Println(revision)
return revision
}