Module:STikiLeaderboard
Appearance
![]() | This module is rated as beta, and is ready for widespread use. It is still new and should be used with some caution to ensure the results are as expected. |
This 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}}
|
|
{{#invoke:STikiLeaderboard|uses|West.andrew.g}}
|
Script error: The function "uses" does not exist. |
{{#invoke:STikiLeaderboard|queue|Fraggle81}}
|
Script error: The function "queue" does not exist. |
{{#invoke:STikiLeaderboard|first|Widr}}
|
Script error: The function "first" does not exist. |
p = {}
-- Get the raw leaderboard content.
local leaderboard = mw.title.new('Wikipedia:STiki/leaderboard')
local leaderboardText
if leaderboard then
leaderboardText = leaderboard:getContent()
end
-- Get the rank and uses for a given username.
local function findLeaderboardVals(username)
if not username then
return error('No username specified')
end
if not leaderboardText then
error('Could not find the leaderboard text')
end
local rank, uses = mw.ustring.match(leaderboardText, '\n| align=center | (%d+) || align=left | %[%[User:' .. username .. '|' .. username .. '%]%] %(%[%[User_Talk:' .. username .. '|talk%]%] | %[%[Special:Contributions/' .. username .. '|contribs%]%]%) || align=right | (%d+) ||')
return rank, uses
end
-- Get the username from #invoke and return the rank using findLeaderboardVals().
function p.rank(frame)
local username = frame.args[1]
local rank, uses = findLeaderboardVals(username)
return rank
end
-- Get the username from #invoke and return the uses using findLeaderboardVals().
function p.rank(frame)
local username = frame.args[1]
local rank, uses = findLeaderboardVals(username)
return uses
end
return p