The Key Command Interface

Status: This document represents a working plan for the implementation of the standard command-set for key.

Overview

The commands themselves are matched based from various sources in the Key heirarchy. The first place that a command match is attempted is on the players particular 'context', which is a settable reference to an atom which can hold commands. The players context will default to the player himself.

The second place to check for commands is the player himself. Any of these steps can be skipped if the context was the same as the element about to be checked. The player object has some basic commands, such as 'tell' and 'remote', as well as player account setting commands, such as 'title', and actions, such as 'look' or 'examine'.

Next comes the players location. These commands are effects like 'say' or 'shout', actions, such as 'lock', and modifications, such as 'description' (to edit the rooms description). Note that a command like 'description' will almost certainly be overridden by the player step. This means that the only way to change the description of a room is to set it as a context.

Now we can step through the commands available from the various groups a player can be a member of. Many groups will have channel commands 'a:' 'a~', and some will have additional commands available, such as 'enroll', or 'delete'.

Finally, we check the system command list, for anything else. Commands listed here are like 'who' or 'time', and can generally be executed by anyone connected. There is a possibility of allowing these commands to be executed from the login prompt (ie, anonymously).

Player commands

tell . > Send a private message to another user or set of users
remote , <
rthink rt
title
description
plan

Room commands

say ' " say something so that everyone in the room may hear
emote ; :
think ~
shout !

System commands

time A measure of how long the system has been up (some statistics)
finger (or lastlog, or something), which would indicate the last time a certain player connected, and possibly some other information about them
who list the players online atm
help start referencing the forest helpfile system