From f54f59437edbbe7c202e9a21946f8988590daabc Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Mon, 22 Apr 2024 23:01:48 +0200 Subject: [PATCH] remove non-printable unicode from name --- main.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 6e57e19..8609f6b 100644 --- a/main.go +++ b/main.go @@ -10,6 +10,7 @@ import ( "os/exec" "strings" "time" + "unicode" ) type TF2Stat struct { @@ -59,11 +60,17 @@ func main() { continue } - var enc lineprotocol.Encoder + cleanName := strings.Map(func(r rune) rune { + if unicode.IsPrint(r) { + return r + } + return -1 + }, tStat.Name) + var enc lineprotocol.Encoder enc.StartLine("tf2server") enc.AddTag("address", string(ip)) - enc.AddTag("name", tStat.Name) + enc.AddTag("name", cleanName) enc.AddField("player", lineprotocol.IntValue(int64(tStat.NumPlayers))) enc.AddField("maxplayer", lineprotocol.IntValue(int64(tStat.MaxPlayers))) enc.AddField("ping", lineprotocol.IntValue(int64(tStat.Ping)))