Method code for $motd.build()

[Turn off line numbering]
  1: arg @args;
  2: var output, out, line;
  3: 
  4: output = [];
  5: if (!args)
  6:     args = ['long, 'quote];
  7: if (args[1] == 'default)
  8:     args = ['name, "", 'title, "", "", 'quote, "", 'notes, 'admins, "", 'connected, 'core_version, 'driver_version, 'help, ""];
  9: while (args) {
 10:     if (type(args[1]) == 'string) {
 11:         output += [""];
 12:     } else {
 13:         switch (args[1]) {
 14:             case 'long:
 15:                 args = ['title, 'long_name] + sublist(args, 2);
 16:                 continue;
 17:             case 'short:
 18:                 args = ['title, 'name] + sublist(args, 2);
 19:                 continue;
 20:             case 'title:
 21:                 output += [server_title.center(79)];
 22:             case 'name:
 23:                 output += [("+ " + server_name + " +").center(79)];
 24:             case 'notes:
 25:                 output += notes.center_lines(79) + [""];
 26:             case 'quote:
 27:                 output += $code_lib.random_quote().center_lines(79);
 28:             case 'admins:
 29:                 out = $list.to_english($list.mmap($sys.admins(), 'name)).wrap_lines(50);
 30:                 line = out[1];
 31:                 output += (["Administrators: " + line] + delete(out, 1)).mmap('center, 79);
 32:             case 'connected:
 33:                 out = "Currently Connected users: ";
 34:                 out += tostr($user_db.connected().length());
 35:                 out = out.center(79);
 36:                 output += [out];
 37:             case 'version:
 38:                 args = ['driver_version, 'core_version] + sublist(args, 2);
 39:                 continue;
 40:             case 'driver_version:
 41:                 out = "Driver: " + $sys.server_info('driver_version, 'long);
 42:                 output += [out.center(79)];
 43:             case 'core_version:
 44:                 out = "Core: " + $sys.server_info('core_version, 'long);
 45:                 output += [out.center(79)];
 46:             case 'help:
 47:                 out = " ** Use 'Help' for a list of commands**";
 48:                 output += [out.center(79)];
 49:         }
 50:     }
 51:     args = delete(args, 1);
 52: }
 53: return output;

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

Tlon