Module:ProfileInfoboxUpdater: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 49: | Line 49: | ||
local userdata = mw.ext.externalData.getExternalData({ | local userdata = mw.ext.externalData.getExternalData({ | ||
url = "https://statistics.johnymuffin.com/api/v1/getUser?serverID=0&uuid=" .. data.uuid, | url = "https://statistics.johnymuffin.com/api/v1/getUser?serverID=0&uuid=" .. data.uuid, | ||
data = {deaths='playerDeaths',pkilled='playersKilled',joins='joinCount',trustlevel='trustLevel',blocksdestroyed='blocksDestroyed',groups = 'Groups'}, | data = {deaths='playerDeaths',pkilled='playersKilled',joins='joinCount',traveled='metersTraveled',blocksplaced='blocksPlaced',itemsdropped='itemsDropped',trustlevel='trustLevel',blocksdestroyed='blocksDestroyed',groups = 'Groups', creatureskilled = 'creaturesKilled', balance='money'}, | ||
format = 'json' | format = 'json' | ||
}) | }) | ||
| Line 56: | Line 56: | ||
local trust = userdata.trustlevel | local trust = userdata.trustlevel -- Trust Level | ||
local | local blocksbroken = userdata.blocksdestroyed -- Blocks Broken | ||
local groups = userdata.groups | local traveled = userdata.traveled -- Meters Traveled | ||
local deaths = userdata.deaths | local blocksplaced = userdata.blocksplaced -- Blocks Placed | ||
local pkilled = userdata.pkilled | local itemsdropped = userdata.itemsdropped -- Items Dropped | ||
local joins = userdata.joins | local groups = userdata.groups -- Groups as in Ranks | ||
local deaths = userdata.deaths -- Player Deaths | |||
local pkilled = userdata.pkilled -- Players Killed | |||
local mkilled = userdata.creatureskilled -- Mob Kills | |||
local balance = userdata.balance -- Player's Money | |||
local joins = userdata.joins -- Join count | |||
if datatype == 'debug' then | if datatype == 'debug' then | ||
return uuid .. ' | ' .. trust .. ' | ' .. | return uuid .. ' | ' .. trust .. ' | ' .. blocksbroken .. ' | ' .. groups .. ' | ' .. deaths .. ' | ' .. pkilled .. ' | ' .. joins .. ' | ' .. itemsdropped .. ' | ' .. blocksplaced .. ' | ' .. traveled .. ' | ' .. mkilled .. ' | ' .. balance .. ' | ' .. "{{MCColor|&4|WARNING: DEBUG MODE ENABLED}}" | ||
end | end | ||
| Line 77: | Line 82: | ||
if datatype == 'broken' then | if datatype == 'broken' then | ||
return | return blocksbroken | ||
end | end | ||
if datatype == 'rank' then | if datatype == 'rank' then | ||
if groups then | if groups then -- RANKLIST START -- | ||
if string.find(groups, "admin") then | if string.find(groups, "admin") then --ADMIN | ||
return 'Admin' | return 'Admin' | ||
end | end | ||
if string.find(groups, "trial") then | if string.find(groups, "trial") then -- Trial Helper | ||
return 'Trial Helper' | return 'Trial Helper' | ||
end | end | ||
if string.find(groups, "moderator") then | if string.find(groups, "moderator") then -- Moderator | ||
return 'Moderator' | return 'Moderator' | ||
end | end | ||
if string.find(groups, "diamondcitizen") then | if string.find(groups, "helper") then -- Helper | ||
return 'Helper' | |||
end | |||
if string.find(groups, "developer") then -- Developer | |||
return 'Developer' | |||
end | |||
if string.find(groups, "diamondcitizen") then -- Diamond Citizen | |||
return 'Diamond Citizen' | return 'Diamond Citizen' | ||
end | end | ||
if string.find(groups, "citizen") then -- Citizen | |||
return 'Citizen' | |||
end | |||
if string.find(groups, "trusted") then -- Gold Citizen | |||
return 'Gold Citizen' | |||
end | |||
if string.find(groups, "hero") then -- Hero | |||
return 'Hero' | |||
end | |||
if string.find(groups, "legend") then -- Legend | |||
return 'Legend' | |||
end | |||
if string.find(groups, "mystic") then -- Mystic | |||
return 'Mystic' | |||
end | |||
if string.find(groups, "donator") then -- Donator | |||
return 'Donator' | |||
end | |||
if string.find(groups, "donatorplus") then -- Donator+ | |||
return 'Donator+' | |||
end | |||
if string.find(groups, "donatorplusplus") then -- Donator++ | |||
return 'Donator++' | |||
end | |||
if string.find(groups, "trooper") then -- Trooper | |||
return 'Trooper' | |||
end | |||
if string.find(groups, "infrastructure") then -- Infrastructure (not used) | |||
return 'Infrastructure' | |||
end | |||
-- RANKLIST END -- | |||
else | else | ||
Revision as of 13:37, 28 August 2024
Documentation for this module may be created at Module:ProfileInfoboxUpdater/doc
--local rank = {}
--externalData = mw.ext.externalData
--local uuid = {}
local p = {}
--[ Thecow275's Profile Infobox Updater Module V1 ]
local function preprocessArg(s)
if not s then
return nil
end
s = s:match('^%s*(.-)%s*$') --trim whitespace
if s == '' then
return nil
else
return s
end
end
function p.main(frame)
local args = frame.args
local username = preprocessArg(args[1])
local datatype = preprocessArg(args[2]) -- currently unused will be used whenever I implement more datatypes
if not username then -- check for blank username
return 'USERNAME NOT VALID OR API ERROR'
end
if username then
local data = mw.ext.externalData.getExternalData({
url = "https://api.ashcon.app/mojang/v2/user/" .. username,
format = 'json'
})
local uuid = data.uuid
if not uuid then --check for blank uuid (if this happens hell has broken lose)
return 'NO VALID UUID FOUND'
end
if uuid then
local userdata = mw.ext.externalData.getExternalData({
url = "https://statistics.johnymuffin.com/api/v1/getUser?serverID=0&uuid=" .. data.uuid,
data = {deaths='playerDeaths',pkilled='playersKilled',joins='joinCount',traveled='metersTraveled',blocksplaced='blocksPlaced',itemsdropped='itemsDropped',trustlevel='trustLevel',blocksdestroyed='blocksDestroyed',groups = 'Groups', creatureskilled = 'creaturesKilled', balance='money'},
format = 'json'
})
if userdata then -- if this doesn't trigger something has gone terribly wrong
local trust = userdata.trustlevel -- Trust Level
local blocksbroken = userdata.blocksdestroyed -- Blocks Broken
local traveled = userdata.traveled -- Meters Traveled
local blocksplaced = userdata.blocksplaced -- Blocks Placed
local itemsdropped = userdata.itemsdropped -- Items Dropped
local groups = userdata.groups -- Groups as in Ranks
local deaths = userdata.deaths -- Player Deaths
local pkilled = userdata.pkilled -- Players Killed
local mkilled = userdata.creatureskilled -- Mob Kills
local balance = userdata.balance -- Player's Money
local joins = userdata.joins -- Join count
if datatype == 'debug' then
return uuid .. ' | ' .. trust .. ' | ' .. blocksbroken .. ' | ' .. groups .. ' | ' .. deaths .. ' | ' .. pkilled .. ' | ' .. joins .. ' | ' .. itemsdropped .. ' | ' .. blocksplaced .. ' | ' .. traveled .. ' | ' .. mkilled .. ' | ' .. balance .. ' | ' .. "{{MCColor|&4|WARNING: DEBUG MODE ENABLED}}"
end
if datatype == 'uuid' then
return uuid
end
if datatype == 'trust' then
return trust
end
if datatype == 'broken' then
return blocksbroken
end
if datatype == 'rank' then
if groups then -- RANKLIST START --
if string.find(groups, "admin") then --ADMIN
return 'Admin'
end
if string.find(groups, "trial") then -- Trial Helper
return 'Trial Helper'
end
if string.find(groups, "moderator") then -- Moderator
return 'Moderator'
end
if string.find(groups, "helper") then -- Helper
return 'Helper'
end
if string.find(groups, "developer") then -- Developer
return 'Developer'
end
if string.find(groups, "diamondcitizen") then -- Diamond Citizen
return 'Diamond Citizen'
end
if string.find(groups, "citizen") then -- Citizen
return 'Citizen'
end
if string.find(groups, "trusted") then -- Gold Citizen
return 'Gold Citizen'
end
if string.find(groups, "hero") then -- Hero
return 'Hero'
end
if string.find(groups, "legend") then -- Legend
return 'Legend'
end
if string.find(groups, "mystic") then -- Mystic
return 'Mystic'
end
if string.find(groups, "donator") then -- Donator
return 'Donator'
end
if string.find(groups, "donatorplus") then -- Donator+
return 'Donator+'
end
if string.find(groups, "donatorplusplus") then -- Donator++
return 'Donator++'
end
if string.find(groups, "trooper") then -- Trooper
return 'Trooper'
end
if string.find(groups, "infrastructure") then -- Infrastructure (not used)
return 'Infrastructure'
end
-- RANKLIST END --
else
return 'NO USERDATA OF SPECIFIED TYPE FOUND'
end
end
end
end
end
end
return p