Модуль:Prototypes/Механика/Доступ: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) Нет описания правки |
||
| Строка 40: | Строка 40: | ||
} | } | ||
-- Основная функция модуля | |||
function p.parse(frame) | function p.parse(frame) | ||
local id = frame.args[1] | |||
local | if not id then | ||
if not | |||
return "Нет данных для обработки" | return "Нет данных для обработки" | ||
end | end | ||
-- | -- Загрузка данные доступа | ||
local | local accessData = mw.title.new("User:IanComradeBot/prototypes/AccessReader/access.json"):getContent() | ||
if not | if not accessData then | ||
return "Ошибка: | return "Ошибка: не удалось загрузить данные доступа" | ||
end | end | ||
local success, jsonData = pcall(mw.text.jsonDecode, accessData) | |||
if not success or type(jsonData) ~= "table" then | |||
for _, item in ipairs( | return "Ошибка: некорректный формат данных доступа" | ||
if | end | ||
for _, item in ipairs(jsonData) do | |||
table. | if item.id == id and item.AccessReader and item.AccessReader.access then | ||
local result = {} | |||
for _, accessList in ipairs(item.AccessReader.access) do | |||
for _, access in ipairs(accessList) do | |||
table.insert(result, translations[access] or access) | |||
end | |||
end | |||
return table.concat(result, ", ") .. "." | |||
end | end | ||
end | end | ||
return "Ошибка: ID не найден в данных доступа" | |||
return | |||
end | end | ||
return p | return p | ||