<spanid="evennia-accounts-bots"></span><h1>evennia.accounts.bots<aclass="headerlink"href="#module-evennia.accounts.bots"title="Permalink to this headline">¶</a></h1>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.accounts.bots.</code><codeclass="sig-name descname">BotStarter</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/bots.html#BotStarter"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.BotStarter"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_script_creation</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#BotStarter.at_script_creation"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.BotStarter.at_script_creation"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_start</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#BotStarter.at_start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.BotStarter.at_start"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_repeat</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#BotStarter.at_repeat"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.BotStarter.at_repeat"title="Permalink to this definition">¶</a></dt>
<dd><p>Called self.interval seconds to keep connection. We cannot use
the IDLE command from inside the game since the system will
not catch it (commands executed from the server side usually
has no sessions). So we update the idle counter manually here
instead. This keeps the bot getting hit by IDLE_TIMEOUT.</p>
<codeclass="sig-name descname">at_server_reload</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#BotStarter.at_server_reload"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.BotStarter.at_server_reload"title="Permalink to this definition">¶</a></dt>
<dd><p>If server reloads we don’t need to reconnect the protocol
again, this is handled by the portal reconnect mechanism.</p>
<codeclass="sig-name descname">at_server_shutdown</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#BotStarter.at_server_shutdown"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.BotStarter.at_server_shutdown"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.accounts.bots.BotStarter.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.accounts.bots.BotStarter.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.accounts.bots.BotStarter'</em><aclass="headerlink"href="#evennia.accounts.bots.BotStarter.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'BotStarter'</em><aclass="headerlink"href="#evennia.accounts.bots.BotStarter.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.accounts.bots.</code><codeclass="sig-name descname">Bot</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/bots.html#Bot"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.Bot"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">basetype_setup</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#Bot.basetype_setup"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.Bot.basetype_setup"title="Permalink to this definition">¶</a></dt>
<dd><p>This sets up the basic properties for the bot.</p>
<codeclass="sig-name descname">start</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/bots.html#Bot.start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.Bot.start"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/bots.html#Bot.msg"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.Bot.msg"title="Permalink to this definition">¶</a></dt>
<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><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#Bot.execute_cmd"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.Bot.execute_cmd"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/bots.html#Bot.at_server_shutdown"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.Bot.at_server_shutdown"title="Permalink to this definition">¶</a></dt>
<dd><p>We need to handle this case manually since the shutdown may be
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.accounts.bots.Bot.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.accounts.bots.Bot.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.accounts.bots.Bot'</em><aclass="headerlink"href="#evennia.accounts.bots.Bot.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'Bot'</em><aclass="headerlink"href="#evennia.accounts.bots.Bot.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.accounts.bots.</code><codeclass="sig-name descname">IRCBot</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/bots.html#IRCBot"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.IRCBot"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">factory_path</code><emclass="property"> = 'evennia.server.portal.irc.IRCBotFactory'</em><aclass="headerlink"href="#evennia.accounts.bots.IRCBot.factory_path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_msg_send</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/bots.html#IRCBot.at_msg_send"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.IRCBot.at_msg_send"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">get_nicklist</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">caller</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#IRCBot.get_nicklist"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.IRCBot.get_nicklist"title="Permalink to this definition">¶</a></dt>
<dd><p>Retrive the nick list from the connected channel.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Parameters</dt>
<ddclass="field-odd"><p><strong>caller</strong> (<em>Object</em><em> or </em><em>Account</em>) – The requester of the list. This will
be stored and echoed to when the irc network replies with the
requested info.</p>
</dd>
</dl>
<dlclass="simple">
<dt>Notes: Since the return is asynchronous, the caller is stored internally</dt><dd><p>in a list; all callers in this list will get the nick info once it
returns (it is a custom OOB inputfunc option). The callback will not
survive a reload (which should be fine, it’s very quick).</p>
<codeclass="sig-name descname">ping</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">caller</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#IRCBot.ping"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.IRCBot.ping"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">reconnect</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#IRCBot.reconnect"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.IRCBot.reconnect"title="Permalink to this definition">¶</a></dt>
<dd><p>Force a protocol-side reconnect of the client without
<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="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#IRCBot.msg"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.IRCBot.msg"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">execute_cmd</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="n">txt</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/bots.html#IRCBot.execute_cmd"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.IRCBot.execute_cmd"title="Permalink to this definition">¶</a></dt>
<dd><p>Take incoming data and send it to connected channel. This is
triggered by the bot_data_in Inputfunc.</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 responsible for this
<li><p><strong>nicklist</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><em>, </em><em>optional</em>) – Set if <strong>type=’nicklist’</strong>. This is a list
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.accounts.bots.IRCBot.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.accounts.bots.IRCBot.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.accounts.bots.IRCBot'</em><aclass="headerlink"href="#evennia.accounts.bots.IRCBot.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'IRCBot'</em><aclass="headerlink"href="#evennia.accounts.bots.IRCBot.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.accounts.bots.</code><codeclass="sig-name descname">RSSBot</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/bots.html#RSSBot"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.RSSBot"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">start</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ev_channel</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">rss_url</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">rss_rate</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#RSSBot.start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.RSSBot.start"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">execute_cmd</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">txt</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/bots.html#RSSBot.execute_cmd"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.RSSBot.execute_cmd"title="Permalink to this definition">¶</a></dt>
<dd><p>Take incoming data and send it to connected channel. This is
triggered by the bot_data_in Inputfunc.</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 responsible for this
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.accounts.bots.RSSBot.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.accounts.bots.RSSBot.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.accounts.bots.RSSBot'</em><aclass="headerlink"href="#evennia.accounts.bots.RSSBot.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'RSSBot'</em><aclass="headerlink"href="#evennia.accounts.bots.RSSBot.typename"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">evennia.accounts.bots.</code><codeclass="sig-name descname">GrapevineBot</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/bots.html#GrapevineBot"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.GrapevineBot"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">factory_path</code><emclass="property"> = 'evennia.server.portal.grapevine.RestartingWebsocketServerFactory'</em><aclass="headerlink"href="#evennia.accounts.bots.GrapevineBot.factory_path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">start</code><spanclass="sig-paren">(</span><emclass="sig-param"><spanclass="n">ev_channel</span><spanclass="o">=</span><spanclass="default_value">None</span></em>, <emclass="sig-param"><spanclass="n">grapevine_channel</span><spanclass="o">=</span><spanclass="default_value">None</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#GrapevineBot.start"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.GrapevineBot.start"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">at_msg_send</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/bots.html#GrapevineBot.at_msg_send"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.GrapevineBot.at_msg_send"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="o">**</span><spanclass="n">kwargs</span></em><spanclass="sig-paren">)</span><aclass="reference internal"href="../_modules/evennia/accounts/bots.html#GrapevineBot.msg"><spanclass="viewcode-link">[source]</span></a><aclass="headerlink"href="#evennia.accounts.bots.GrapevineBot.msg"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">DoesNotExist</code><aclass="headerlink"href="#evennia.accounts.bots.GrapevineBot.DoesNotExist"title="Permalink to this definition">¶</a></dt>
<emclass="property">exception </em><codeclass="sig-name descname">MultipleObjectsReturned</code><aclass="headerlink"href="#evennia.accounts.bots.GrapevineBot.MultipleObjectsReturned"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">path</code><emclass="property"> = 'evennia.accounts.bots.GrapevineBot'</em><aclass="headerlink"href="#evennia.accounts.bots.GrapevineBot.path"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">typename</code><emclass="property"> = 'GrapevineBot'</em><aclass="headerlink"href="#evennia.accounts.bots.GrapevineBot.typename"title="Permalink to this definition">¶</a></dt>