package commands import ( "fmt" "os/exec" "strings" "github.com/bwmarrin/discordgo" "PermissionGacha/modules/log" ) var versionString string func handleVersionCommand(s *discordgo.Session, args []string, m *discordgo.MessageCreate) error { if versionString == "" { out, err := exec.Command("git", "describe", "--tags").Output() if err != nil { log.Error( s, fmt.Errorf("modules/commands: error while requesting version information from git: %v", err), ) versionString = "Error while generating version string." } else { info := strings.Split(strings.TrimSpace(string(out)), "-") if len(info) == 1 { versionString = fmt.Sprintf( "**VERSION > **Current running version: __%s.0__ (Internal ID: unknown)", info[0], ) } else { versionString = fmt.Sprintf( "**VERSION > **Current running version: __%s.%s__ (Internal ID: %s)", info[0], info[1], info[2], ) } } } s.ChannelMessageSend(m.ChannelID, versionString) return nil }