From b80a4c3cce06cc5fd0f3b25fe80a8dbf02d31764 Mon Sep 17 00:00:00 2001 From: Clxud Date: Thu, 16 Mar 2023 18:00:54 +0000 Subject: [PATCH] sync --- .gitignore | 4 ++++ init.lua | 1 + libs/node.lua | 2 +- libs/pool.lua | 9 +++++++-- libs/utils.lua | 17 ++++++++++++++++- 5 files changed, 29 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 2a4e6c2..d4f0db1 100644 --- a/.gitignore +++ b/.gitignore @@ -46,4 +46,8 @@ test.lua *.json *.log +*.Dockerfile +*.yml + +/luvit diff --git a/init.lua b/init.lua index 7bdf71f..494fd46 100644 --- a/init.lua +++ b/init.lua @@ -1,4 +1,5 @@ return { + Enums = require('enums'), Node = require('node'), Player = require('player'), Pool = require('pool'), diff --git a/libs/node.lua b/libs/node.lua index 7f74a5d..c5ea9c1 100644 --- a/libs/node.lua +++ b/libs/node.lua @@ -12,7 +12,7 @@ local SearchType = enums.SearchType local Emitter = discordia.Emitter local class = discordia.class -local Node, get = class('FlareNode', Emitter) +local Node, get = class('Node', Emitter) local format = string.format diff --git a/libs/pool.lua b/libs/pool.lua index 003ac34..0b399bf 100644 --- a/libs/pool.lua +++ b/libs/pool.lua @@ -3,6 +3,8 @@ local class = discordia.class local Node = require('node') local Pool, get = class('Pool') +local dump = require('utils').dump +local random_value = require('utils').random_value local format = string.format @@ -19,14 +21,17 @@ function Pool:create_node(client, options) end options.pool = self - self._nodes[options.identifier] = Node(client, options) + local id = options.identifier + self._nodes[id] = Node(client, options) end function Pool:get_node(identifier) if self._nodes[identifier] then return self._nodes[identifier] else - return self._nodes[math.random(#self._nodes)] + print("getting random node") + local node = random_value(self._nodes) + print(node) end end diff --git a/libs/utils.lua b/libs/utils.lua index 2f6c048..20c5e75 100644 --- a/libs/utils.lua +++ b/libs/utils.lua @@ -31,8 +31,23 @@ function split(str, character) return result end +function random_value(tb) + local values = {} + for k, v in pairs(tb) do table.insert(values, v) end + print(values.index) + return tb[values[math.random(#values)]] +end + +function random_key(tb) + local keys = {} + for k in pairs(tb) do table.insert(keys, k) end + return tb[keys[math.random(#keys)]] +end + return { dump = dump, interp = interp, - split = split + split = split, + random_value = random_value, + random_key = random_key }