PennMUSH Community

root/1.8.3/trunk/game/txt/hlp/pennmail.hlp

Revision 654, 12.9 kB (checked in by penndev, 1 year ago)

PennMUSH 1.8.3p0 release candidate.

Line 
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.
Note: See TracBrowser for help on using the browser.