<spanid="evennia-server-inputfuncs"></span><h1>evennia.server.inputfuncs<aclass="headerlink"href="#module-evennia.server.inputfuncs"title="Permalink to this headline">¶</a></h1>
<p>Functions for processing input commands.</p>
<p>All global functions in this module whose name does not start with “_”
is considered an inputfunc. Each function must have the following
callsign (where inputfunc name is always lower-case, no matter what the
<p>Evennia knows which modules to use for inputfuncs by
settings.INPUT_FUNC_MODULES.</p>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.text">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">text</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#text"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.text"title="Permalink to this definition">¶</a></dt>
<dd><p>Main text input from the client. This will execute a command
string on the server.</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>) – The active Session to receive the input.</p></li>
<li><p><strong>text</strong> (<em>str</em>) – First arg is used as text-command input. Other
arguments are ignored.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.bot_data_in">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">bot_data_in</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#bot_data_in"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.bot_data_in"title="Permalink to this definition">¶</a></dt>
<dd><p>Text input from the IRC and RSS bots.
This will trigger the execute_cmd method on the bots in-game counterpart.</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>) – The active Session to receive the input.</p></li>
<li><p><strong>text</strong> (<em>str</em>) – First arg is text input. Other arguments are ignored.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.echo">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">echo</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#echo"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.echo"title="Permalink to this definition">¶</a></dt>
<dd><p>Echo test function</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.default">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">default</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <emclass="sig-param"><spanclass="n">cmdname</span></em>, <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/server/inputfuncs.html#default"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.default"title="Permalink to this definition">¶</a></dt>
<dd><p>Default catch-function. This is like all other input functions except
it will get <strong>cmdname</strong> as the first argument.</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.client_options">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">client_options</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#client_options"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.client_options"title="Permalink to this definition">¶</a></dt>
<dd><p>This allows the client an OOB way to inform us about its name and capabilities.
This will be integrated into the session settings</p>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>get</strong> (<em>bool</em>) – If this is true, return the settings as a dict
(ignore all other kwargs).</p></li>
<li><p><strong>client</strong> (<em>str</em>) – A client identifier, like “mushclient”.</p></li>
<li><p><strong>version</strong> (<em>str</em>) – A client version</p></li>
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">get_client_options</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#get_client_options"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.get_client_options"title="Permalink to this definition">¶</a></dt>
<dd><p>Alias wrapper for getting options.</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.get_inputfuncs">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">get_inputfuncs</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#get_inputfuncs"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.get_inputfuncs"title="Permalink to this definition">¶</a></dt>
<dd><p>Get the keys of all available inputfuncs. Note that we don’t get
it from this module alone since multiple modules could be added.
So we get it from the sessionhandler.</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.login">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">login</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#login"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.login"title="Permalink to this definition">¶</a></dt>
<dd><p>Peform a login. This only works if session is currently not logged
in. This will also automatically throttle too quick attempts.</p>
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">get_value</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#get_value"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.get_value"title="Permalink to this definition">¶</a></dt>
<dd><p>Return the value of a given attribute or db_property on the
session’s current account or character.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><p><strong>name</strong> (<em>str</em>) – Name of info value to return. Only names
in the _gettable dictionary earlier in this module
are accepted.</p>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.repeat">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">repeat</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#repeat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.repeat"title="Permalink to this definition">¶</a></dt>
<dd><p>Call a named function repeatedly. Note that
this is meant as an example of limiting the number of
possible call functions.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>callback</strong> (<em>str</em>) – The function to call. Only functions
from the _repeatable dictionary earlier in this
module are available.</p></li>
<li><p><strong>interval</strong> (<em>int</em>) –<p>How often to call function (s).
Defaults to once every 60 seconds with a minimum</p>
<blockquote>
<div><p>of 5 seconds.</p>
</div></blockquote>
</p></li>
<li><p><strong>stop</strong> (<em>bool</em>) – Stop a previously assigned ticker with
the above settings.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.unrepeat">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">unrepeat</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#unrepeat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.unrepeat"title="Permalink to this definition">¶</a></dt>
<dd><p>Wrapper for OOB use</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.monitor">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">monitor</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#monitor"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.monitor"title="Permalink to this definition">¶</a></dt>
<dd><p>Adds monitoring to a given property or Attribute.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>name</strong> (<em>str</em>) – The name of the property or Attribute
to report. No db_* prefix is needed. Only names
in the _monitorable dict earlier in this module
are accepted.</p></li>
<li><p><strong>stop</strong> (<em>bool</em>) – Stop monitoring the above name.</p></li>
<li><p><strong>outputfunc_name</strong> (<em>str</em><em>, </em><em>optional</em>) – Change the name of
the outputfunc name. This is used e.g. by MSDP which
has its own specific output format.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.unmonitor">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">unmonitor</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#unmonitor"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.unmonitor"title="Permalink to this definition">¶</a></dt>
<dd><p>Wrapper for turning off monitoring</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.monitored">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">monitored</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#monitored"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.monitored"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">webclient_options</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#webclient_options"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.webclient_options"title="Permalink to this definition">¶</a></dt>
<dd><p>Handles retrieving and changing of options related to the webclient.</p>
<p>If kwargs is empty (or contains just a “cmdid”), the saved options will be
sent back to the session.
A monitor handler will be created to inform the client of any future options
that changes.</p>
<p>If kwargs is not empty, the key/values stored in there will be persisted
to the account object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><p><strong>name></strong> (<em><option</em>) – an option to save</p>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.hello">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">hello</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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="headerlink"href="#evennia.server.inputfuncs.hello"title="Permalink to this definition">¶</a></dt>
<dd><p>This allows the client an OOB way to inform us about its name and capabilities.
This will be integrated into the session settings</p>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>get</strong> (<em>bool</em>) – If this is true, return the settings as a dict
(ignore all other kwargs).</p></li>
<li><p><strong>client</strong> (<em>str</em>) – A client identifier, like “mushclient”.</p></li>
<li><p><strong>version</strong> (<em>str</em>) – A client version</p></li>
<li><p><strong>raw</strong> (<em>bool</em>) – Turn off parsing</p></li>
<li><p><strong>localecho</strong> (<em>bool</em>) – Turn on server-side echo (for clients not supporting it)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.supports_set">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">supports_set</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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="headerlink"href="#evennia.server.inputfuncs.supports_set"title="Permalink to this definition">¶</a></dt>
<dd><p>This allows the client an OOB way to inform us about its name and capabilities.
This will be integrated into the session settings</p>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>get</strong> (<em>bool</em>) – If this is true, return the settings as a dict
(ignore all other kwargs).</p></li>
<li><p><strong>client</strong> (<em>str</em>) – A client identifier, like “mushclient”.</p></li>
<li><p><strong>version</strong> (<em>str</em>) – A client version</p></li>
<li><p><strong>raw</strong> (<em>bool</em>) – Turn off parsing</p></li>
<li><p><strong>localecho</strong> (<em>bool</em>) – Turn on server-side echo (for clients not supporting it)</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.msdp_list">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">msdp_list</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#msdp_list"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.msdp_list"title="Permalink to this definition">¶</a></dt>
<dd><p>MSDP LIST command</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.msdp_report">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">msdp_report</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#msdp_report"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.msdp_report"title="Permalink to this definition">¶</a></dt>
<dd><p>MSDP REPORT command</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.msdp_unreport">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">msdp_unreport</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#msdp_unreport"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.msdp_unreport"title="Permalink to this definition">¶</a></dt>
<dd><p>MSDP UNREPORT command</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.msdp_send">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">msdp_send</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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/server/inputfuncs.html#msdp_send"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.server.inputfuncs.msdp_send"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">external_discord_hello</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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="headerlink"href="#evennia.server.inputfuncs.external_discord_hello"title="Permalink to this definition">¶</a></dt>
<dd><p>Dummy used to swallow missing-inputfunc errors for
common clients.</p>
</dd></dl>
<dlclass="py function">
<dtid="evennia.server.inputfuncs.client_gui">
<codeclass="sig-prename descclassname">evennia.server.inputfuncs.</code><codeclass="sig-name descname">client_gui</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">session</span></em>, <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="headerlink"href="#evennia.server.inputfuncs.client_gui"title="Permalink to this definition">¶</a></dt>
<dd><p>Dummy used to swallow missing-inputfunc errors for