It appears that we don't have a help file for the new boards in the release, and since I wrote it I know a good deal about it.
Replying to messages
Customized board colors via the color command
Globalized and local boards
This command lists all the boards in the game that you can read. It denotes non-global boards with the object information at the end of the line. For players - It will only list global boards that they can atleast read.
Syntax: alert (board) (none|announce|ignore)
This command sets a player's alerts for the various boards in the game.
Announce: This will show a message to the on-line player that a new note has been posted.
Ignore: This will keep the board from being displayed in the checkboards command, which is called when a player logs in if they have the config option turned on.
Syntax: makeboard (filename) (name)
This will make a new board with the default settings. Please note that the code automatically appends '.board' to all filenames.
Example: makeboard general General Comments
Syntax: bset (board) (field) value
Just like the old bset command, this is the primary way to modify boards with the new system. Type 'bset' with no arguments for a list of fields.
objvnum - The vnum of a local object. (This will be 0 for a global board. Use the 'global' setting to set it global.
read_level - Minimum level to read the board
post_level - Minimum level to post
remove_level - Minimum level to remove posts or 'moderate'
expire - Default note expiration in days
group - The group which owns the board 'clan, council, deity'
readers - Names of players who are allowed to read the board
posters - Names of players who are allowed to post
moderators - Names of players who are allowed to remove
desc - Small description of the board
name - name of the board
global - Sets the objvnum to 0, and makes the board global. Use this as the 'objvnum' field checks the vnum for validity.
flags - Board flags, currently: private, announce
( Private: This is a mail board.
( Announce: Players will always see messages when notes are posted here, regardless of the alert settings.
Note: For clans, the code considers the Leader, #1, and #2 of a clan to be moderators.
Syntax: bstat (board)
Again, like the previous system, this command shows you the details of a board.
Syntax: deleteboard (board)
This command removes a board from the game. It can not be undone.
Syntax: Syntax: write (board) [subject/note#]
This command writes a new note, or replies to an exsisting note. Both subject and note are optional, but both can not be specified.
Example: write general Yay! New boards!
New note, with the subject of 'Yay! New boards!'
Example: write general 1
New reply to note #1 on the general board
You do not have to specify a board name when standing in the room of a local board.
Syntax: reply (msg) / reply (board) (note)
Reply still works as it always has, giving you the ability to send a message to the last person who sent you a tell. It also now serves as an easy way to reply to a board message.
Read is a very flexible command, and this might make it's use confusing.
First - by typing 'read' alone, it will display the next unread message found on any global board. It does not handle local boards. Typing 'read (board)' Will show you the next unread message on the specified board. Typing 'read' in the room of a local board will do the same as 'read (board)', but default to that local board. Lastly, 'read (board) (note#)' will read a specific note on a specified board. If you're in the room of a local board, you can leave out the (board) argument.
Syntax: erase (board) (note#).[reply#]
If you have permission to moderate or remove a note, this will do that for you. You can remove an entire note by specifying just that note number, or a specify reply under the note by specifying note.reply.
Now there's a command that's not in the stock release's command.dat. That command is nset.
cedit nset create do_note_set
The command is regulated in the code by can_remove, or basically the moderators. This means that only someone who meets the remove requirements can use it.
Syntax: nset (board) (note#) (field) (value)
Valid fields are: sender to_list subject expire
Should be obvious for you. Setting expire to 0 will make a note sticky and not be affected by the purges. You can't change the text of a note with this command as it's pointless... just post the note again.
The new boards drop you into a subsystem to write the note. If you goof up - don't worry. A confirmation will be shown, if you answer 'N', then you'll be able to change parts of the note.
Anyone writing a note is moved to limbo by default while they're in the substate. This is done to protect anyone from idiots who love taking advantage of sitting ducks
With this said, you can't be fighting anyone to start writing a note.
Private boards are the replacement to smaug mail-type boards. You can't post a threaded reply to these boards, as it just won't work. Instead, replying to a note treats it much like your e-mail client does. Those who meet the moderator level of the board can also read all mail and remove all mail on that board. Normal players who can read their mail can remove their own mail. Only moderators of a private board can send a mail message to 'All', and these messages can not be removed by the reading player.
Reading a note will also show all replies under that note. This is done via the note_to_char function, which is also now used in comments and projects. On that note, projects and comments had a substantial rewrite to support the new board code, as the original systems based highly upon it. You can now post replies to player comments and project logs, by doing project/comment post , rather than project/command post. You also may notice that older projects will be read-in with the current date. This is due to the changing of how the dates work on projects and notes. It uses a time_t now, so that any changes to the c_time and mini_c_time functions will show right away.
Any date string shown now is a direct output from c_time or mini_c_time.
Lastly, all dates should respect the timezone setting of the player.
There are a few known glaring typos:
In 'makeboard', it refers to 'board set', which should be 'bset'.
In 'erase', it still refers to using 'nremove', which Samson changed to 'erase' to better fit the stream of things.
In 'boards', to fit the 80 char limit only the board's objvnum is shown, and does not have a closing ].
Please let me know if you find any bugs directly related to this code, so I can hammer them out and post/send them to Samson.