Модуль:List: відмінності між версіями
Admin (обговорення | внесок) (Створена сторінка: local p = {} function p.FetchData(frame) local categoryName = "Учасники_спільноти_MCC" -- category name as per your URL local titles = mw.site.stats.getPagesInCategory(categoryName, "pages") -- Start the wikitable local output = '{| class="wikitable"\n' output = output .. '! Nickname !! Prize Pool !! Date Added !! Recruiter\n' -- Process each page in the category for _, pageTitle in ipairs(titles) do...) |
Admin (обговорення | внесок) Немає опису редагування |
||
(Не показано одну проміжну версію цього користувача) | |||
Рядок 2: | Рядок 2: | ||
function p.FetchData(frame) | function p.FetchData(frame) | ||
-- List of player pages to process | |||
local | local players = { | ||
"Індиго", "Адамант", "Алоха", "Аріель", "Берлін", "Бетмен", "Браун", | |||
"ВВ", "Дантес", "Демон", "Джордж", "Доктор Хаус", "Доктор Ямато", | |||
"Емесай", "ЕХС", "Кексік", "Керміт", "Клайд", "Клей", "Комар", | |||
"Лівінгстон", "Лемур", "Містер Тен", "Малена", "Мальвінка", "Маска", | |||
"Мері", "Механік", "Ніколетта", "Оттерія", "Расм", "Сімон", "Справа", | |||
"Тайєр", "Тян", "Фавер", "Фаза", "Фейт", "Хантер", "Хоррорчік", "Шостік" | |||
} | |||
-- Start the wikitable | -- Start the wikitable | ||
Рядок 9: | Рядок 16: | ||
output = output .. '! Nickname !! Prize Pool !! Date Added !! Recruiter\n' | output = output .. '! Nickname !! Prize Pool !! Date Added !! Recruiter\n' | ||
-- Process each page | -- Process each player page | ||
for _, | for _, playerName in ipairs(players) do | ||
local | local page = mw.title.new(playerName) | ||
local content = page:getContent() | |||
-- Extract data using patterns (assume your template fields are consistent) | |||
local nickname = content:match("| nickname = ([^\n]+)") | |||
local prizePool = content:match("| prize_pool = ([^\n]+)") | |||
local dateAdded = content:match("| date_added = ([^\n]+)") | |||
local recruiterLink = content:match("| recruiter = %[%[([^|%]]+)") | |||
local recruiter = recruiterLink and mw.title.new(recruiterLink):getPrefixedText() or 'N/A' | |||
-- Append to the table | -- Append to the table | ||
output = output .. '|-\n' | output = output .. '|-\n' | ||
output = output .. string.format('| %s || %s || %s || %s\n', nickname or | output = output .. string.format('| %s || %s || %s || %s\n', nickname or playerName, prizePool or 'N/A', dateAdded or 'N/A', recruiter) | ||
end | end | ||
-- Close the wikitable | -- Close the wikitable | ||
output = output .. '|}' | output = output .. '|}' | ||
return output | return output | ||
end | end | ||
return p | return p |
Поточна версія на 22:29, 22 квітня 2024
Документацію для цього модуля можна створити у Модуль:List/документація
local p = {} function p.FetchData(frame) -- List of player pages to process local players = { "Індиго", "Адамант", "Алоха", "Аріель", "Берлін", "Бетмен", "Браун", "ВВ", "Дантес", "Демон", "Джордж", "Доктор Хаус", "Доктор Ямато", "Емесай", "ЕХС", "Кексік", "Керміт", "Клайд", "Клей", "Комар", "Лівінгстон", "Лемур", "Містер Тен", "Малена", "Мальвінка", "Маска", "Мері", "Механік", "Ніколетта", "Оттерія", "Расм", "Сімон", "Справа", "Тайєр", "Тян", "Фавер", "Фаза", "Фейт", "Хантер", "Хоррорчік", "Шостік" } -- Start the wikitable local output = '{| class="wikitable"\n' output = output .. '! Nickname !! Prize Pool !! Date Added !! Recruiter\n' -- Process each player page for _, playerName in ipairs(players) do local page = mw.title.new(playerName) local content = page:getContent() -- Extract data using patterns (assume your template fields are consistent) local nickname = content:match("| nickname = ([^\n]+)") local prizePool = content:match("| prize_pool = ([^\n]+)") local dateAdded = content:match("| date_added = ([^\n]+)") local recruiterLink = content:match("| recruiter = %[%[([^|%]]+)") local recruiter = recruiterLink and mw.title.new(recruiterLink):getPrefixedText() or 'N/A' -- Append to the table output = output .. '|-\n' output = output .. string.format('| %s || %s || %s || %s\n', nickname or playerName, prizePool or 'N/A', dateAdded or 'N/A', recruiter) end -- Close the wikitable output = output .. '|}' return output end return p