Update /whois command

restructure the /whois command to require v as an extra parameter to extend ip address display from last ip to the full list in descending order of last login as used previously.
master
shivajiva101 2019-11-28 20:33:45 +00:00 committed by GitHub
parent 507ddc9754
commit 03fa84d47a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 28 additions and 22 deletions

View File

@ -1960,35 +1960,41 @@ minetest.override_chatcommand("kick", {
-- Register whois command
minetest.register_chatcommand("/whois", {
description = "Returns info on a player",
params = "<player> [v]",
description = "Returns info on a player, use v for full record.",
privs = {ban_admin = true},
func = function(name, param)
if not param then
return false, "usage: /whois <player>"
local list = {}
for word in param:gmatch("%S+") do
list[#list+1] = word
end
local id = get_id(param)
if #list < 1 then
return false, "usage: /whois <player> [v]"
end
local pname = list[1]
local id = get_id(pname)
if not id then
return false, "The player \"" .. param .. "\" did not join yet."
return false, "The player \"" .. pname .. "\" did not join yet."
end
local data = name_records(id)
local msg1, msg2 = "", ""
for i, v in ipairs(data) do
if msg1 ~= "" then
msg1 = msg1 .. ", " .. v.name
else
msg1 = msg1 .. " " .. v.name
end
local names = name_records(id)
local ips = address_records(id)
local msg = "\nNames: "
local n, a = {}, {}
for i, v in ipairs(names) do
n[#n+1] = v.name
end
msg1 = msg1 .. "\nIP Adresses: "
data = address_records(id)
for i, v in ipairs(data) do
if msg2 ~= "" then
msg2 = msg2 .. ", " .. v.ip
else
msg2 = msg2 .. " " .. v.ip
end
for i, v in ipairs(ips) do
a[#a+1] = v.ip
end
return false, "Player info for " .. param .. ": " .. msg1 .. msg2
msg = msg .. table.concat(n, ", ")
if #list > 1 and list[2] == "v" then
msg = msg .. "\nIP Addresses:\n "
msg = msg .. table.concat(a, ", ")
else
msg = msg .. "\nLast IP Address: "
msg = msg .. a[1]
end
return false, "Player info for " .. pname .. ": " .. msg
end,
})