<spanid="evennia-scripts-scripthandler"></span><h1>evennia.scripts.scripthandler<aclass="headerlink"href="#module-evennia.scripts.scripthandler"title="Permalink to this headline">¶</a></h1>
<p>The script handler makes sure to check through all stored scripts to
make sure they are still relevant. A scripthandler is automatically
added to all game objects. You access it through the property
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.scripts.scripthandler.</code><codeclass="sig-name descname">ScriptHandler</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.scripthandler.ScriptHandler"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">__init__</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.__init__"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.scripthandler.ScriptHandler.__init__"title="Permalink to this definition">¶</a></dt>
<dd><p>Set up internal state.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>obj</strong> (<em>Object</em>) – A reference to the object this handler is
<codeclass="sig-name descname">add</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">scriptclass</span></em>, <emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">autostart</span><spanclass="o">=</span><spanclass="default_value">True</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.add"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.scripthandler.ScriptHandler.add"title="Permalink to this definition">¶</a></dt>
<dd><p>Add a script to this object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>scriptclass</strong> (<em>Scriptclass</em><em>, </em><em>Script</em><em> or </em><em>str</em>) – Either a class
object inheriting from DefaultScript, an instantiated
script object or a python path to such a class object.</p></li>
<li><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) – Identifier for the script (often set
in script definition and listings)</p></li>
<li><p><strong>autostart</strong> (<em>bool</em><em>, </em><em>optional</em>) – Start the script upon adding it.</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>Script</em>– The newly created Script.</p>
<codeclass="sig-name descname">start</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.scripthandler.ScriptHandler.start"title="Permalink to this definition">¶</a></dt>
<dd><p>Find scripts and force-start them</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>key</strong> (<em>str</em>) – The script’s key or dbref.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>nr_started (int)</em>– The number of started scripts found.</p>
<codeclass="sig-name descname">has</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.has"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.scripthandler.ScriptHandler.has"title="Permalink to this definition">¶</a></dt>
<dd><p>Determine if a given script exists on this object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>key</strong> (<em>str</em>) – Search criterion, the script’s key or dbref.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>bool</em>– If the script exists or not.</p>
<codeclass="sig-name descname">get</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.get"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.scripthandler.ScriptHandler.get"title="Permalink to this definition">¶</a></dt>
<dd><p>Search scripts on this object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>key</strong> (<em>str</em>) – Search criterion, the script’s key or dbref.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>scripts (queryset)</em>– The found scripts matching <strong>key</strong>.</p>
<codeclass="sig-name descname">remove</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.remove"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.scripthandler.ScriptHandler.remove"title="Permalink to this definition">¶</a></dt>
<dd><p>Forcibly delete a script from this object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) – A script key or the path to a script (in the
latter case all scripts with this path will be deleted!)
If no key is given, delete <em>all</em> scripts on the object!</p>
<codeclass="sig-name descname">delete</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.scripts.scripthandler.ScriptHandler.delete"title="Permalink to this definition">¶</a></dt>
<dd><p>Forcibly delete a script from this object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) – A script key or the path to a script (in the
latter case all scripts with this path will be deleted!)
If no key is given, delete <em>all</em> scripts on the object!</p>
<codeclass="sig-name descname">stop</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.scripts.scripthandler.ScriptHandler.stop"title="Permalink to this definition">¶</a></dt>
<dd><p>Forcibly delete a script from this object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) – A script key or the path to a script (in the
latter case all scripts with this path will be deleted!)
If no key is given, delete <em>all</em> scripts on the object!</p>
<codeclass="sig-name descname">all</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/scripthandler.html#ScriptHandler.all"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.scripthandler.ScriptHandler.all"title="Permalink to this definition">¶</a></dt>
<dd><p>Get all scripts stored in this handler.</p>