(Створена сторінка: 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...)
 
Немає опису редагування
 
(Не показано одну проміжну версію цього користувача)
Рядок 2: Рядок 2:


function p.FetchData(frame)
function p.FetchData(frame)
     local categoryName = "Учасники_спільноти_MCC"  -- category name as per your URL
     -- List of player pages to process
     local titles = mw.site.stats.getPagesInCategory(categoryName, "pages")
     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 in the category
     -- Process each player page
     for _, pageTitle in ipairs(titles) do
     for _, playerName in ipairs(players) do
         local pageContent = mw.title.new(pageTitle):getContent()
         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'
          
          
        -- Extract data using patterns
        local nickname = pageContent:match("| nickname = ([^\n]+)")
        local prizePool = pageContent:match("| prize_pool = ([^\n]+)")
        local dateAdded = pageContent:match("| date_added = ([^\n]+)")
        local recruiter = pageContent:match("| recruiter = %[%[([^|%]]+)|")
         -- 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 'N/A', prizePool or 'N/A', dateAdded or 'N/A', recruiter or 'N/A')
         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