| 1 |
& mail |
|---|
| 2 |
& @mail |
|---|
| 3 |
@mail[/<switches>] [<msg-list> [= <target>]] |
|---|
| 4 |
@mail[/<switches>] <player-list> = [<subject>/]<message> |
|---|
| 5 |
|
|---|
| 6 |
@mail invokes the built-in MUSH mailer, which allows players to send |
|---|
| 7 |
and receive mail. Pronoun/function substitution is performed on |
|---|
| 8 |
any messages you may try to send. |
|---|
| 9 |
|
|---|
| 10 |
A <msg-list> is one of the following: |
|---|
| 11 |
A single msg # (ex: 3) |
|---|
| 12 |
A message range (ex: 2-5, -7, 3-) |
|---|
| 13 |
A folder number and message number/range (ex: 0:3, 1:2-5, 2:-7) |
|---|
| 14 |
A sender (ex: *paul) |
|---|
| 15 |
An age of mail in days (ex: ~3 (exactly 3), <2, >1) |
|---|
| 16 |
"days" here means 24-hour periods from the current time. |
|---|
| 17 |
One of the following: "read", "unread", "cleared", "tagged", |
|---|
| 18 |
"urgent", "all" (all messages in all folders), "folder" (all |
|---|
| 19 |
messages in current folder) |
|---|
| 20 |
A <player-list> is a space-separated list of recipients, which may be: |
|---|
| 21 |
Player names |
|---|
| 22 |
Player dbref #'s |
|---|
| 23 |
Message #'s, in which case you send to the sender of that message. |
|---|
| 24 |
An alias name (see help @malias) |
|---|
| 25 |
|
|---|
| 26 |
See also the following topics: mail-sending mail-reading |
|---|
| 27 |
mail-folders mail-forward mail-other mail-admin |
|---|
| 28 |
@malias |
|---|
| 29 |
& mail-reading |
|---|
| 30 |
|
|---|
| 31 |
@mail <msg #> |
|---|
| 32 |
@mail/read <msg-list> |
|---|
| 33 |
This displays messages which match the msg# or msg-list from |
|---|
| 34 |
your current folder. |
|---|
| 35 |
|
|---|
| 36 |
@mail |
|---|
| 37 |
@mail <msg-list, but not a single msg #> |
|---|
| 38 |
@mail/list <msg-list> |
|---|
| 39 |
This gives a brief list of all mail in the current folder, |
|---|
| 40 |
with sender name, time sent, and message status. |
|---|
| 41 |
The status field is a set of characters (ex: NC-UF+) which mean: |
|---|
| 42 |
N = New (unread) message |
|---|
| 43 |
C = Cleared message |
|---|
| 44 |
U = Urgent message |
|---|
| 45 |
F = Forwarded message |
|---|
| 46 |
+ = Tagged message |
|---|
| 47 |
The opposites of these (read messages, etc.) are indicated with a |
|---|
| 48 |
'-' in the status field in that position. |
|---|
| 49 |
|
|---|
| 50 |
& mail-sending |
|---|
| 51 |
@mail[/switch] <player-list> = [<subject>]/<msg> |
|---|
| 52 |
This sends the message <msg> to all players in <player-list>. |
|---|
| 53 |
If no subject is given, the message subject is the beginning |
|---|
| 54 |
of the message itself. |
|---|
| 55 |
All function substitutions are valid in <msg> including mail(#) which |
|---|
| 56 |
will allow you to forward mail you have received to other users. |
|---|
| 57 |
The following switches are available: |
|---|
| 58 |
/send - same as no switch |
|---|
| 59 |
/urgent - mail is marked as "Urgent" |
|---|
| 60 |
/silent - no notification to sender that mail was sent |
|---|
| 61 |
/nosig - no mail signature |
|---|
| 62 |
If you have an @mailsignature attribute set on yourself, its |
|---|
| 63 |
contents will be evaluated and appended to the message unless |
|---|
| 64 |
the /nosig switch is given. |
|---|
| 65 |
|
|---|
| 66 |
@mail/fwd <msg-list> = <player-list> |
|---|
| 67 |
This sends a copy of all the messages in <msg-list> to |
|---|
| 68 |
all the players in <player-list>. The copy will appear to have |
|---|
| 69 |
been sent by you (not the original sender), and its status will |
|---|
| 70 |
be "Forwarded". |
|---|
| 71 |
|
|---|
| 72 |
& mail-other |
|---|
| 73 |
@mail/clear [<msg-list> | all] |
|---|
| 74 |
@mail/unclear [<msg-list> | all] |
|---|
| 75 |
These commands mark mail in the current folder as cleared or uncleared. |
|---|
| 76 |
Mail marked for clearing is deleted when you disconnect, or |
|---|
| 77 |
if you use @mail/purge. If no msg-list is specified, all |
|---|
| 78 |
mail in your current folder is cleared. If "all" is given instead |
|---|
| 79 |
of a msg-list, all mail in *all* folders is cleared/uncleared. |
|---|
| 80 |
|
|---|
| 81 |
@mail/purge |
|---|
| 82 |
Actually deletes all messages marked for clearing with @mail/clear. |
|---|
| 83 |
This is done automatically when you log out. |
|---|
| 84 |
|
|---|
| 85 |
@mail/tag [<msg-list> | all>] |
|---|
| 86 |
@mail/untag [<msg-list> | all>] |
|---|
| 87 |
These commands tag or untag mail in the current folder. |
|---|
| 88 |
Tagged mail can be later acted on en masse by using "tagged" as |
|---|
| 89 |
the msg-list for other commands (which does *not* untag them |
|---|
| 90 |
afterward). If no msg-list is specified, all messages in the |
|---|
| 91 |
current folder are tagged/untagged. If "all" is given as the |
|---|
| 92 |
msg-list, all mail in *all* folders is tagged/untagged. |
|---|
| 93 |
(Ex: To clear all mail from Paul and Chani, @mail/tag *paul, |
|---|
| 94 |
@mail/tag *chani, @mail/clear tagged, @mail/untag all). |
|---|
| 95 |
& mail-folders |
|---|
| 96 |
The MUSH mail system allows each player 16 folders, numbered from |
|---|
| 97 |
0 to 15. Mail can only be in 1 folder at a time. Folder 0 is |
|---|
| 98 |
the "inbox" where new mail is received. Most @mail commands |
|---|
| 99 |
operate on only the current folder. |
|---|
| 100 |
|
|---|
| 101 |
@mail/folder |
|---|
| 102 |
This commands lists all folders which contain mail, telling |
|---|
| 103 |
how many messages are in each, and what the current folder is. |
|---|
| 104 |
|
|---|
| 105 |
@mail/folder <folder#|foldername> |
|---|
| 106 |
This command sets your current folder to <folder#>. |
|---|
| 107 |
|
|---|
| 108 |
@mail/folder <folder#> = <foldername> |
|---|
| 109 |
This command gives <folder#> a name. |
|---|
| 110 |
|
|---|
| 111 |
@mail/unfolder <folder#|foldername> |
|---|
| 112 |
This command removes a folder's name |
|---|
| 113 |
|
|---|
| 114 |
@mail/file <msg-list>=<folder#> |
|---|
| 115 |
This command moves all messages in msg-list from the current |
|---|
| 116 |
folder to a new folder, <folder#>. |
|---|
| 117 |
|
|---|
| 118 |
See also: @mailfilter |
|---|
| 119 |
& @mailfilter |
|---|
| 120 |
& mailfilter |
|---|
| 121 |
The @mailfilter attribute specifies automatic filing of incoming |
|---|
| 122 |
@mail messages into folders. When an @mail message is received, |
|---|
| 123 |
the contents of @mailfilter are evaluated, with the following |
|---|
| 124 |
arguments passed: |
|---|
| 125 |
%0 dbref of message sender |
|---|
| 126 |
%1 message subject |
|---|
| 127 |
%2 message body |
|---|
| 128 |
%3 message status flags (a string containing U, F, and/or R, |
|---|
| 129 |
for urgent, forwarded, and/or reply, respectively) |
|---|
| 130 |
|
|---|
| 131 |
If @mailfilter evaluates to a folder name or number, the message |
|---|
| 132 |
will be filed into that folder. If @mailfilter evaluates to a null |
|---|
| 133 |
string, the message remains in the incoming folder. |
|---|
| 134 |
|
|---|
| 135 |
Example: Filter urgent messages into folder 1 |
|---|
| 136 |
> @mailfilter me=if(strmatch(%3,*U*),1) |
|---|
| 137 |
|
|---|
| 138 |
See also: mail-folders |
|---|
| 139 |
& mail-admin |
|---|
| 140 |
|
|---|
| 141 |
The @mail command can also take the following switches: |
|---|
| 142 |
|
|---|
| 143 |
@mail/stats [<player>] -- Basic mail statistics. |
|---|
| 144 |
@mail/dstats [<player>] -- Also provides read/unread count. |
|---|
| 145 |
@mail/fstats [<player>] -- Does all that, plus gives space usage. |
|---|
| 146 |
|
|---|
| 147 |
@mail/debug <action>[=<player>] |
|---|
| 148 |
@mail/nuke |
|---|
| 149 |
|
|---|
| 150 |
Only wizards may stats players other than themselves. The mail statistics |
|---|
| 151 |
commands are computationally expensive and cost the same as @find. |
|---|
| 152 |
|
|---|
| 153 |
The /debug switch does sanity checking on the mail database, and may only |
|---|
| 154 |
be used by a wizard. "@mail/debug sanity" just does the check; the command |
|---|
| 155 |
"@mail/debug clear=<player name or dbref number>" wipes mail for an object. |
|---|
| 156 |
"@mail/debug fix" attempts to repair problems noted in the sanity check. |
|---|
| 157 |
|
|---|
| 158 |
The /nuke switch destroys the post office, erasing all @mail everywhere. |
|---|
| 159 |
It may only be used by God. |
|---|
| 160 |
|
|---|
| 161 |
& @malias |
|---|
| 162 |
@malias [<alias>] |
|---|
| 163 |
|
|---|
| 164 |
The @malias command is used to create, view, and manipulate @mail |
|---|
| 165 |
aliases, or lists. An alias is a shorthand way of specifying a list |
|---|
| 166 |
of players for @mail. Aliases begin with the '+' (plus) prefix, |
|---|
| 167 |
and represent a list of dbrefs; aliases may not include other aliases. |
|---|
| 168 |
|
|---|
| 169 |
@malias with no arguments lists aliases available for your use, |
|---|
| 170 |
and is equivalent to @malias/list |
|---|
| 171 |
|
|---|
| 172 |
@malias with a single argument (the name of an alias) lists the |
|---|
| 173 |
members of that alias, if you're allowed to see them. Other forms of |
|---|
| 174 |
the same command are @malias/members <alias> or @malias/who <alias> |
|---|
| 175 |
|
|---|
| 176 |
See help @malias2 for more |
|---|
| 177 |
|
|---|
| 178 |
& @malias2 |
|---|
| 179 |
@malias[/create] <alias>=<player list> |
|---|
| 180 |
@malias/desc <alias>=<Description> |
|---|
| 181 |
@malias/rename <alias>=<newalias> |
|---|
| 182 |
@malias/destroy <alias> |
|---|
| 183 |
|
|---|
| 184 |
The first form above creates a new alias for the given list of players. |
|---|
| 185 |
@malias/desc sets the alias's description, which is shown when aliases |
|---|
| 186 |
are listed. |
|---|
| 187 |
@malias/rename renames an alias. |
|---|
| 188 |
@malias/destroy destroys the alias completely. |
|---|
| 189 |
|
|---|
| 190 |
See help @malias3 for more. |
|---|
| 191 |
& @malias3 |
|---|
| 192 |
@malias/set <alias>=<player list> |
|---|
| 193 |
@malias/add <alias>=<player list> |
|---|
| 194 |
@malias/remove <alias>=<player list> |
|---|
| 195 |
|
|---|
| 196 |
@malias/set resets the list of players on the alias to <player list>. |
|---|
| 197 |
@malias/add adds players to the alias. Note that the same player |
|---|
| 198 |
may be on an alias multiple times. |
|---|
| 199 |
@malias/remove removes players from the alias. If a player is on the |
|---|
| 200 |
alias more than once, a single remove will remove only one instance |
|---|
| 201 |
of that player. |
|---|
| 202 |
|
|---|
| 203 |
See help @malias4 for more. |
|---|
| 204 |
& @malias4 |
|---|
| 205 |
@malias/use <alias>=<perm list> |
|---|
| 206 |
@malias/see <alias>=<perm list> |
|---|
| 207 |
|
|---|
| 208 |
@malias/use controls who may use an alias. Players who may use an |
|---|
| 209 |
alias will see it in their @malias list, and can @mail to the |
|---|
| 210 |
alias. |
|---|
| 211 |
@malias/see controls who may list the members of an alias. |
|---|
| 212 |
|
|---|
| 213 |
An empty permission list allows any player. The permission list |
|---|
| 214 |
may also be a space-separated list of one or more of "owner", |
|---|
| 215 |
"members" (of the alias), and "admin". |
|---|
| 216 |
|
|---|
| 217 |
By default, the owner and alias members may see and use the alias, |
|---|
| 218 |
but only the owner may list the members. Note that admin may always |
|---|
| 219 |
list aliases and their members, regardless of these settings, but are |
|---|
| 220 |
treated like anyone else when trying to @mail with an alias. |
|---|
| 221 |
|
|---|
| 222 |
See help @malias5 for more. |
|---|
| 223 |
& @malias5 |
|---|
| 224 |
@malias/all |
|---|
| 225 |
@malias/stat |
|---|
| 226 |
@malias/chown <alias>=<player> |
|---|
| 227 |
@malias/nuke |
|---|
| 228 |
|
|---|
| 229 |
@malias/all is an admin-only command that lists all aliases in the MUSH. |
|---|
| 230 |
@malias/stat is an admin-only command that displays statistics about the |
|---|
| 231 |
number of aliases and members of aliases in use. |
|---|
| 232 |
@malias/chown is a wizard-only command that changes the owner of an alias. |
|---|
| 233 |
@malias/nuke is a God-only command that destroys all aliases. |
|---|
| 234 |
& Mail functions |
|---|
| 235 |
Mail functions work with @mail. |
|---|
| 236 |
|
|---|
| 237 |
folderstats() mail() maildstats() mailfrom() mailfstats() |
|---|
| 238 |
mailsend() mailstats() mailstatus() mailsubject() mailtime() |
|---|
| 239 |
malias() |
|---|
| 240 |
|
|---|
| 241 |
& FOLDERSTATS() |
|---|
| 242 |
folderstats() |
|---|
| 243 |
folderstats(folder#) |
|---|
| 244 |
folderstats(player) |
|---|
| 245 |
folderstats(player,folder#) |
|---|
| 246 |
|
|---|
| 247 |
FOLDERSTATS() returns the number of read, unread, and cleared messages |
|---|
| 248 |
in a specific folder, or, if none is given, the player's current |
|---|
| 249 |
folder. Only Wizards may use forms which get other players' mail |
|---|
| 250 |
information. |
|---|
| 251 |
& MAIL() |
|---|
| 252 |
mail() |
|---|
| 253 |
mail(<player name>) |
|---|
| 254 |
mail([<folder #>:]<mail message #>) |
|---|
| 255 |
mail(<player>, [<folder #>:]<mail message #>) |
|---|
| 256 |
|
|---|
| 257 |
Without arguments, mail() returns the number of messages in |
|---|
| 258 |
all the player's mail folders. With a player name argument, |
|---|
| 259 |
mail() returns the number of read, unread, and cleared messages |
|---|
| 260 |
<player> has in all folders. Only Wizards can use this on other players. |
|---|
| 261 |
|
|---|
| 262 |
When given numeric arguments, mail() returns the text of the |
|---|
| 263 |
corresponding message in the current folder. The message number |
|---|
| 264 |
may also be prefaced by the folder number and a colon, to indicate |
|---|
| 265 |
a message in a different folder. |
|---|
| 266 |
|
|---|
| 267 |
Example: |
|---|
| 268 |
> think mail(3:2) |
|---|
| 269 |
(text of the second message in the player's third folder) |
|---|
| 270 |
|
|---|
| 271 |
& MAILFROM() |
|---|
| 272 |
& MAILTIME() |
|---|
| 273 |
& MAILSTATUS() |
|---|
| 274 |
& MAILSUBJECT() |
|---|
| 275 |
mailfrom([<player>,] [<folder #>:]<mail message #>) |
|---|
| 276 |
mailtime([<player>,] [<folder #>:]<mail message #>) |
|---|
| 277 |
mailstatus([<player>,] [<folder #>:]<mail message #>) |
|---|
| 278 |
mailsubject([<player>,] [<folder #>:]<mail message #>) |
|---|
| 279 |
|
|---|
| 280 |
mailfrom() returns the dbref number of the sender of a mail message. |
|---|
| 281 |
mailtime() is similar, but returns the time the mail was sent. |
|---|
| 282 |
mailsubject() is similar, but returns the subject of the message. |
|---|
| 283 |
mailstatus() returns the mail's status characters (as per |
|---|
| 284 |
@mail/list) |
|---|
| 285 |
|
|---|
| 286 |
& MAILSTATS() |
|---|
| 287 |
& MAILDSTATS() |
|---|
| 288 |
& MAILFSTATS() |
|---|
| 289 |
mailstats([<player>]) |
|---|
| 290 |
maildstats([<player>]) |
|---|
| 291 |
mailfstats([<player>]) |
|---|
| 292 |
|
|---|
| 293 |
mail*stats() functions return data like @mail/*stats does. You |
|---|
| 294 |
either must use this on yourself, or you must be a wizard. The |
|---|
| 295 |
information will be joined together as a space separated list of |
|---|
| 296 |
numbers. |
|---|
| 297 |
|
|---|
| 298 |
Example: |
|---|
| 299 |
> think mailstats(One) |
|---|
| 300 |
<# sent> <# received> |
|---|
| 301 |
> think mailfstats(One) |
|---|
| 302 |
<# sent> <# sent unread> <# sent cleared> <# sent bytes> <# received> |
|---|
| 303 |
<# received unread> <# received cleared> <# received bytes> |
|---|
| 304 |
& MAILSEND() |
|---|
| 305 |
mailsend(<player>,[<subject>/]<message>) |
|---|
| 306 |
|
|---|
| 307 |
This function sends a message to a player, just like @mail/send. |
|---|
| 308 |
It returns nothing if successful, or an error message. |
|---|
| 309 |
& MALIAS() |
|---|
| 310 |
malias([<delimiter>]) |
|---|
| 311 |
malias(<malias name>) |
|---|
| 312 |
malias(<malias name>[,<delimiter>]) |
|---|
| 313 |
|
|---|
| 314 |
With no arguments, malias() returns the list of all malias names |
|---|
| 315 |
which are visible to the player. With two arguments, returns the list |
|---|
| 316 |
of dbrefs that are members of the given malias, delimited by |
|---|
| 317 |
<delimiter>. |
|---|
| 318 |
|
|---|
| 319 |
With one argument, the behavior is ambiguous. If the argument |
|---|
| 320 |
matches a malias, returns the list of dbrefs that are memebrs of |
|---|
| 321 |
the malias, space-delimited. If not, it's treated as a no-argument |
|---|
| 322 |
case with a delimiter. |
|---|
| 323 |
& mail-forward |
|---|
| 324 |
& @mailforwardlist |
|---|
| 325 |
@mailforwardlist me = <space-separated list of dbrefs or objids> |
|---|
| 326 |
@lock/mailforward me = <lock> |
|---|
| 327 |
|
|---|
| 328 |
By setting a @mailforwardlist attribute, a player can direct that |
|---|
| 329 |
@mail they receive should be delivered to the specified list |
|---|
| 330 |
of dbrefs of other players. The list may include the player's own |
|---|
| 331 |
dbref, in which case the player will receive a copy of the message, |
|---|
| 332 |
or omit it, in which case the message will be delivered to those listed |
|---|
| 333 |
but the player will not receive a copy. |
|---|
| 334 |
|
|---|
| 335 |
To deliver messages to other players this way, you must control them |
|---|
| 336 |
(i.e. you're delivering to yourself or you're a wizard) or |
|---|
| 337 |
pass their @lock/mailforward. An empty @lock/mailforward disallows |
|---|
| 338 |
forwarding to you, and is the default. |
|---|