mirror of
https://github.com/evennia/evennia.git
synced 2026-03-19 06:16:31 +01:00
522 lines
No EOL
42 KiB
HTML
522 lines
No EOL
42 KiB
HTML
|
||
<!DOCTYPE html>
|
||
|
||
<html>
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
|
||
|
||
<title>evennia.accounts.bots — Evennia 1.0-dev documentation</title>
|
||
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
|
||
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
|
||
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
|
||
<script src="../_static/jquery.js"></script>
|
||
<script src="../_static/underscore.js"></script>
|
||
<script src="../_static/doctools.js"></script>
|
||
<script src="../_static/language_data.js"></script>
|
||
<script async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
||
<script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"processClass": "tex2jax_process|mathjax_process|math|output_area"}})</script>
|
||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||
<link rel="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
</head><body>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="../genindex.html" title="General Index"
|
||
accesskey="I">index</a></li>
|
||
<li class="right" >
|
||
<a href="../py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">evennia.accounts.bots</a></li>
|
||
</ul>
|
||
<div class="develop">develop branch</div>
|
||
</div>
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
<div class="body" role="main">
|
||
|
||
<section id="module-evennia.accounts.bots">
|
||
<span id="evennia-accounts-bots"></span><h1>evennia.accounts.bots<a class="headerlink" href="#module-evennia.accounts.bots" title="Permalink to this headline">¶</a></h1>
|
||
<p>Bots are a special child typeclasses of
|
||
Account that are controlled by the server.</p>
|
||
<dl class="py class">
|
||
<dt id="evennia.accounts.bots.BotStarter">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.accounts.bots.</code><code class="sig-name descname">BotStarter</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#BotStarter"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.BotStarter" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript" title="evennia.scripts.scripts.DefaultScript"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript</span></code></a></p>
|
||
<p>This non-repeating script has the
|
||
sole purpose of kicking its bot
|
||
into gear when it is initialized.</p>
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.BotStarter.at_script_creation">
|
||
<code class="sig-name descname">at_script_creation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#BotStarter.at_script_creation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.BotStarter.at_script_creation" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called once, when script is created.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.BotStarter.at_start">
|
||
<code class="sig-name descname">at_start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#BotStarter.at_start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.BotStarter.at_start" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Kick bot into gear.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.BotStarter.at_repeat">
|
||
<code class="sig-name descname">at_repeat</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#BotStarter.at_repeat"><span class="viewcode-link">[source]</span></a><a class="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>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.BotStarter.at_server_reload">
|
||
<code class="sig-name descname">at_server_reload</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#BotStarter.at_server_reload"><span class="viewcode-link">[source]</span></a><a class="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>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.BotStarter.at_server_shutdown">
|
||
<code class="sig-name descname">at_server_shutdown</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#BotStarter.at_server_shutdown"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.BotStarter.at_server_shutdown" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Make sure we are shutdown.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.accounts.bots.BotStarter.DoesNotExist">
|
||
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.accounts.bots.BotStarter.DoesNotExist" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.DoesNotExist" title="evennia.scripts.scripts.DefaultScript.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript.DoesNotExist</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.accounts.bots.BotStarter.MultipleObjectsReturned">
|
||
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.accounts.bots.BotStarter.MultipleObjectsReturned" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.scripts.scripts.html#evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned" title="evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.scripts.scripts.DefaultScript.MultipleObjectsReturned</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.BotStarter.path">
|
||
<code class="sig-name descname">path</code><em class="property"> = 'evennia.accounts.bots.BotStarter'</em><a class="headerlink" href="#evennia.accounts.bots.BotStarter.path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.BotStarter.typename">
|
||
<code class="sig-name descname">typename</code><em class="property"> = 'BotStarter'</em><a class="headerlink" href="#evennia.accounts.bots.BotStarter.typename" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py class">
|
||
<dt id="evennia.accounts.bots.Bot">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.accounts.bots.</code><code class="sig-name descname">Bot</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#Bot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.Bot" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.DefaultAccount" title="evennia.accounts.accounts.DefaultAccount"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.accounts.DefaultAccount</span></code></a></p>
|
||
<p>A Bot will start itself when the server starts (it will generally
|
||
not do so on a reload - that will be handled by the normal Portal
|
||
session resync)</p>
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.Bot.basetype_setup">
|
||
<code class="sig-name descname">basetype_setup</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#Bot.basetype_setup"><span class="viewcode-link">[source]</span></a><a class="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>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.Bot.start">
|
||
<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#Bot.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.Bot.start" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This starts the bot, whatever that may mean.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.Bot.msg">
|
||
<code class="sig-name descname">msg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">text</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">from_obj</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">session</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">options</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#Bot.msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.Bot.msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Evennia -> outgoing protocol</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.Bot.execute_cmd">
|
||
<code class="sig-name descname">execute_cmd</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">raw_string</span></em>, <em class="sig-param"><span class="n">session</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#Bot.execute_cmd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.Bot.execute_cmd" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Incoming protocol -> Evennia</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.Bot.at_server_shutdown">
|
||
<code class="sig-name descname">at_server_shutdown</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#Bot.at_server_shutdown"><span class="viewcode-link">[source]</span></a><a class="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
|
||
a reset.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.accounts.bots.Bot.DoesNotExist">
|
||
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.accounts.bots.Bot.DoesNotExist" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.DefaultAccount.DoesNotExist" title="evennia.accounts.accounts.DefaultAccount.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.accounts.DefaultAccount.DoesNotExist</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.accounts.bots.Bot.MultipleObjectsReturned">
|
||
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.accounts.bots.Bot.MultipleObjectsReturned" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.accounts.accounts.html#evennia.accounts.accounts.DefaultAccount.MultipleObjectsReturned" title="evennia.accounts.accounts.DefaultAccount.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.accounts.DefaultAccount.MultipleObjectsReturned</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.Bot.path">
|
||
<code class="sig-name descname">path</code><em class="property"> = 'evennia.accounts.bots.Bot'</em><a class="headerlink" href="#evennia.accounts.bots.Bot.path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.Bot.typename">
|
||
<code class="sig-name descname">typename</code><em class="property"> = 'Bot'</em><a class="headerlink" href="#evennia.accounts.bots.Bot.typename" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py class">
|
||
<dt id="evennia.accounts.bots.IRCBot">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.accounts.bots.</code><code class="sig-name descname">IRCBot</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#IRCBot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.IRCBot" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.accounts.bots.Bot" title="evennia.accounts.bots.Bot"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.bots.Bot</span></code></a></p>
|
||
<p>Bot for handling IRC connections.</p>
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.IRCBot.factory_path">
|
||
<code class="sig-name descname">factory_path</code><em class="property"> = 'evennia.server.portal.irc.IRCBotFactory'</em><a class="headerlink" href="#evennia.accounts.bots.IRCBot.factory_path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.IRCBot.start">
|
||
<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">ev_channel</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">irc_botname</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">irc_channel</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">irc_network</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">irc_port</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">irc_ssl</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#IRCBot.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.IRCBot.start" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Start by telling the portal to start a new session.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>ev_channel</strong> (<em>str</em>) – Key of the Evennia channel to connect to.</p></li>
|
||
<li><p><strong>irc_botname</strong> (<em>str</em>) – Name of bot to connect to irc channel. If
|
||
not set, use <strong>self.key</strong>.</p></li>
|
||
<li><p><strong>irc_channel</strong> (<em>str</em>) – Name of channel on the form <strong>#channelname</strong>.</p></li>
|
||
<li><p><strong>irc_network</strong> (<em>str</em>) – URL of the IRC network, like <strong>irc.freenode.net</strong>.</p></li>
|
||
<li><p><strong>irc_port</strong> (<em>str</em>) – Port number of the irc network, like <strong>6667</strong>.</p></li>
|
||
<li><p><strong>irc_ssl</strong> (<em>bool</em>) – Indicates whether to use SSL connection.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.IRCBot.at_msg_send">
|
||
<code class="sig-name descname">at_msg_send</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#IRCBot.at_msg_send"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.IRCBot.at_msg_send" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Shortcut here or we can end up in infinite loop</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.IRCBot.get_nicklist">
|
||
<code class="sig-name descname">get_nicklist</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">caller</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#IRCBot.get_nicklist"><span class="viewcode-link">[source]</span></a><a class="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>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="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>
|
||
<dl class="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>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.IRCBot.ping">
|
||
<code class="sig-name descname">ping</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">caller</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#IRCBot.ping"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.IRCBot.ping" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Fire a ping to the IRC server.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>caller</strong> (<em>Object</em><em> or </em><em>Account</em>) – The requester of the ping.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.IRCBot.reconnect">
|
||
<code class="sig-name descname">reconnect</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#IRCBot.reconnect"><span class="viewcode-link">[source]</span></a><a class="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
|
||
having to destroy/recreate the bot “account”.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.IRCBot.msg">
|
||
<code class="sig-name descname">msg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">text</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#IRCBot.msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.IRCBot.msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Takes text from connected channel (only).</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>text</strong> (<em>str</em><em>, </em><em>optional</em>) – Incoming text from channel.</p>
|
||
</dd>
|
||
<dt class="field-even">Keyword Arguments</dt>
|
||
<dd class="field-even"><p><strong>options</strong> (<em>dict</em>) – Options dict with the following allowed keys:
|
||
- from_channel (str): dbid of a channel this text originated from.
|
||
- from_obj (list): list of objects sending this text.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.IRCBot.execute_cmd">
|
||
<code class="sig-name descname">execute_cmd</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">session</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">txt</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#IRCBot.execute_cmd"><span class="viewcode-link">[source]</span></a><a class="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>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>session</strong> (<a class="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
|
||
command. Note that this is the bot.</p></li>
|
||
<li><p><strong>txt</strong> (<em>str</em><em>, </em><em>optional</em>) – Command string.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Keyword Arguments</dt>
|
||
<dd class="field-even"><ul class="simple">
|
||
<li><p><strong>user</strong> (<em>str</em>) – The name of the user who sent the message.</p></li>
|
||
<li><p><strong>channel</strong> (<em>str</em>) – The name of channel the message was sent to.</p></li>
|
||
<li><p><strong>type</strong> (<em>str</em>) – Nature of message. Either ‘msg’, ‘action’, ‘nicklist’
|
||
or ‘ping’.</p></li>
|
||
<li><p><strong>nicklist</strong> (<a class="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
|
||
of nicks returned by calling the <strong>self.get_nicklist</strong>. It must look
|
||
for a list <strong>self._nicklist_callers</strong> which will contain all callers
|
||
waiting for the nicklist.</p></li>
|
||
<li><p><strong>timings</strong> (<em>float</em><em>, </em><em>optional</em>) – Set if <strong>type=’ping’</strong>. This is the return
|
||
(in seconds) of a ping request triggered with <strong>self.ping</strong>. The
|
||
return must look for a list <strong>self._ping_callers</strong> which will contain
|
||
all callers waiting for the ping return.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.accounts.bots.IRCBot.DoesNotExist">
|
||
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.accounts.bots.IRCBot.DoesNotExist" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.accounts.bots.Bot.DoesNotExist" title="evennia.accounts.bots.Bot.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.bots.Bot.DoesNotExist</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.accounts.bots.IRCBot.MultipleObjectsReturned">
|
||
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.accounts.bots.IRCBot.MultipleObjectsReturned" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.accounts.bots.Bot.MultipleObjectsReturned" title="evennia.accounts.bots.Bot.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.bots.Bot.MultipleObjectsReturned</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.IRCBot.path">
|
||
<code class="sig-name descname">path</code><em class="property"> = 'evennia.accounts.bots.IRCBot'</em><a class="headerlink" href="#evennia.accounts.bots.IRCBot.path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.IRCBot.typename">
|
||
<code class="sig-name descname">typename</code><em class="property"> = 'IRCBot'</em><a class="headerlink" href="#evennia.accounts.bots.IRCBot.typename" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py class">
|
||
<dt id="evennia.accounts.bots.RSSBot">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.accounts.bots.</code><code class="sig-name descname">RSSBot</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#RSSBot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.RSSBot" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.accounts.bots.Bot" title="evennia.accounts.bots.Bot"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.bots.Bot</span></code></a></p>
|
||
<p>An RSS relayer. The RSS protocol itself runs a ticker to update
|
||
its feed at regular intervals.</p>
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.RSSBot.start">
|
||
<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">ev_channel</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">rss_url</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">rss_rate</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#RSSBot.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.RSSBot.start" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Start by telling the portal to start a new RSS session</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>ev_channel</strong> (<em>str</em>) – Key of the Evennia channel to connect to.</p></li>
|
||
<li><p><strong>rss_url</strong> (<em>str</em>) – Full URL to the RSS feed to subscribe to.</p></li>
|
||
<li><p><strong>rss_rate</strong> (<em>int</em>) – How often for the feedreader to update.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Raises</dt>
|
||
<dd class="field-even"><p><strong>RuntimeError</strong> – If <strong>ev_channel</strong> does not exist.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.RSSBot.execute_cmd">
|
||
<code class="sig-name descname">execute_cmd</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">txt</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">session</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#RSSBot.execute_cmd"><span class="viewcode-link">[source]</span></a><a class="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>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>session</strong> (<a class="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
|
||
command.</p></li>
|
||
<li><p><strong>txt</strong> (<em>str</em><em>, </em><em>optional</em>) – Command string.</p></li>
|
||
<li><p><strong>kwargs</strong> (<em>dict</em><em>, </em><em>optional</em>) – Additional Information passed from bot.
|
||
Not used by the RSSbot by default.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.accounts.bots.RSSBot.DoesNotExist">
|
||
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.accounts.bots.RSSBot.DoesNotExist" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.accounts.bots.Bot.DoesNotExist" title="evennia.accounts.bots.Bot.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.bots.Bot.DoesNotExist</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.accounts.bots.RSSBot.MultipleObjectsReturned">
|
||
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.accounts.bots.RSSBot.MultipleObjectsReturned" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.accounts.bots.Bot.MultipleObjectsReturned" title="evennia.accounts.bots.Bot.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.bots.Bot.MultipleObjectsReturned</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.RSSBot.path">
|
||
<code class="sig-name descname">path</code><em class="property"> = 'evennia.accounts.bots.RSSBot'</em><a class="headerlink" href="#evennia.accounts.bots.RSSBot.path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.RSSBot.typename">
|
||
<code class="sig-name descname">typename</code><em class="property"> = 'RSSBot'</em><a class="headerlink" href="#evennia.accounts.bots.RSSBot.typename" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="py class">
|
||
<dt id="evennia.accounts.bots.GrapevineBot">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.accounts.bots.</code><code class="sig-name descname">GrapevineBot</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">*</span><span class="n">args</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#GrapevineBot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.GrapevineBot" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.accounts.bots.Bot" title="evennia.accounts.bots.Bot"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.bots.Bot</span></code></a></p>
|
||
<p>g Grapevine (<a class="reference external" href="https://grapevine.haus">https://grapevine.haus</a>) relayer. The channel to connect to is the first
|
||
name in the settings.GRAPEVINE_CHANNELS list.</p>
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.GrapevineBot.factory_path">
|
||
<code class="sig-name descname">factory_path</code><em class="property"> = 'evennia.server.portal.grapevine.RestartingWebsocketServerFactory'</em><a class="headerlink" href="#evennia.accounts.bots.GrapevineBot.factory_path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.GrapevineBot.start">
|
||
<code class="sig-name descname">start</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">ev_channel</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">grapevine_channel</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#GrapevineBot.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.GrapevineBot.start" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Start by telling the portal to connect to the grapevine network.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.GrapevineBot.at_msg_send">
|
||
<code class="sig-name descname">at_msg_send</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#GrapevineBot.at_msg_send"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.GrapevineBot.at_msg_send" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Shortcut here or we can end up in infinite loop</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.GrapevineBot.msg">
|
||
<code class="sig-name descname">msg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">text</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#GrapevineBot.msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.GrapevineBot.msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Takes text from connected channel (only).</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>text</strong> (<em>str</em><em>, </em><em>optional</em>) – Incoming text from channel.</p>
|
||
</dd>
|
||
<dt class="field-even">Keyword Arguments</dt>
|
||
<dd class="field-even"><p><strong>options</strong> (<em>dict</em>) – Options dict with the following allowed keys:
|
||
- from_channel (str): dbid of a channel this text originated from.
|
||
- from_obj (list): list of objects sending this text.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.GrapevineBot.execute_cmd">
|
||
<code class="sig-name descname">execute_cmd</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">txt</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">session</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">event</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">grapevine_channel</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">sender</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">game</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#GrapevineBot.execute_cmd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.GrapevineBot.execute_cmd" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Take incoming data from protocol and send it to connected channel. This is
|
||
triggered by the bot_data_in Inputfunc.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.accounts.bots.GrapevineBot.DoesNotExist">
|
||
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.accounts.bots.GrapevineBot.DoesNotExist" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.accounts.bots.Bot.DoesNotExist" title="evennia.accounts.bots.Bot.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.bots.Bot.DoesNotExist</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.accounts.bots.GrapevineBot.MultipleObjectsReturned">
|
||
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.accounts.bots.GrapevineBot.MultipleObjectsReturned" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.accounts.bots.Bot.MultipleObjectsReturned" title="evennia.accounts.bots.Bot.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.accounts.bots.Bot.MultipleObjectsReturned</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.GrapevineBot.path">
|
||
<code class="sig-name descname">path</code><em class="property"> = 'evennia.accounts.bots.GrapevineBot'</em><a class="headerlink" href="#evennia.accounts.bots.GrapevineBot.path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.GrapevineBot.typename">
|
||
<code class="sig-name descname">typename</code><em class="property"> = 'GrapevineBot'</em><a class="headerlink" href="#evennia.accounts.bots.GrapevineBot.typename" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</section>
|
||
|
||
|
||
<div class="clearer"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<p class="logo"><a href="../index.html">
|
||
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
|
||
</a></p>
|
||
<div id="searchbox" style="display: none" role="search">
|
||
<h3 id="searchlabel">Quick search</h3>
|
||
<div class="searchformwrapper">
|
||
<form class="search" action="../search.html" method="get">
|
||
<input type="text" name="q" aria-labelledby="searchlabel" />
|
||
<input type="submit" value="Go" />
|
||
</form>
|
||
</div>
|
||
</div>
|
||
<script>$('#searchbox').show(0);</script>
|
||
<div role="note" aria-label="source link">
|
||
<!--h3>This Page</h3-->
|
||
<ul class="this-page-menu">
|
||
<li><a href="../_sources/api/evennia.accounts.bots.md.txt"
|
||
rel="nofollow">Show Page Source</a></li>
|
||
</ul>
|
||
</div><h3>Links</h3>
|
||
<ul>
|
||
<li><a href="https://www.evennia.com">Home page</a> </li>
|
||
<li><a href="https://github.com/evennia/evennia">Evennia Github</a> </li>
|
||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||
<li>
|
||
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
|
||
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
|
||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||
</li>
|
||
</ul>
|
||
<h3>Versions</h3>
|
||
<ul>
|
||
<li><a href="evennia.accounts.bots.html">1.0-dev (develop branch)</a></li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="related" role="navigation" aria-label="related navigation">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="../genindex.html" title="General Index"
|
||
>index</a></li>
|
||
<li class="right" >
|
||
<a href="../py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0-dev</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">evennia.accounts.bots</a></li>
|
||
</ul>
|
||
<div class="develop">develop branch</div>
|
||
</div>
|
||
<div class="footer" role="contentinfo">
|
||
© Copyright 2020, The Evennia developer community.
|
||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||
</div>
|
||
</body>
|
||
</html> |