Mercurial Hosting > chat
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/lib/Online.luan Sat Mar 08 20:26:19 2025 -0700 @@ -0,0 +1,29 @@ +local Luan = require "luan:Luan.luan" +local error = Luan.error +local ipairs = Luan.ipairs or error() +local to_string = Luan.to_string or error() +local Time = require "luan:Time.luan" +local time_now = Time.now or error() +local Thread = require "luan:Thread.luan" +local User = require "site:/lib/User.luan" + + +local Online = {} + +local glob = Thread.global_map("online") + +function Online.set(user) + glob[user.id] = time_now() +end + +function Online.get(user) + local online = {} + local ids = user.chatting_with_ids() + ids[#ids+1] = user.id + for _, user_id in ipairs(ids) do + online[to_string(user_id)] = glob[user_id] + end + return online +end + +return Online