Module:ProfileInfoboxUpdater: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
| Line 34: | Line 34: | ||
if username then | if username then | ||
local api1 = "https://api.ashcon.app/mojang/v2/user/" .. username | local api1 = "https://api.ashcon.app/mojang/v2/user/" .. mw.text.jsonEncode(username) | ||
local data = externalData.getExternalData({ | local data = externalData.getExternalData({ | ||
url = api1, | url = api1, | ||
| Line 40: | Line 40: | ||
}) | }) | ||
local uuid = data.uuid | local uuid = mw.text.jsonDecode(data.uuid) | ||
if not uuid then --check for blank uuid (if this happens hell has broken lose) | if not uuid then --check for blank uuid (if this happens hell has broken lose) | ||
| Line 48: | Line 48: | ||
if uuid then | if uuid then | ||
local userdata = externalData.getExternalData({ | local userdata = externalData.getExternalData({ | ||
url = "https://statistics.johnymuffin.com/api/v1/getUser?serverID=0&uuid=" .. uuid, | url = "https://statistics.johnymuffin.com/api/v1/getUser?serverID=0&uuid=" .. mw.text.jsonEncode(uuid), | ||
format = "json" | format = "json" | ||
Revision as of 11:57, 19 July 2024
Documentation for this module may be created at Module:ProfileInfoboxUpdater/doc
--local rank = {}
local 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 api1 = "https://api.ashcon.app/mojang/v2/user/" .. mw.text.jsonEncode(username)
local data = externalData.getExternalData({
url = api1,
format = "json"
})
local uuid = mw.text.jsonDecode(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 = externalData.getExternalData({
url = "https://statistics.johnymuffin.com/api/v1/getUser?serverID=0&uuid=" .. mw.text.jsonEncode(uuid),
format = "json"
})
if userdata then -- if this doesn't trigger something has gone terribly wrong
local groups = mw.text.jsonDecode(userdata.groups)
return groups
else
return 'NO GROUPS FOUND'
end
end
end
end
return p