cchat/frens: log last logs

wsc-master
cora 2020-11-26 13:45:52 +01:00
parent 0d2a8eb98a
commit d36c81ef04
2 changed files with 29 additions and 4 deletions

View File

@ -66,12 +66,16 @@ end
local function loglastlogs()
if not fren then return end
for k,v in pairs(fren.friends) do
minetest.display_chat_message('Last login of friend ' .. fren.name_of(k))
minetest.send_chat_message("/last-login "..fren.name_of(k))
if fren.on_server(fren.name_of(k)) then
--minetest.display_chat_message('Last login of friend ' .. fren.name_of(k))
minetest.send_chat_message("/last-login "..fren.name_of(k))
end
end
for k,v in pairs(fren.enemies) do
minetest.display_chat_message('Last login of enemy ' .. fren.name_of(k))
minetest.send_chat_message("/last-login "..fren.name_of(k))
if fren.on_server(fren.name_of(k)) then
--minetest.display_chat_message('Last login of friend ' .. fren.name_of(k))
minetest.send_chat_message("/last-login "..fren.name_of(k))
end
end
end
minetest.after("5.0",function() loglastlogs() end)

View File

@ -128,6 +128,17 @@ function fren.name_of(qualified)
return qualified:match("(.-)@")
end
function fren.on_server(name)
local qname=fren.qualify(name)
for k,v in pairs(fren.friends) do
if k == qname then return true end
end
for k,v in pairs(fren.enemies) do
if k == qname then return true end
end
return false
end
-- player required, color/level optional
function fren.friend(player, color, level)
@ -309,6 +320,16 @@ function fren.get_online_friends()
return friend_online_cached
end
function fren.get_all_friends()
if is_time(friend_online_cached_last) then
friend_online_cached_last = os.clock()
friend_online_cached = filter(fren.is_friend, fren.get_online_players())
end
return friend_online_cached
end
function fren.get_online_enemies()
if is_time(enemy_online_cached_last) then
enemy_online_cached_last = os.clock()