<spanid="evennia-scripts-manager"></span><h1>evennia.scripts.manager<aclass="headerlink"href="#module-evennia.scripts.manager"title="Permalink to this headline">¶</a></h1>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.scripts.manager.</code><codeclass="sig-name descname">ScriptManager</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/scripts/manager.html#ScriptManager"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptManager"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.scripts.manager.</code><codeclass="sig-name descname">ScriptDBManager</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/scripts/manager.html#ScriptDBManager"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_all_scripts_on_obj</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">obj</span></em>, <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/manager.html#ScriptDBManager.get_all_scripts_on_obj"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.get_all_scripts_on_obj"title="Permalink to this definition">¶</a></dt>
<dd><p>Find all Scripts related to a particular object.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>obj</strong> (<em>Object</em>) – Object whose Scripts we are looking for.</p></li>
<li><p><strong>key</strong> (<em>str</em><em>, </em><em>optional</em>) – Script identifier - can be given as a
dbref or name string. If given, only scripts matching the
<codeclass="sig-name descname">get_all_scripts</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/manager.html#ScriptDBManager.get_all_scripts"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.get_all_scripts"title="Permalink to this definition">¶</a></dt>
<dd><p>Get all scripts in the database.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>key</strong> (<em>str</em><em> or </em><em>int</em><em>, </em><em>optional</em>) – Restrict result to only those
with matching key or dbref.</p>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>scripts (list)</em>– All scripts found, or those matching <strong>key</strong>.</p>
<codeclass="sig-name descname">delete_script</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">dbref</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.delete_script"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.delete_script"title="Permalink to this definition">¶</a></dt>
<dd><p>This stops and deletes a specific script directly from the
<codeclass="sig-name descname">update_scripts_after_server_start</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.update_scripts_after_server_start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.update_scripts_after_server_start"title="Permalink to this definition">¶</a></dt>
<dd><p>Update/sync/restart/delete scripts after server shutdown/restart.</p>
<codeclass="sig-name descname">search_script</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ostring</span></em>, <emclass="sig-param"><spanclass="n">obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">only_timed</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="n">typeclass</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.search_script"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.search_script"title="Permalink to this definition">¶</a></dt>
<dd><p>Search for a particular script.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>ostring</strong> (<em>str</em>) – Search criterion - a script dbef or key.</p></li>
<li><p><strong>obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – Limit search to scripts defined on
this object</p></li>
<li><p><strong>only_timed</strong> (<em>bool</em>) – Limit search only to scripts that run
on a timer.</p></li>
<li><p><strong>typeclass</strong> (<em>class</em><em> or </em><em>str</em>) – Typeclass or path to typeclass.</p></li>
<codeclass="sig-name descname">script_search</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ostring</span></em>, <emclass="sig-param"><spanclass="n">obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">only_timed</span><spanclass="o">=</span><spanclass="default_value">False</span></em>, <emclass="sig-param"><spanclass="n">typeclass</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.script_search"title="Permalink to this definition">¶</a></dt>
<dd><p>Search for a particular script.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>ostring</strong> (<em>str</em>) – Search criterion - a script dbef or key.</p></li>
<li><p><strong>obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – Limit search to scripts defined on
this object</p></li>
<li><p><strong>only_timed</strong> (<em>bool</em>) – Limit search only to scripts that run
on a timer.</p></li>
<li><p><strong>typeclass</strong> (<em>class</em><em> or </em><em>str</em>) – Typeclass or path to typeclass.</p></li>
<codeclass="sig-name descname">copy_script</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">original_script</span></em>, <emclass="sig-param"><spanclass="n">new_key</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">new_obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">new_locks</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.copy_script"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.copy_script"title="Permalink to this definition">¶</a></dt>
<dd><p>Make an identical copy of the original_script.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>original_script</strong> (<em>Script</em>) – The Script to copy.</p></li>
<li><p><strong>new_key</strong> (<em>str</em><em>, </em><em>optional</em>) – Rename the copy.</p></li>
<li><p><strong>new_obj</strong> (<em>Object</em><em>, </em><em>optional</em>) – Place copy on different Object.</p></li>
<li><p><strong>new_locks</strong> (<em>str</em><em>, </em><em>optional</em>) – Give copy different locks from
<codeclass="sig-name descname">create_script</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">typeclass</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">key</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">obj</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">account</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">locks</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">interval</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">start_delay</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">repeats</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">persistent</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>, <emclass="sig-param"><spanclass="n">report_to</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">desc</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">tags</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">attributes</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/scripts/manager.html#ScriptDBManager.create_script"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.scripts.manager.ScriptDBManager.create_script"title="Permalink to this definition">¶</a></dt>
<dd><p>Create a new script. All scripts are a combination of a database
object that communicates with the database, and an typeclass that
‘decorates’ the database object into being different types of
scripts. It’s behaviour is similar to the game objects except
scripts has a time component and are more limited in scope.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Keyword Arguments</dt>
<ddclass="field-odd"><ulclass="simple">
<li><p><strong>typeclass</strong> (<em>class</em><em> or </em><em>str</em>) – Class or python path to a typeclass.</p></li>
<li><p><strong>key</strong> (<em>str</em>) – Name of the new object. If not set, a name of
#dbref will be set.</p></li>
<li><p><strong>obj</strong> (<em>Object</em>) – The entity on which this Script sits. If this
is <strong>None</strong>, we are creating a “global” script.</p></li>
<li><p><strong>account</strong> (<em>Account</em>) – The account on which this Script sits. It is
exclusiv to <strong>obj</strong>.</p></li>
<li><p><strong>locks</strong> (<em>str</em>) – one or more lockstrings, separated by semicolons.</p></li>
<li><p><strong>interval</strong> (<em>int</em>) – The triggering interval for this Script, in
seconds. If unset, the Script will not have a timing
component.</p></li>
<li><p><strong>start_delay</strong> (<em>bool</em>) – If <strong>True</strong>, will wait <strong>interval</strong> seconds
before triggering the first time.</p></li>
<li><p><strong>repeats</strong> (<em>int</em>) – The number of times to trigger before stopping.
If unset, will repeat indefinitely.</p></li>
<li><p><strong>persistent</strong> (<em>bool</em>) – If this Script survives a server shutdown
or not (all Scripts will survive a reload).</p></li>
<li><p><strong>autostart</strong> (<em>bool</em>) – If this Script will start immediately when
created or if the <strong>start</strong> method must be called explicitly.</p></li>
<li><p><strong>report_to</strong> (<em>Object</em>) – The object to return error messages to.</p></li>
<li><p><strong>desc</strong> (<em>str</em>) – Optional description of script</p></li>
<li><p><strong>tags</strong> (<aclass="reference internal"href="evennia.contrib.game_systems.barter.barter.html#evennia.contrib.game_systems.barter.barter.TradeHandler.list"title="evennia.contrib.game_systems.barter.barter.TradeHandler.list"><em>list</em></a>) – List of tags or tuples (tag, category).</p></li>
<li><p><strong>attributes</strong> (<aclass="reference internal"href="evennia.contrib.game_systems.barter.barter.html#evennia.contrib.game_systems.barter.barter.TradeHandler.list"title="evennia.contrib.game_systems.barter.barter.TradeHandler.list"><em>list</em></a>) – List if tuples (key, value) or (key, value, category)
(key, value, lockstring) or (key, value, lockstring, default_access).</p></li>
</ul>
</dd>
<dtclass="field-even">Returns</dt>
<ddclass="field-even"><p><em>script (obj)</em>– An instance of the script created</p>
</dd>
</dl>
<p>See evennia.scripts.manager for methods to manipulate existing