Mail Options #65
Aliases: Mail Options
18 verbs · 24 properties · 0 children
Verbs
| Verb | Spec | Flags | Definer | Lines |
|---|---|---|---|---|
actual | this none this | rxd | #65 | 5 |
parse_@mail | this none this | rxd | #65 | 8 |
parse_sticky parse_manymsgs | this none this | rxd | #65 | 13 |
parse_replyto | this none this | rxd | #65 | 12 |
show_manymsgs | this none this | rxd | #65 | 6 |
show_sticky | this none this | rxd | #65 | 6 |
show_@mail | this none this | rxd | #65 | 6 |
show_replyto | this none this | rxd | #65 | 5 |
show | this none this | rxd | #65 | 6 |
check_replyto | this none this | rxd | #65 | 9 |
show_netmail | this none this | rxd | #65 | 6 |
check_netmail | this none this | rxd | #65 | 11 |
show_expire | this none this | rxd | #65 | 6 |
parse_expire | this none this | rxd | #65 | 27 |
init_for_core | this none this | rx | #65 | 9 |
check_news | this none this | rxd | #65 | 5 |
parse_news | this none this | rxd | #65 | 5 |
show_news | this none this | rxd | #65 | 9 |
Properties
| Property | Definer | Flags | Owner | Value |
|---|---|---|---|---|
show_include | #65 | rc | #36 | {"Original message will not be included in replies", "Original message will be included in replies"} |
show_all | #65 | rc | #36 | {"Replies will go to original sender only.", "Replies will go to original sender and all previous recipients."} |
show_nosubject | #65 | rc | #36 | {"Mail editor will initially require a subject line.", "Mail editor will not initially require a subject line."} |
show_expert | #65 | rc | #36 | {"Novice mail user...", "Expert mail user..."} |
show_enter | #65 | rc | #36 | {"Mail editor will not start with an implicit `enter' command.", "Mail editor will start with an implicit `enter' command."} |
type_manymsgs | #65 | rc | #36 | {0} |
type_@mail | #65 | rc | #36 | {2, {2}} |
type_replyto | #65 | rc | #36 | {1, {1}} |
type_expire | #65 | rc | #36 | {0} |
show_followup | #65 | rc | #36 | {"No special reply action for messages with non-player recipients.", "Replies go only to first non-player recipient if any."} |
show_resend_forw | #65 | rc | #36 | {"@resend puts player in Resent-By: header", "@resend puts player in From: header (like @forward)"} |
choices_rn_order | #65 | rc | #36 | list of 3{{"read", {".current_message folders are sorted by last read date."}}, {"send", {".current_message folders are sorted by last send date."}}, {"fixed", {".current_message folders are not sorted."}}} |
show_no_auto_forward | #65 | rc | #36 | {"@netforward when expiring messages", "do not @netforward messages when expiring mail"} |
show_expert_netfwd | #65 | rc | #36 | {"@netforward confirms before emailing messages", "@netforward doesn't confirm before emailing messages"} |
show_no_dupcc | #65 | r | #36 | {"i want to read mail to me also sent to lists i read", "don't send me personal copies of mail also sent to lists i read"} |
names | #68 | r | #36 | list of 18{"include", "all", "followup", "nosubject", "expert", "enter", "sticky", "@mail", "manymsgs", "replyto", "netmail", "expire", "resend_forw", "rn_order", "no_auto_forward", "expert_netfwd", "news", "no_dupcc"} |
_namelist | #68 | r | #36 | "!include!noinclude!all!sender!nosubject!expert!enter!sticky!@mail!manymsgs!replyto!netmail!expire!followup!resend_forw!rn_order!no_auto_forward!expert_netfwd!news!no_dupcc!" |
extras | #68 | r | #36 | {"noinclude", "sender"} |
namewidth | #68 | rc | #36 | 19 |
key | #1 | c | #36 | <clear> |
aliases | #1 | rc | #36 | {"Mail Options"} |
description | #1 | rc | #36 | "Options for mailing" |
object_size | #1 | r | #36 | {14234, -1090650497} |
html | #1 | rc | #36 | <clear> |
Ancestry
Ancestors (nearest first): #68 Generic Option Package → #1 Root Class
Children: none
Call graph
Source
actual
Referenced by
none
Source
1if (i = args[1] in {"noinclude", "sender"}) 2return {{{"include", "all"}[i], !args[2]}}; 3else 4return {args}; 5endif
parse_@mail
Referenced by
none
Source
1"... we'll take anything..."; 2raw = args[2]; 3if (raw == 1) 4"...+@mail => @mailo=new"; 5return {args[1], "new"}; 6else 7return args[1..2]; 8endif
parse_sticky parse_manymsgs
Referenced by
none
Source
1{oname, raw, data} = args; 2if (typeof(raw) == LIST) 3if (length(raw) > 1) 4return "Too many arguments."; 5endif 6raw = raw[1]; 7elseif (typeof(raw) == INT) 8return {oname, raw && ((oname == "manymsgs") ? 20 | 1)}; 9endif 10if ((value = $code_utils:toint(raw)) == E_TYPE) 11return tostr("`", raw, "'? Number expected."); 12endif 13return {oname, value};
parse_replyto
Referenced by
none
Source
1{oname, raw, data} = args; 2if (typeof(raw) == STR) 3raw = $string_utils:explode(raw, ","); 4elseif (typeof(raw) == INT) 5return raw ? "You need to give one or more recipients." | {oname, 0}; 6endif 7value = $mail_editor:parse_recipients({}, raw); 8if (value) 9return {oname, value}; 10else 11return "No valid recipients in list."; 12endif
show_manymsgs
Referenced by
none
Source
1value = this:get(@args); 2if (value) 3return {tostr(value), {tostr("Query when asking for ", value, " or more messages.")}}; 4else 5return {0, {"Willing to be spammed with arbitrarily many messages/headers"}}; 6endif
show_sticky
Referenced by
none
Source
1value = this:get(@args); 2if (value) 3return {value, {"Sticky folders: mail commands default to whatever", "mail collection the previous successful command looked at."}}; 4else 5return {0, {"Teflon folders: mail commands always default to `on me'."}}; 6endif
show_@mail
Referenced by
none
Source
1if (value = this:get(@args)) 2return {"", {tostr("Default message sequence for @mail: ", (typeof(value) == STR) ? value | $string_utils:from_list(value, " "))}}; 3else 4default = $mail_agent.("player_default_@mail"); 5return {0, {tostr("Default message sequence for @mail: ", (typeof(default) == STR) ? default | $string_utils:from_list(default, " "))}}; 6endif
show_replyto
Referenced by
none
Source
1if (value = this:get(@args)) 2return {"", {tostr("Default Reply-to: ", $mail_agent:name_list(@value))}}; 3else 4return {0, {"No default Reply-to: field"}}; 5endif
show
Referenced by
none
Source
1if (o = (name = args[2]) in {"sender", "noinclude"}) 2args[2] = {"all", "include"}[o]; 3return {@pass(@args), tostr("(", name, " is a synonym for -", args[2], ")")}; 4else 5return pass(@args); 6endif
check_replyto
Referenced by
none
Source
1"... must be object, list of objects, or false..."; 2value = args[1]; 3if (typeof(value) == OBJ) 4return {{value}}; 5elseif (!this:istype(value, {{OBJ}})) 6return $string_utils:capitalize("Object or list of objects expected."); 7else 8return {value}; 9endif
show_netmail
Referenced by
none
Source
1if (value = this:get(@args)) 2return {value, {"Have MOO-mail automatically forwarded to me at", "my registered email-address."}}; 3else 4return {value, {"Receive MOO-mail here on the MOO."}}; 5endif 6"Last modified Tue Jun 1 02:10:08 1993 EDT by Edison@OpalMOO (#200).";
check_netmail
Referenced by
none
Source
1":check_netmail(value) => Makes sure the email-address is one that can actually be used by $network:sendmail()."; 2"The actual value sent is not checked since it can only be a boolean flag. The player's .email_address property is what is checked."; 3"Possible situations where the address would be unusable are when the address is invalid or we can't connect to the site to send mail."; 4"Returns a string error message if unusable or {value} otherwise."; 5if (caller != this) 6return E_PERM; 7endif 8if (args[1] && (reason = $network:email_will_fail(player.email_address))) 9return tostr("Invalid registered .email_address: ", reason); 10endif 11return args;
show_expire
Referenced by
none
Source
1value = this:get(args[1], "expire"); 2if (value < 0) 3return {1, {"Messages will not expire."}}; 4else 5return {value, {tostr("Unkept messages expire in ", $time_utils:english_time(value || $mail_agent.player_expire_time), value ? "" | " (default)")}}; 6endif
parse_expire
Referenced by
none
Source
1{oname, value, data} = args; 2if ((typeof(value) == STR) && index(value, " ")) 3value = $string_utils:explode(value, " "); 4if (!value) 5return {oname, 0}; 6endif 7endif 8if (value == 1) 9return {oname, -1}; 10elseif (typeof(value) == LIST) 11if (length(value) > 1) 12nval = $time_utils:parse_english_time_interval(@value); 13if (typeof(nval) == ERR) 14return "Time interval should be of a form like \"30 days, 10 hours and 43 minutes\"."; 15else 16return {oname, nval}; 17endif 18endif 19value = value[1]; 20endif 21if ((nval = $code_utils:toint(value)) || (nval == 0)) 22return {oname, (nval < 0) ? -1 | nval}; 23elseif (value == "Never") 24return {oname, -1}; 25else 26return "Number, time interval (e.g., \"30 days\"), or \"Never\" expected"; 27endif
init_for_core
Referenced by
none
Source
1if (caller_perms().wizard) 2for x in ({"fast_check", "idle_check", "idle_threshold"}) 3this:remove_name(x); 4for y in ({"show", "check", "parse"}) 5delete_verb(this, (y + "_") + x); 6delete_property(this, (y + "_") + x); 7endfor 8endfor 9endif
check_news
Referenced by
none
Source
1if ((what = args[1]) in {"new", "contents", "all"}) 2return {what}; 3else 4return "Error: `news' option must be one of `new' or `contents' or `all'"; 5endif
parse_news
Referenced by
none
Source
1if (typeof(args[2]) == INT) 2return tostr(strsub(verb, "parse_", ""), " is not a boolean option."); 3else 4return {args[1], (typeof(args[2]) == STR) ? args[2] | $string_utils:from_list(args[2], " ")}; 5endif
show_news
Referenced by
none
Source
1if ((value = this:get(@args)) == "all") 2return {value, {"the `news' command will show all news"}}; 3elseif (value == "contents") 4return {value, {"the `news' command will show the titles of all articles"}}; 5elseif (value == "new") 6return {value, {"the `news' command will show only new news"}}; 7else 8return {0, {"the `news' command will show all news"}}; 9endif