Module:ProfileInfoboxUpdater: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 67: | Line 67: | ||
if datatype == 'debug' then | if datatype == 'debug' then | ||
return uuid .. trust .. broken .. groups | return uuid .. '_' .. trust .. '_' .. broken .. '_' .. groups | ||
end | end | ||
Revision as of 12:26, 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 = {trustLevel='Trust Level',blocksDestroyed='Blocks Broken',groups = 'Groups'}, format = 'json' }) local userdata2 = mw.ext.externalData.getExternalData({ url = "https://statistics.johnymuffin.com/api/v1/getUser?serverID=0&uuid=" .. data.uuid, data = {trustlevel='trustLevel',blocksdestroyed='blocksDestroyed',groups = 'Groups'}, format = 'json' }) if userdata then -- if this doesn't trigger something has gone terribly wrong local trust = userdata2.trustlevel local broken = userdata2.blocksdestroyed local groups = userdata.groups if datatype == 'debug' then return uuid .. '_' .. trust .. '_' .. broken .. '_' .. groups 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