From 3302634f615e62b678535e7c80fc4b9ace43bbf7 Mon Sep 17 00:00:00 2001 From: "Timofey.Kovalev" Date: Wed, 16 Jun 2021 12:02:15 +0300 Subject: [PATCH] add format duration --- go.mod | 1 + go.sum | 2 ++ playersBoard.go | 10 +++++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index e4a3405..93f6f89 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.16 require ( github.com/go-telegram-bot-api/telegram-bot-api v4.6.4+incompatible + github.com/hako/durafmt v0.0.0-20210608085754-5c1018a4e16b github.com/jessevdk/go-flags v1.5.0 github.com/lib/pq v1.10.2 github.com/pkg/errors v0.9.1 diff --git a/go.sum b/go.sum index fff4f84..add5fe6 100644 --- a/go.sum +++ b/go.sum @@ -2,6 +2,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-telegram-bot-api/telegram-bot-api v4.6.4+incompatible h1:2cauKuaELYAEARXRkq2LrJ0yDDv1rW7+wrTEdVL3uaU= github.com/go-telegram-bot-api/telegram-bot-api v4.6.4+incompatible/go.mod h1:qf9acutJ8cwBUhm1bqgz6Bei9/C/c93FPDljKWwsOgM= +github.com/hako/durafmt v0.0.0-20210608085754-5c1018a4e16b h1:wDUNC2eKiL35DbLvsDhiblTUXHxcOPwQSCzi7xpQUN4= +github.com/hako/durafmt v0.0.0-20210608085754-5c1018a4e16b/go.mod h1:VzxiSdG6j1pi7rwGm/xYI5RbtpBgM8sARDXlvEvxlu0= github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8= diff --git a/playersBoard.go b/playersBoard.go index 2ddc02e..b948bf0 100644 --- a/playersBoard.go +++ b/playersBoard.go @@ -6,6 +6,7 @@ import ( "sync" tgbotapi "github.com/go-telegram-bot-api/telegram-bot-api" + "github.com/hako/durafmt" "github.com/pkg/errors" ) @@ -59,10 +60,17 @@ func (p *playerInfo) updatePlayerInfo(ctx context.Context) error { level = fmt.Sprintf("%d", player.level) } + d := durafmt.Parse(player.onlineDuration).LimitFirstN(3) + + units, err := durafmt.DefaultUnitsCoder.Decode("мес.:мес.,нед.:нед.,дн.:дн.,чс.:чс.,мин.:мин.,cек.:cек.,-:-,-:-") + if err != nil { + panic(err) + } + test = fmt.Sprintf(test, player.name, access, emojiUp, level, emojiDeaths, player.deaths, - emojiTime, player.onlineDuration.String(), + emojiTime, d.Format(units), emojiGun, kills, )