Module:STikiLeaderboard
MyWikiBiz, Author Your Legacy — Friday December 27, 2024
Jump to navigationJump to searchThis module displays statistics about a given editor's use of the STiki anti-vandalism tool. It reads the information from Wikipedia:STiki/leaderboard.
Usage
{{#invoke:STikiLeaderboard|<!-- code -->|<!--username-->}}
Leaderboard data field | Code |
---|---|
Rank | rank
|
Uses | uses
|
Percentage of edits tagged as vandalism | vand
|
Percentage of edits reverted while assuming good faith | agf
|
Favourite queue | queue
|
First use | first
|
Last use | last
|
Average daily edits | avg
|
Uses yesterday | yest
|
Uses in the last 30 days | last30
|
Examples
Input | Output |
---|---|
{{#invoke:STikiLeaderboard|rank|West.andrew.g}}
|
Lua error at line 3: Could not find the leaderboard text. |
{{#invoke:STikiLeaderboard|uses|West.andrew.g}}
|
Lua error at line 3: Could not find the leaderboard text. |
{{#invoke:STikiLeaderboard|queue|Fraggle81}}
|
Lua error at line 3: Could not find the leaderboard text. |
{{#invoke:STikiLeaderboard|first|Widr}}
|
Lua error at line 3: Could not find the leaderboard text. |
-- 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 ' .. '| {{ntsh|%d+}} (%d+) days ago || align=right | {{ntsh|%d+}} (%d+) days ago || align=right ' .. '| {{ntsh|[%d%.]+}} ([%d%.]+) edits || align=right | (%d+) || align=right | (%d+)' ) return r[dfield] end -- Expose the data values to wikitext return setmetatable({}, { __index = function (t, key) return function (frame) local username = frame.args[1] or '' username = mw.getContentLanguage():ucfirst(mw.text.trim(username)) if username == '' then error('No username specified') end return findLeaderboardData(key, username) end end })