parent $registry
object $user_db
var $root dbref 'user_db
var $root child_index 0
var $root fertile 0
var $root manager $user_db
var $root owned [$user_db]
var $root owners [$core]
var $root writable [$user_db]
var $root readable ['methods, 'code]
var $db database #[]
var $root trusted [$user]
var $root inited 1
var $user_db connected []
var $registry stripped_characters "!@#$%^&*()_+-=~`'{}[]|/?\"\\,.<>;: "
var $user_db invalid_chars "$#@!^&%~"
var $registry reserved_names ["user", "builder", "programmer", "admin", "housekeeper", "Reaper", "noone", "guest", "a", "i", "an", "your", "you'r", "me", "god"]
var $registry invalid_names ["ass", "cunt", "fuck", "shit", "damn", "the"]
method users
return dict_keys(.database());
.
method connected
var x;
for x in (connected) {
if ((!valid(x)) || (| !(x.connections()) |))
connected = setremove(connected, x);
}
return connected;
.
method did_connect
.perms(caller(), $user);
connected = [@connected, sender()];
.
method did_disconnect
.perms(caller(), $user);
connected = setremove(connected, sender());
.
method valid_name
arg name;
if (strlen($string.strip(name, invalid_chars)) < strlen(name))
throw(~invname, ("Names cannot contain any of '" + invalid_chars) + "'.");
return (> pass(name) <);
.
method match
arg name;
return (> .find(name) <);
.