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