Merge pull request 'Improvements to the user command' (#13) from 9382/tommy-bot:main into main
Reviewed-on: #13 Reviewed-by: tommy <tommy@noreply-gitea@tommyy.dev>
This commit is contained in:
commit
328a9ed5b7
@ -305,8 +305,14 @@ end
|
|||||||
|
|
||||||
function API:GetVerificationItemID(USER_ID)
|
function API:GetVerificationItemID(USER_ID)
|
||||||
if not USER_ID then return 'empty id' end
|
if not USER_ID then return 'empty id' end
|
||||||
local response,headers = http_request('GET', ROBLOX_INVENTORY_API..'users/'..USER_ID.."/items/Asset/102611803", API_HEADER)
|
local response1,headers1 = http_request('GET', ROBLOX_INVENTORY_API..'users/'..USER_ID.."/items/Asset/102611803", API_HEADER)
|
||||||
return response,headers
|
if response1.errors then return response1,headers1 end
|
||||||
|
local response2,headers2 = http_request('GET', ROBLOX_INVENTORY_API..'users/'..USER_ID.."/items/Asset/1567446", API_HEADER)
|
||||||
|
if response2.errors then return response2,headers2 end
|
||||||
|
local data = {}
|
||||||
|
data[#data+1] = response2.data[1] -- Do the older item first if present
|
||||||
|
data[#data+1] = response1.data[1]
|
||||||
|
return {data=data},headers1
|
||||||
end
|
end
|
||||||
|
|
||||||
function API:GetUserThumbnail(USER_ID,TYPE,SIZE) -- https://thumbnails.roblox.com/v1/users/avatar?userIds=1455906620&size=180x180&format=Png&isCircular=false
|
function API:GetUserThumbnail(USER_ID,TYPE,SIZE) -- https://thumbnails.roblox.com/v1/users/avatar?userIds=1455906620&size=180x180&format=Png&isCircular=false
|
||||||
|
@ -44,6 +44,7 @@ end
|
|||||||
local IDToDate = { --Terrible ranges but it's all we have
|
local IDToDate = { --Terrible ranges but it's all we have
|
||||||
-- {1000000000, FromYMD("2006-01-01")}, --I guess?
|
-- {1000000000, FromYMD("2006-01-01")}, --I guess?
|
||||||
-- {1864564055, FromYMD("2008-08-04")},
|
-- {1864564055, FromYMD("2008-08-04")},
|
||||||
|
{1228821079, FromYMD("2013-02-07")}, -- asomstephano12344 (mass scanning near sign removal date)
|
||||||
{3800920136, FromYMD("2016-04-16")},
|
{3800920136, FromYMD("2016-04-16")},
|
||||||
{9855616205, FromYMD("2017-04-02")},
|
{9855616205, FromYMD("2017-04-02")},
|
||||||
{30361018662, FromYMD("2018-11-14")},
|
{30361018662, FromYMD("2018-11-14")},
|
||||||
@ -57,23 +58,34 @@ local IDToDate = { --Terrible ranges but it's all we have
|
|||||||
{232802028144, FromYMD("2024-04-08")},
|
{232802028144, FromYMD("2024-04-08")},
|
||||||
{234886704167, FromYMD("2024-06-28")},
|
{234886704167, FromYMD("2024-06-28")},
|
||||||
{241580400713, FromYMD("2025-02-16")},
|
{241580400713, FromYMD("2025-02-16")},
|
||||||
|
{244356127782, FromYMD("2025-05-18")},
|
||||||
}
|
}
|
||||||
--We assume linear interpolation since anything more complex I can't process
|
--We assume linear interpolation since anything more complex I can't process
|
||||||
local function linterp(i1, i2, m)
|
local function linterp(i1, i2, m)
|
||||||
return math.floor(i1 + (i2-i1)*m)
|
return math.floor(i1 + (i2-i1)*m)
|
||||||
end
|
end
|
||||||
local function GuessDateFromAssetID(AssetID)
|
local function GuessDateFromAssetID(InstanceID, AssetID)
|
||||||
|
local note = ""
|
||||||
|
if AssetID == 1567446 then
|
||||||
|
note = " (Verification Sign)"
|
||||||
|
end
|
||||||
for i = #IDToDate, 1, -1 do --Newest to oldest
|
for i = #IDToDate, 1, -1 do --Newest to oldest
|
||||||
local ID,Time = unpack(IDToDate[i])
|
local ID,Time = unpack(IDToDate[i])
|
||||||
if ID < AssetID then
|
if ID < InstanceID then
|
||||||
if not IDToDate[i+1] then
|
if not IDToDate[i+1] then
|
||||||
return "After "..ToYMD(Time)
|
-- Screw it we ball, just do unjustified interpolation
|
||||||
|
local ID1, Time1 = unpack(IDToDate[#IDToDate-1])
|
||||||
|
local ID2, Time2 = unpack(IDToDate[#IDToDate])
|
||||||
|
return "Around "..ToYMD(linterp(Time1, Time2, (InstanceID-ID1)/(ID2-ID1)))..note
|
||||||
end
|
end
|
||||||
local ParentID, ParentTime = unpack(IDToDate[i+1])
|
local ParentID, ParentTime = unpack(IDToDate[i+1])
|
||||||
return "Around "..ToYMD(linterp(Time, ParentTime, (AssetID-ID)/(ParentID-ID)))
|
return "Around "..ToYMD(linterp(Time, ParentTime, (InstanceID-ID)/(ParentID-ID)))..note
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return "Before "..ToYMD(IDToDate[1][2])
|
-- Screw it we ball, just do unjustified interpolation
|
||||||
|
local ID1, Time1 = unpack(IDToDate[1])
|
||||||
|
local ID2, Time2 = unpack(IDToDate[2])
|
||||||
|
return "Around "..ToYMD(linterp(Time1, Time2, (InstanceID-ID1)/(ID2-ID1)))..note
|
||||||
end
|
end
|
||||||
|
|
||||||
local function Callback(Interaction, Command, Args)
|
local function Callback(Interaction, Command, Args)
|
||||||
@ -128,7 +140,13 @@ local function Callback(Interaction, Command, Args)
|
|||||||
if verificationAssetId.errors then
|
if verificationAssetId.errors then
|
||||||
verificationDate = "Failed to fetch"
|
verificationDate = "Failed to fetch"
|
||||||
elseif verificationAssetId.data[1] then
|
elseif verificationAssetId.data[1] then
|
||||||
verificationDate = GuessDateFromAssetID(verificationAssetId.data[1].instanceId)
|
verificationDate = ""
|
||||||
|
for i, data in next, verificationAssetId.data do
|
||||||
|
verificationDate = verificationDate .. GuessDateFromAssetID(data.instanceId, data.id)
|
||||||
|
if i ~= #verificationAssetId.data then
|
||||||
|
verificationDate = verificationDate .. "\n"
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local badgeRequest = API:GetBadgesAwardedDates(id,Badges)
|
local badgeRequest = API:GetBadgesAwardedDates(id,Badges)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user