From 7615daa57e0749e06d739128fe6e000be1125d2d Mon Sep 17 00:00:00 2001 From: eleksir Date: Sat, 21 May 2022 02:55:42 +0300 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=BE=D0=BB=D0=B5=D0=B5=20=D1=80=D0=B0?= =?UTF-8?q?=D0=BD=D0=B4=D0=BE=D0=BC=D0=BD=D1=8B=D0=B9=20=D1=80=D0=B0=D0=BD?= =?UTF-8?q?=D0=B4=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- aleesa-phrases-lib.go | 5 ++++- aleesa-phrases.go | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/aleesa-phrases-lib.go b/aleesa-phrases-lib.go index 781b58c..ebc6da8 100644 --- a/aleesa-phrases-lib.go +++ b/aleesa-phrases-lib.go @@ -95,6 +95,9 @@ var pebbleDB struct { } } +// Создадим источник рандома +var random *rand.Rand + // ReadConfig читает и валидирует конфиг, а также выставляет некоторые default-ы, если значений для параметров в конфиге нет func ReadConfig() MyConfig { configLoaded := false @@ -307,7 +310,7 @@ func FetchRandomV(db *pebble.DB, dbName string) (string, error) { return answer, fmt.Errorf("garbage in count_db while getting info about %s: %s", dbName, err) } - phraseNum := 1 + rand.Intn(amountNum) + phraseNum := random.Intn(amountNum + 1) phraseItem := fmt.Sprintf("%d", phraseNum) answer, err = FetchV(db, phraseItem) diff --git a/aleesa-phrases.go b/aleesa-phrases.go index b44c756..ad8e389 100644 --- a/aleesa-phrases.go +++ b/aleesa-phrases.go @@ -8,6 +8,7 @@ import ( "fmt" "io/fs" "math" + "math/rand" "os" "os/signal" "strconv" @@ -552,6 +553,10 @@ func init() { TimestampFormat: "2006-01-02 15:04:05", }) + // Запустим наш рандомайзер + rngSeed := rand.NewSource(time.Now().UnixNano()) + random = rand.New(rngSeed) + config = ReadConfig() // no panic, no trace