-- Get the raw leaderboard content.local lb = mw.title.new('Wikipedia:STiki/Leaderboard')local lbtext = (lb and lb:getContent) or error('Could not find the leaderboard text')
-- Get a specific data value for a given username.local function findLeaderboardData(dfield, username) username = username:gsub('%p', '%%%0') local r = r.rank, r.uses, r.vand, r.agf, r.queue, r.first, r.last, r.avg, r.yest, r.last30 = string.match(lbtext, '\n| align=center | (%d+) || align=left | %[%[User:' .. username .. '|' .. username .. '%]%] %(%[%[User_Talk:' .. username .. '|talk%]%] | %[%[Special:Contributions/' .. username .. '|contribs%]%]%) || align=right | (%d+) || align=right | ([%d%.]+)%% ' .. '|| align=right | ([%d%.]+)%% || align=center | (%S+) || align=right ' .. '| (%d+) days ago || align=right | (%d+) days ago || align=right ' .. '| ([%d%.]+) edits || align=right | (%d+) || align=right | (%d+)' ) return r[dfield]end
-- Expose the data values to wikitextreturn setmetatable