fix reload, new valute

This commit is contained in:
Er2 2022-02-13 14:06:46 +03:00
parent 70da2d717e
commit 65b2f6eebc
3 changed files with 26 additions and 10 deletions

View file

@ -7,11 +7,12 @@ return {
end
local path = 'src.'..cat..'.'..sub
C.api:off(package.loaded[path])
package.loaded[path] = nil
local err, m = pcall(require, path)
local suc, m = pcall(require, path)
if not err then return C.api:reply(msg, 'Reload failed. ' .. m)
elseif cat == 'events' then C.api:off(m); C.api:on(sub, m)
if not suc then return C.api:reply(msg, 'Reload failed. ' .. m)
elseif cat == 'events' then C.api:on(sub, m)
elseif cat == 'cmds' then C.cmds[sub] = m
elseif cat == 'parts' then m(C)
end

View file

@ -23,6 +23,15 @@ function rub:course(wants)
Name = 'Российский рубль',
Value = '1'
})
local uah = table.findV(resp.Valute, {CharCode = 'UAH'})
table.insert(resp.Valute, {
ID = 'R02000',
NumCode = '200',
CharCode = 'SHT',
Nominal = 1,
Name = 'Штаны',
Value = ('%f'):format(tonumber(uah.Value:gsub(',', '.'), nil) / uah.Nominal * 40)
})
wants = type(wants) == 'table' and wants or {}
local r, founds = {}, {}

View file

@ -5,14 +5,20 @@
end
function table.find(t, w)
local i
for k,v in pairs(t) do
if v == w then
i = k
break
for _,v in pairs(t) do
if v == w then return v end
end
end
return i
function table.findV(t, w)
local b
for _,v in pairs(t) do
for k,x in pairs(w) do
if x ~= v[k] then b=1; break end
end
if b then b = nil
else return v end
end
end
function dump(t, d)