Module:ProfileInfoboxUpdater: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(Hopefully the final revision until the API changes) |
||
Line 69: | Line 69: | ||
if datatype == 'debug' then | -- if datatype == 'debug' then | ||
-- return uuid .. ' | ' .. trust .. ' | ' .. blocksbroken .. ' | ' .. groups .. ' | ' .. deaths .. ' | ' .. pkilled .. ' | ' .. joins .. ' | ' .. itemsdropped .. ' | ' .. blocksplaced .. ' | ' .. traveled .. ' | ' .. mkilled .. ' | ' .. balance .. ' | ' .. "{{MCColor|&4|WARNING: DEBUG MODE ENABLED}}" | |||
end | -- end | ||
if datatype == 'uuid' then | if datatype == 'uuid' then | ||
return uuid | return uuid | ||
end | |||
if datatype == 'joins' then | |||
return joins | |||
end | |||
if datatype == 'balance' then | |||
return balance | |||
end | |||
if datatype == 'mkilled' then | |||
return mkilled | |||
end | |||
if datatype == 'pkilled' then | |||
return pkilled | |||
end | |||
if datatype == 'deaths' then | |||
return deaths | |||
end | |||
if datatype == 'itemsdropped' then | |||
return itemsdropped | |||
end | |||
if datatype == 'blocksplaced' then | |||
return blocksplaced | |||
end | |||
if datatype == 'traveled' then | |||
return traveled | |||
end | end | ||
Revision as of 13:47, 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 == 'joins' then return joins end if datatype == 'balance' then return balance end if datatype == 'mkilled' then return mkilled end if datatype == 'pkilled' then return pkilled end if datatype == 'deaths' then return deaths end if datatype == 'itemsdropped' then return itemsdropped end if datatype == 'blocksplaced' then return blocksplaced end if datatype == 'traveled' then return traveled 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