<spanid="evennia-accounts-accounts"></span><h1>evennia.accounts.accounts<aclass="headerlink"href="#module-evennia.accounts.accounts"title="Permalink to this headline">¶</a></h1>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.accounts.accounts.</code><codeclass="sig-name descname">DefaultAccount</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">objects</code><emclass="property"> = <evennia.accounts.manager.AccountManager object></em><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.objects"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">cmdset</code><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.cmdset"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.cmdset"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">scripts</code><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.scripts"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.scripts"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">nicks</code><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.nicks"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.nicks"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">sessions</code><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.sessions"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.sessions"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">options</code><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.options"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.options"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">characters</code><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.characters"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">uses_screenreader</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.uses_screenreader"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.uses_screenreader"title="Permalink to this definition">¶</a></dt>
<dd><p>Shortcut to determine if a session uses a screenreader. If no session given,
will return true if any of the sessions use a screenreader.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em>, </em><em>optional</em>) – The session to check for screen reader.</p>
<codeclass="sig-name descname">get_display_name</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">looker</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.get_display_name"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.get_display_name"title="Permalink to this definition">¶</a></dt>
<dd><p>This is used by channels and other OOC communications methods to give a
custom display of this account’s input.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>looker</strong> (<em>Account</em>) – The one that will see this name.</p></li>
<li><p><strong>**kwargs</strong>– Unused by default, can be used to pass game-specific data.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>str</em>– The name, possibly modified.</p>
<codeclass="sig-name descname">disconnect_session_from_account</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <emclass="sig-param"><spanclass="n">reason</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.disconnect_session_from_account"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.disconnect_session_from_account"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">puppet_object</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.puppet_object"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.puppet_object"title="Permalink to this definition">¶</a></dt>
<dd><p>Use the given session to control (puppet) the given object (usually
a Character type).</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a>) – session to use for puppeting</p></li>
<li><p><strong>obj</strong> (<em>Object</em>) – the object to start puppeting</p></li>
</ul>
</dd>
<dtclass="field-even">Raises</dt>
<ddclass="field-even"><p><strong>RuntimeError</strong>– If puppeting is not possible, the
<strong>exception.msg</strong> will contain the reason.</p>
<codeclass="sig-name descname">unpuppet_object</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.unpuppet_object"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.unpuppet_object"title="Permalink to this definition">¶</a></dt>
<ddclass="field-odd"><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em> or </em><em>list</em>) – The session or a list of
sessions to disengage from their puppets.</p>
</dd>
<dtclass="field-even">Raises</dt>
<ddclass="field-even"><p><strong>RuntimeError With message about error.</strong>–</p>
<codeclass="sig-name descname">unpuppet_all</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.unpuppet_all"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.unpuppet_all"title="Permalink to this definition">¶</a></dt>
<dd><p>Disconnect all puppets. This is called by server before a
<codeclass="sig-name descname">get_puppet</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.get_puppet"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.get_puppet"title="Permalink to this definition">¶</a></dt>
<dd><p>Get an object puppeted by this session through this account. This is
the main method for retrieving the puppeted object from the
account’s end.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a>) – Find puppeted object based on this session</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>puppet (Object)</em>– The matching puppeted object, if any.</p>
<codeclass="sig-name descname">get_all_puppets</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.get_all_puppets"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.get_all_puppets"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">character</code><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.character"title="Permalink to this definition">¶</a></dt>
<dd><p>This is a legacy convenience link for use with <strong>MULTISESSION_MODE</strong>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><p><em>puppets (Object or list)</em>–</p>
<dlclass="simple">
<dt>Users of <strong>MULTISESSION_MODE</strong> 0 or 1 will</dt><dd><p>always get the first puppet back. Users of higher <ahref="#id5"><spanclass="problematic"id="id6">**</span></a>MULTISESSION_MODE**s will
<emclass="property">property </em><codeclass="sig-name descname">puppet</code><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.puppet"title="Permalink to this definition">¶</a></dt>
<dd><p>This is a legacy convenience link for use with <strong>MULTISESSION_MODE</strong>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><p><em>puppets (Object or list)</em>–</p>
<dlclass="simple">
<dt>Users of <strong>MULTISESSION_MODE</strong> 0 or 1 will</dt><dd><p>always get the first puppet back. Users of higher <ahref="#id7"><spanclass="problematic"id="id8">**</span></a>MULTISESSION_MODE**s will
<emclass="property">classmethod </em><codeclass="sig-name descname">is_banned</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/accounts/accounts.html#DefaultAccount.is_banned"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.is_banned"title="Permalink to this definition">¶</a></dt>
<emclass="property">classmethod </em><codeclass="sig-name descname">authenticate</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">username</span></em>, <emclass="sig-param"><spanclass="n">password</span></em>, <emclass="sig-param"><spanclass="n">ip</span><spanclass="o">=</span><spanclass="default_value">''</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.authenticate"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.authenticate"title="Permalink to this definition">¶</a></dt>
<emclass="property">classmethod </em><codeclass="sig-name descname">normalize_username</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">username</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.normalize_username"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.normalize_username"title="Permalink to this definition">¶</a></dt>
<emclass="property">classmethod </em><codeclass="sig-name descname">validate_username</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">username</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.validate_username"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.validate_username"title="Permalink to this definition">¶</a></dt>
<emclass="property">classmethod </em><codeclass="sig-name descname">validate_password</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">password</span></em>, <emclass="sig-param"><spanclass="n">account</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.validate_password"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.validate_password"title="Permalink to this definition">¶</a></dt>
<dd><p>Checks the given password against the list of Django validators enabled
in the server.conf file.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>password</strong> (<em>str</em>) – Password to validate</p>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><p><strong>account</strong> (<aclass="reference internal"href="#evennia.accounts.accounts.DefaultAccount"title="evennia.accounts.accounts.DefaultAccount"><em>DefaultAccount</em></a><em>, </em><em>optional</em>) – Account object to validate the
password for. Optional, but Django includes some validators to
do things like making sure users aren’t setting passwords to the
same value as their username. If left blank, these user-specific
checks are skipped.</p>
</dd>
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p><p><em>valid (bool)</em>– Whether or not the password passed validation
error (ValidationError, None): Any validation error(s) raised. Multiple</p>
<blockquote>
<div><p>errors can be nested within a single object.</p>
<codeclass="sig-name descname">set_password</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">password</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.set_password"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.set_password"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">create_character</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.create_character"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.create_character"title="Permalink to this definition">¶</a></dt>
<emclass="property">classmethod </em><codeclass="sig-name descname">create</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.create"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.create"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">delete</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.delete"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.delete"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">msg</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">from_obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">options</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.msg"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.msg"title="Permalink to this definition">¶</a></dt>
This is the main route for sending data back to the user from the
server.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>text</strong> (<em>str</em><em> or </em><em>tuple</em><em>, </em><em>optional</em>) – The message to send. This
is treated internally like any send-command, so its
value can be a tuple if sending multiple arguments to
the <strong>text</strong> oob command.</p></li>
<li><p><strong>from_obj</strong> (<em>Object</em><em> or </em><em>Account</em><em> or </em><em>list</em><em>, </em><em>optional</em>) – Object sending. If given, its
at_msg_send() hook will be called. If iterable, call on all entities.</p></li>
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em> or </em><em>list</em><em>, </em><em>optional</em>) – Session object or a list of
Sessions to receive this send. If given, overrules the
default send behavior for the current
MULTISESSION_MODE.</p></li>
<li><p><strong>options</strong> (<em>list</em>) – Protocol-specific options. Passed on to the protocol.</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><p><strong>any</strong> (<em>dict</em>) – All other keywords are passed on to the protocol.</p>
<codeclass="sig-name descname">execute_cmd</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">raw_string</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.execute_cmd"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.execute_cmd"title="Permalink to this definition">¶</a></dt>
<dd><p>Do something as this account. This method is never called normally,
but only when the account object itself is supposed to execute the
command. It takes account nicks into account, but not nicks of
eventual puppets.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>raw_string</strong> (<em>str</em>) – Raw command input coming from the command line.</p></li>
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em>, </em><em>optional</em>) – The session to be responsible
for the command-send</p></li>
</ul>
</dd>
<dtclass="field-even">Keyword Arguments</dt>
<ddclass="field-even"><p><strong>kwargs</strong> (<em>any</em>) – Other keyword arguments will be added to the
found command object instance as variables before it
executes. This is unused by default Evennia but may be
<codeclass="sig-name descname">at_pre_channel_msg</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">message</span></em>, <emclass="sig-param"><spanclass="n">channel</span></em>, <emclass="sig-param"><spanclass="n">senders</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_pre_channel_msg"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_pre_channel_msg"title="Permalink to this definition">¶</a></dt>
<dd><p>Called by the Channel just before passing a message into <strong>channel_msg</strong>.
This allows for tweak messages per-user and also to abort the
receive on the receiver-level.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>message</strong> (<em>str</em>) – The message sent to the channel.</p></li>
<li><p><strong>channel</strong> (<em>Channel</em>) – The sending channel.</p></li>
<li><p><strong>senders</strong> (<em>list</em><em>, </em><em>optional</em>) – Accounts or Objects acting as senders.
For most normal messages, there is only a single sender. If
there are no senders, this may be a broadcasting message.</p></li>
<li><p><strong>**kwargs</strong>– These are additional keywords passed into <strong>channel_msg</strong>.
If <strong>no_prefix=True</strong> or <strong>emit=True</strong> are passed, the channel
prefix will not be added (<ahref="#id9"><spanclass="problematic"id="id10">**</span></a>[channelname]: ** by default)</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><p><em>str or None</em>–</p>
<dlclass="simple">
<dt>Allows for customizing the message for this recipient.</dt><dd><p>If returning <strong>None</strong> (or <strong>False</strong>) message-receiving is aborted.
The returning string will be passed into <strong>self.channel_msg</strong>.</p>
</dd>
</dl>
</p>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>This support posing/emotes by starting channel-send with : or ;.</p>
<codeclass="sig-name descname">channel_msg</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">message</span></em>, <emclass="sig-param"><spanclass="n">channel</span></em>, <emclass="sig-param"><spanclass="n">senders</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.channel_msg"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.channel_msg"title="Permalink to this definition">¶</a></dt>
<dd><p>This performs the actions of receiving a message to an un-muted
channel.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>message</strong> (<em>str</em>) – The message sent to the channel.</p></li>
<li><p><strong>channel</strong> (<em>Channel</em>) – The sending channel.</p></li>
<li><p><strong>senders</strong> (<em>list</em><em>, </em><em>optional</em>) – Accounts or Objects acting as senders.
For most normal messages, there is only a single sender. If
there are no senders, this may be a broadcasting message or
similar.</p></li>
<li><p><strong>**kwargs</strong>– These are additional keywords originally passed into
<strong>Channel.msg</strong>.</p></li>
</ul>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>Before this, <strong>Channel.at_pre_channel_msg</strong> will fire, which offers a way
to customize the message for the receiver on the channel-level.</p>
<codeclass="sig-name descname">at_post_channel_msg</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">message</span></em>, <emclass="sig-param"><spanclass="n">channel</span></em>, <emclass="sig-param"><spanclass="n">senders</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_post_channel_msg"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_post_channel_msg"title="Permalink to this definition">¶</a></dt>
<dd><p>Called by <strong>self.channel_msg</strong> after message was received.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>message</strong> (<em>str</em>) – The message sent to the channel.</p></li>
<li><p><strong>channel</strong> (<em>Channel</em>) – The sending channel.</p></li>
<li><p><strong>senders</strong> (<em>list</em><em>, </em><em>optional</em>) – Accounts or Objects acting as senders.
For most normal messages, there is only a single sender. If
there are no senders, this may be a broadcasting message.</p></li>
<li><p><strong>**kwargs</strong>– These are additional keywords passed into <strong>channel_msg</strong>.</p></li>
<codeclass="sig-name descname">access</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">access_type</span><spanclass="o">=</span><spanclass="default_value">'read'</span></em>, <emclass="sig-param"><spanclass="n">default</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="n">no_superuser_bypass</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.access"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.access"title="Permalink to this definition">¶</a></dt>
<emclass="property">property </em><codeclass="sig-name descname">idle_time</code><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.idle_time"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the idle time of the least idle session in seconds. If
<emclass="property">property </em><codeclass="sig-name descname">connection_time</code><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.connection_time"title="Permalink to this definition">¶</a></dt>
<dd><p>Returns the maximum connection time of all connected sessions
in seconds. Returns nothing if there are no sessions.</p>
<codeclass="sig-name descname">basetype_setup</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.basetype_setup"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.basetype_setup"title="Permalink to this definition">¶</a></dt>
<dd><p>This sets up the basic properties for an account. Overload this
with at_account_creation rather than changing this method.</p>
<codeclass="sig-name descname">at_account_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_account_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_account_creation"title="Permalink to this definition">¶</a></dt>
<dd><p>This is called once, the very first time the account is created
(i.e. first time they register with the game). It’s a good
place to store attributes all accounts should have, like
<codeclass="sig-name descname">at_init</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_init"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_init"title="Permalink to this definition">¶</a></dt>
<dd><p>This is always called whenever this object is initiated –
that is, whenever it its typeclass is cached from memory. This
happens on-demand first time the object is used or activated
in some way after being created but also after each server
restart or reload. In the case of account objects, this usually
happens the moment the account logs in or reconnects after a
<codeclass="sig-name descname">at_first_save</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_first_save"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_first_save"title="Permalink to this definition">¶</a></dt>
<dd><p>This is a generic hook called by Evennia when this object is
saved to the database the very first time. You generally
don’t override this method but the hooks called by it.</p>
<codeclass="sig-name descname">at_access</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">result</span></em>, <emclass="sig-param"><spanclass="n">accessing_obj</span></em>, <emclass="sig-param"><spanclass="n">access_type</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_access"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_access"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_cmdset_get</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/accounts/accounts.html#DefaultAccount.at_cmdset_get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_cmdset_get"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_first_login</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/accounts/accounts.html#DefaultAccount.at_first_login"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_first_login"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_password_change</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/accounts/accounts.html#DefaultAccount.at_password_change"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_password_change"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_pre_login</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/accounts/accounts.html#DefaultAccount.at_pre_login"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_pre_login"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_post_login</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_post_login"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_post_login"title="Permalink to this definition">¶</a></dt>
<dd><p>Called at the end of the login process, just before letting
the account loose.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em>, </em><em>optional</em>) – Session logging in, if any.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
overriding the call (unused by default).</p></li>
</ul>
</dd>
</dl>
<pclass="rubric">Notes</p>
<p>This is called <em>before</em> an eventual Character’s
<strong>at_post_login</strong> hook. By default it is used to set up
<codeclass="sig-name descname">at_failed_login</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_failed_login"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_failed_login"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_disconnect</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">reason</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_disconnect"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_disconnect"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_post_disconnect</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/accounts/accounts.html#DefaultAccount.at_post_disconnect"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_post_disconnect"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_msg_receive</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">from_obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_msg_receive"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_msg_receive"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_msg_send</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">text</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">to_obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_msg_send"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_msg_send"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_server_reload</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_server_reload"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_server_reload"title="Permalink to this definition">¶</a></dt>
<dd><p>This hook is called whenever the server is shutting down for
restart/reboot. If you want to, for example, save
non-persistent properties across a restart, this is the place
<codeclass="sig-name descname">at_server_shutdown</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_server_shutdown"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_server_shutdown"title="Permalink to this definition">¶</a></dt>
<dd><p>This hook is called whenever the server is shutting down fully
<codeclass="sig-name descname">ooc_appearance_template</code><emclass="property"> = '--------------------------------------------------------------------\n{header}\n\n{sessions}\n\n |whelp|n - more commands\n |wpublic <text>|n - talk on public channel\n |wcharcreate <name> [=description]|n - create new character\n |wchardelete <name>|n - delete a character\n |wic <name>|n - enter the game as character (|wooc|n to get back here)\n |wic|n - enter the game as latest character controlled.\n\n{characters}\n{footer}\n--------------------------------------------------------------------'</em><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.ooc_appearance_template"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_look</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">target</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultAccount.at_look"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.at_look"title="Permalink to this definition">¶</a></dt>
<li><p><strong>session</strong> (<aclass="reference internal"href="evennia.server.session.html#evennia.server.session.Session"title="evennia.server.session.Session"><em>Session</em></a><em>, </em><em>optional</em>) – The session doing this look.</p></li>
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.accounts.accounts.DefaultAccount'</em><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'DefaultAccount'</em><aclass="headerlink"href="#evennia.accounts.accounts.DefaultAccount.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.accounts.accounts.</code><codeclass="sig-name descname">DefaultGuest</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="o">*</span><spanclass="n">args</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultGuest"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultGuest"title="Permalink to this definition">¶</a></dt>
<emclass="property">classmethod </em><codeclass="sig-name descname">create</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/accounts/accounts.html#DefaultGuest.create"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultGuest.create"title="Permalink to this definition">¶</a></dt>
<dd><p>Forwards request to cls.authenticate(); returns a DefaultGuest object
<emclass="property">classmethod </em><codeclass="sig-name descname">authenticate</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/accounts/accounts.html#DefaultGuest.authenticate"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultGuest.authenticate"title="Permalink to this definition">¶</a></dt>
<dd><p>Gets or creates a Guest account object.</p>
<codeclass="sig-name descname">at_post_login</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultGuest.at_post_login"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultGuest.at_post_login"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_server_shutdown</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/accounts.html#DefaultGuest.at_server_shutdown"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultGuest.at_server_shutdown"title="Permalink to this definition">¶</a></dt>
<dd><p>We repeat the functionality of <strong>at_disconnect()</strong> here just to
<codeclass="sig-name descname">at_post_disconnect</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/accounts/accounts.html#DefaultGuest.at_post_disconnect"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.accounts.DefaultGuest.at_post_disconnect"title="Permalink to this definition">¶</a></dt>
<dd><p>Once having disconnected, destroy the guest’s characters and</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.accounts.accounts.DefaultGuest.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.accounts.accounts.DefaultGuest.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.accounts.accounts.DefaultGuest'</em><aclass="headerlink"href="#evennia.accounts.accounts.DefaultGuest.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'DefaultGuest'</em><aclass="headerlink"href="#evennia.accounts.accounts.DefaultGuest.typename"title="Permalink to this definition">¶</a></dt>