comparison src/lib/Online.luan @ 73:a63faf49e1d7

last seen
author Franklin Schmidt <fschmidt@gmail.com>
date Sat, 08 Mar 2025 20:26:19 -0700
parents
children 7b339b1ccd11
comparison
equal deleted inserted replaced
72:bce0480721c1 73:a63faf49e1d7
1 local Luan = require "luan:Luan.luan"
2 local error = Luan.error
3 local ipairs = Luan.ipairs or error()
4 local to_string = Luan.to_string or error()
5 local Time = require "luan:Time.luan"
6 local time_now = Time.now or error()
7 local Thread = require "luan:Thread.luan"
8 local User = require "site:/lib/User.luan"
9
10
11 local Online = {}
12
13 local glob = Thread.global_map("online")
14
15 function Online.set(user)
16 glob[user.id] = time_now()
17 end
18
19 function Online.get(user)
20 local online = {}
21 local ids = user.chatting_with_ids()
22 ids[#ids+1] = user.id
23 for _, user_id in ipairs(ids) do
24 online[to_string(user_id)] = glob[user_id]
25 end
26 return online
27 end
28
29 return Online