Method code for $motd.build()

[Turn on line numbering]
arg @args;
var output, out, line;

output = [];
if (!args)
    args = ['long, 'quote];
if (args[1] == 'default)
    args = ['name, "", 'title, "", "", 'quote, "", 'notes, 'admins, "", 'connected, 'core_version, 'driver_version, 'help, ""];
while (args) {
    if (type(args[1]) == 'string) {
        output += [""];
    } else {
        switch (args[1]) {
            case 'long:
                args = ['title, 'long_name] + sublist(args, 2);
                continue;
            case 'short:
                args = ['title, 'name] + sublist(args, 2);
                continue;
            case 'title:
                output += [server_title.center(79)];
            case 'name:
                output += [("+ " + server_name + " +").center(79)];
            case 'notes:
                output += notes.center_lines(79) + [""];
            case 'quote:
                output += $code_lib.random_quote().center_lines(79);
            case 'admins:
                out = $list.to_english($list.mmap($sys.admins(), 'name)).wrap_lines(50);
                line = out[1];
                output += (["Administrators: " + line] + delete(out, 1)).mmap('center, 79);
            case 'connected:
                out = "Currently Connected users: ";
                out += tostr($user_db.connected().length());
                out = out.center(79);
                output += [out];
            case 'version:
                args = ['driver_version, 'core_version] + sublist(args, 2);
                continue;
            case 'driver_version:
                out = "Driver: " + $sys.server_info('driver_version, 'long);
                output += [out.center(79)];
            case 'core_version:
                out = "Core: " + $sys.server_info('core_version, 'long);
                output += [out.center(79)];
            case 'help:
                out = " ** Use 'Help' for a list of commands**";
                output += [out.center(79)];
        }
    }
    args = delete(args, 1);
}
return output;

// Created 27-Mar-1995 as a part of ColdCore, see: @help Credit

Tlon