Модуль: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