Module:ProfileInfoboxUpdater
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',trustlevel='trustLevel',blocksdestroyed='blocksDestroyed',groups = 'Groups'}, format = 'json' }) if userdata then -- if this doesn't trigger something has gone terribly wrong local trust = userdata.trustlevel local broken = userdata.blocksdestroyed local groups = userdata.groups local deaths = userdata.deaths local pkilled = userdata.pkilled local joins = userdata.joins if datatype == 'debug' then return uuid .. '_' .. trust .. '_' .. broken .. '_' .. groups .. '_-_' .. '{{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 broken end if datatype == 'rank' then if groups then if string.find(groups, "admin") then return 'Admin' end if string.find(groups, "trial") then return 'Trial Helper' end if string.find(groups, "moderator") then return 'Moderator' end if string.find(groups, "diamondcitizen") then return 'Diamond Citizen' end else return 'NO USERDATA OF SPECIFIED TYPE FOUND' end end end end end end return p