<spanid="evennia-contrib-game-systems-mail-mail"></span><h1>evennia.contrib.game_systems.mail.mail<aclass="headerlink"href="#module-evennia.contrib.game_systems.mail.mail"title="Permalink to this headline">¶</a></h1>
<p>In-Game Mail system</p>
<p>Evennia Contribution - grungies1138 2016</p>
<p>A simple Brandymail style @mail system that uses the Msg class from Evennia
Core. It has two Commands, both of which can be used on their own:</p>
<blockquote>
<div><ulclass="simple">
<li><p>CmdMail - this should sit on the Account cmdset and makes the <strong>mail</strong> command</p></li>
</ul>
<blockquote>
<div><p>available both IC and OOC. Mails will always go to Accounts (other players).</p>
</div></blockquote>
<ulclass="simple">
<li><p>CmdMailCharacter - this should sit on the Character cmdset and makes the <strong>mail</strong></p></li>
</ul>
<blockquote>
<div><p>command ONLY available when puppeting a character. Mails will be sent to other
Characters only and will not be available when OOC.</p>
</div></blockquote>
<ulclass="simple">
<li><p>If adding <em>both</em> commands to their respective cmdsets, you’ll get two separate</p></li>
</ul>
<blockquote>
<div><p>IC and OOC mailing systems, with different lists of mail for IC and OOC modes.</p>
</div></blockquote>
</div></blockquote>
<p>Installation:</p>
<p>Install one or both of the following (see above):</p>
<ul>
<li><p>CmdMail (IC + OOC mail, sent between players)</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.game_systems.mail.mail.</code><codeclass="sig-name descname">CmdMail</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/game_systems/mail/mail.html#CmdMail"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = '@mail'</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = ['mail']</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock</code><emclass="property"> = 'cmd:all()'</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail.lock"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">parse</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/game_systems/mail/mail.html#CmdMail.parse"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail.parse"title="Permalink to this definition">¶</a></dt>
<dd><p>Add convenience check to know if caller is an Account or not since this cmd
will be able to add to either Object- or Account level.</p>
<codeclass="sig-name descname">search_targets</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">namelist</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/game_systems/mail/mail.html#CmdMail.search_targets"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail.search_targets"title="Permalink to this definition">¶</a></dt>
<dd><p>Search a list of targets of the same type as caller.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>caller</strong> (<em>Object</em><em> or </em><em>Account</em>) – The type of object to search.</p></li>
<li><p><strong>namelist</strong> (<em>list</em>) – List of strings for objects to search for.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>targetlist (Queryset)</em>– Any target matches.</p>
<codeclass="sig-name descname">get_all_mail</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/game_systems/mail/mail.html#CmdMail.get_all_mail"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail.get_all_mail"title="Permalink to this definition">¶</a></dt>
<dd><dlclass="simple">
<dt>Returns a list of all the messages where the caller is a recipient. These</dt><dd><p>are all messages tagged with tags of the <strong>mail</strong> category.</p>
<codeclass="sig-name descname">send_mail</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">recipients</span></em>, <emclass="sig-param"><spanclass="n">subject</span></em>, <emclass="sig-param"><spanclass="n">message</span></em>, <emclass="sig-param"><spanclass="n">caller</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/game_systems/mail/mail.html#CmdMail.send_mail"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail.send_mail"title="Permalink to this definition">¶</a></dt>
<dd><p>Function for sending new mail. Also useful for sending notifications
from objects or systems.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>recipients</strong> (<em>list</em>) – list of Account or Character objects to receive
the newly created mails.</p></li>
<li><p><strong>subject</strong> (<em>str</em>) – The header or subject of the message to be delivered.</p></li>
<li><p><strong>message</strong> (<em>str</em>) – The body of the message being sent.</p></li>
<li><p><strong>caller</strong> (<em>obj</em>) – The object (or Account or Character) that is sending the message.</p></li>
<codeclass="sig-name descname">func</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/game_systems/mail/mail.html#CmdMail.func"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail.func"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': 'mail', 'category': 'general', 'key': '@mail', 'no_prefix': 'mail mail', 'tags': '', 'text': '\n Communicate with others by sending mail.\n\n Usage:\n @mail - Displays all the mail an account has in their mailbox\n @mail <#> - Displays a specific message\n @mail <accounts>=<subject>/<message>\n - Sends a message to the comma separated list of accounts.\n @mail/delete <#> - Deletes a specific message\n @mail/forward <account list>=<#>[/<Message>]\n - Forwards an existing message to the specified list of accounts,\n original message is delivered with optional Message prepended.\n @mail/reply <#>=<message>\n - Replies to a message #. Prepends message to the original\n message text.\n Switches:\n delete - deletes a message\n forward - forward a received message to another object with an optional message attached.\n reply - Replies to a received message, appending the original message to the bottom.\n Examples:\n @mail 2\n @mail Griatch=New mail/Hey man, I am sending you a message!\n @mail/delete 6\n @mail/forward feend78 Griatch=4/You guys should read this.\n @mail/reply 9=Thanks for the info!\n\n '}</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMail.search_index_entry"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.contrib.game_systems.mail.mail.</code><codeclass="sig-name descname">CmdMailCharacter</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/contrib/game_systems/mail/mail.html#CmdMailCharacter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMailCharacter"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">account_caller</code><emclass="property"> = False</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMailCharacter.account_caller"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">aliases</code><emclass="property"> = ['mail']</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMailCharacter.aliases"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">help_category</code><emclass="property"> = 'general'</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMailCharacter.help_category"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">key</code><emclass="property"> = '@mail'</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMailCharacter.key"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">lock_storage</code><emclass="property"> = 'cmd:all();'</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMailCharacter.lock_storage"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">search_index_entry</code><emclass="property"> = {'aliases': 'mail', 'category': 'general', 'key': '@mail', 'no_prefix': 'mail mail', 'tags': '', 'text': '\n Communicate with others by sending mail.\n\n Usage:\n @mail - Displays all the mail an account has in their mailbox\n @mail <#> - Displays a specific message\n @mail <accounts>=<subject>/<message>\n - Sends a message to the comma separated list of accounts.\n @mail/delete <#> - Deletes a specific message\n @mail/forward <account list>=<#>[/<Message>]\n - Forwards an existing message to the specified list of accounts,\n original message is delivered with optional Message prepended.\n @mail/reply <#>=<message>\n - Replies to a message #. Prepends message to the original\n message text.\n Switches:\n delete - deletes a message\n forward - forward a received message to another object with an optional message attached.\n reply - Replies to a received message, appending the original message to the bottom.\n Examples:\n @mail 2\n @mail Griatch=New mail/Hey man, I am sending you a message!\n @mail/delete 6\n @mail/forward feend78 Griatch=4/You guys should read this.\n @mail/reply 9=Thanks for the info!\n\n '}</em><aclass="headerlink"href="#evennia.contrib.game_systems.mail.mail.CmdMailCharacter.search_index_entry"title="Permalink to this definition">¶</a></dt>