new object $finger_interface: $connection_interface; var $has_commands local = #[]; var $has_commands remote = #[]; var $has_commands shortcuts = #[]; var $root created_on = 849598071; var $root flags = ['variables, 'methods, 'code, 'core]; var $root inited = 1; var $root managed = [$finger_interface]; var $root manager = $finger_interface; var $root quota_exempt = 1; public method .connection_starting() { arg addr, port; }; public method .parse_line() { arg line; var who, out, time, gender; if ((line.length()) > 0) { catch any { who = $user_db.exact_match(line); out = ["Information on " + (who.name())]; out = [@out, @(who.display_info('no_blanks)).prefix(" ")]; time = who.created_on(); if (who.is($thing)) gender = (who.gender()).pronoun('psc); else gender = "It"; out = [@out, ((" " + (who.name())) + " was created on ") + ($time.format("%A %B %d %Y", time)), (((" " + gender) + " is ") + ($time.elapsed(time() - time, 'long))) + " old."]; if (who.is($user)) out = [@out, (((" " + gender) + " has logged ") + ($time.elapsed(who.connected_seconds(), 'long))) + " online."]; if (who.connected()) out = [@out, (" " + (who.name())) + " is currently connected."]; else out = [@out, ((((" " + (who.name())) + " was last connected at ") + ($time.format("%r", abs(who.connected_at())))) + " ") + ($time.format("%A %B %d %Y", abs(who.connected_at())))]; (.connection()).write(out); } with { (.connection()).write("Unable to locate user: " + line); } } else { catch any (.connection()).write($code_lib.generate_listing($user_db.connected())); with (.connection()).write("Error"); } return 'disconnect; };