mirror of
https://github.com/evennia/evennia.git
synced 2026-03-18 22:06:30 +01:00
719 lines
No EOL
58 KiB
HTML
719 lines
No EOL
58 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 2.x 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>
|
||
<link rel="shortcut icon" href="../_static/favicon.ico"/>
|
||
<link rel="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
<link rel="next" title="evennia.accounts.manager" href="evennia.accounts.manager.html" />
|
||
<link rel="prev" title="evennia.accounts.accounts" href="evennia.accounts.accounts.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="right" >
|
||
<a href="evennia.accounts.manager.html" title="evennia.accounts.manager"
|
||
accesskey="N">next</a> |</li>
|
||
<li class="right" >
|
||
<a href="evennia.accounts.accounts.html" title="evennia.accounts.accounts"
|
||
accesskey="P">previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||
<li class="nav-item nav-item-4"><a href="evennia.accounts.html" accesskey="U">evennia.accounts</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">evennia.accounts.bots</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="document">
|
||
|
||
<div class="documentwrapper">
|
||
<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>
|
||
<h4>Previous topic</h4>
|
||
<p class="topless"><a href="evennia.accounts.accounts.html"
|
||
title="previous chapter">evennia.accounts.accounts</a></p>
|
||
<h4>Next topic</h4>
|
||
<p class="topless"><a href="evennia.accounts.manager.html"
|
||
title="next chapter">evennia.accounts.manager</a></p>
|
||
<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/docs/latest/index.html">Documentation Top</a> </li>
|
||
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
|
||
<li><a href="https://github.com/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>Doc Versions</h3>
|
||
<ul>
|
||
|
||
<li><a href="evennia.accounts.bots.html">2.x (main branch)</a></li>
|
||
<ul>
|
||
<li><a href="../1.3.0/index.html">1.3.0 (v1.3.0 branch)</a></li>
|
||
|
||
<li><a href="../0.9.5/index.html">0.9.5 (v0.9.5 branch)</a></li>
|
||
|
||
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
<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_server_start">
|
||
<code class="sig-name descname">at_server_start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#BotStarter.at_server_start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.BotStarter.at_server_start" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This hook is called after the server has started. It can be used to add
|
||
post-startup setup for Scripts without a timer component (for which at_start
|
||
could be used).</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 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>
|
||
|
||
<dl class="py class">
|
||
<dt id="evennia.accounts.bots.DiscordBot">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.accounts.bots.</code><code class="sig-name descname">DiscordBot</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#DiscordBot"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.DiscordBot" 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>Discord bot relay. You will need to set up your own bot
|
||
(<a class="reference external" href="https://discord.com/developers/applications">https://discord.com/developers/applications</a>) and add the bot token as <strong>DISCORD_BOT_TOKEN</strong> to
|
||
<strong>secret_settings.py</strong> to use</p>
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.DiscordBot.factory_path">
|
||
<code class="sig-name descname">factory_path</code><em class="property"> = 'evennia.server.portal.discord.DiscordWebsocketServerFactory'</em><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.factory_path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.DiscordBot.at_init">
|
||
<code class="sig-name descname">at_init</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#DiscordBot.at_init"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.at_init" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Load required channels back into memory</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.DiscordBot.start">
|
||
<code class="sig-name descname">start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#DiscordBot.start"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.start" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Tell the Discord protocol to connect.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.DiscordBot.at_pre_channel_msg">
|
||
<code class="sig-name descname">at_pre_channel_msg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">message</span></em>, <em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">senders</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#DiscordBot.at_pre_channel_msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.at_pre_channel_msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called by the Channel just before passing a message into <strong>channel_msg</strong>.</p>
|
||
<p>We overload this to set the channel tag prefix.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.DiscordBot.channel_msg">
|
||
<code class="sig-name descname">channel_msg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">message</span></em>, <em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">senders</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">relayed</span><span class="o">=</span><span class="default_value">False</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#DiscordBot.channel_msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.channel_msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Passes channel messages received on to discord</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>message</strong> (<em>str</em>) – </p></li>
|
||
<li><p><strong>channel</strong> (<em>Channel</em>) – </p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Keyword Arguments</dt>
|
||
<dd class="field-even"><ul class="simple">
|
||
<li><p><strong>senders</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> or </em><em>None</em><em>) </em><em>- Object</em><em>(</em><em>s</em>) – </p></li>
|
||
<li><p><strong>relayed</strong> (<em>bool</em>) – </p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.DiscordBot.change_nickname">
|
||
<code class="sig-name descname">change_nickname</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">new_nickname</span></em>, <em class="sig-param"><span class="n">guild_id</span></em>, <em class="sig-param"><span class="n">user_id</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#DiscordBot.change_nickname"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.change_nickname" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Changes a given user’s nickname on the given guild the bot is in.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>new_nickname</strong> (<em>str</em>) – </p></li>
|
||
<li><p><strong>guild_id</strong> (<em>int</em>) – </p></li>
|
||
<li><p><strong>user_id</strong> (<em>int</em>) – </p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.DiscordBot.assign_role">
|
||
<code class="sig-name descname">assign_role</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">role_id</span></em>, <em class="sig-param"><span class="n">guild_id</span></em>, <em class="sig-param"><span class="n">user_id</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#DiscordBot.assign_role"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.assign_role" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Assigns a user the role on the given guild the bot is in.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>role_id</strong> (<em>int</em>) – </p></li>
|
||
<li><p><strong>guild_id</strong> (<em>int</em>) – </p></li>
|
||
<li><p><strong>user_id</strong> (<em>int</em>) – </p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.DiscordBot.direct_msg">
|
||
<code class="sig-name descname">direct_msg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">message</span></em>, <em class="sig-param"><span class="n">sender</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#DiscordBot.direct_msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.direct_msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called when the Discord bot receives a direct message on Discord.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>message</strong> (<em>str</em>) – </p></li>
|
||
<li><p><strong>sender</strong> (<em>tuple</em><em>) </em><em>- The Discord info for the sender in the form</em><em> (</em><em>id</em><em>, </em><em>nickname</em>) – </p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Keyword Arguments</dt>
|
||
<dd class="field-even"><p><strong>**kwargs</strong> (<em>optional</em>) – </p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.DiscordBot.relay_to_channel">
|
||
<code class="sig-name descname">relay_to_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">message</span></em>, <em class="sig-param"><span class="n">to_channel</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">from_channel</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">from_server</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#DiscordBot.relay_to_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.relay_to_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Formats and sends a Discord -> Evennia message. Called when the Discord bot receives a
|
||
channel message on Discord.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>message</strong> (<em>str</em>) – </p></li>
|
||
<li><p><strong>to_channel</strong> (<em>Channel</em>) – </p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Keyword Arguments</dt>
|
||
<dd class="field-even"><ul class="simple">
|
||
<li><p><strong>sender</strong> (tuple) - The Discord info for the sender in the form <a href="#id1"><span class="problematic" id="id2">**</span></a>(id, nickname) – </p></li>
|
||
<li><p><strong>from_channel</strong> (<em>str</em>) – </p></li>
|
||
<li><p><strong>from_server</strong> (<em>str</em>) – </p></li>
|
||
<li><p><strong>- Any additional keywords. Unused by default</strong><strong>, </strong><strong>but available for adding additional</strong> (<em>kwargs</em>) – flags or parameters.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.accounts.bots.DiscordBot.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">type</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="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/accounts/bots.html#DiscordBot.execute_cmd"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.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>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Keyword Arguments</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>txt</strong> (<em>str</em>) – </p></li>
|
||
<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>) – </p></li>
|
||
<li><p><strong>type</strong> (<em>str</em><em>, </em><em>optional</em>) – the protocol pre-processed it.</p></li>
|
||
<li><p><strong>sender</strong> (<em>tuple</em>) – strings, in the form of (id, nickname)</p></li>
|
||
<li><p><strong>- Any additional data specific to a particular type of actions. The data for</strong> (<em>kwargs</em>) – any Discord actions not pre-processed by the protocol will also be passed via kwargs.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.accounts.bots.DiscordBot.DoesNotExist">
|
||
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.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.DiscordBot.MultipleObjectsReturned">
|
||
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.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.DiscordBot.path">
|
||
<code class="sig-name descname">path</code><em class="property"> = 'evennia.accounts.bots.DiscordBot'</em><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.accounts.bots.DiscordBot.typename">
|
||
<code class="sig-name descname">typename</code><em class="property"> = 'DiscordBot'</em><a class="headerlink" href="#evennia.accounts.bots.DiscordBot.typename" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</section>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
</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="right" >
|
||
<a href="evennia.accounts.manager.html" title="evennia.accounts.manager"
|
||
>next</a> |</li>
|
||
<li class="right" >
|
||
<a href="evennia.accounts.accounts.html" title="evennia.accounts.accounts"
|
||
>previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 2.x</a> »</li>
|
||
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> »</li>
|
||
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> »</li>
|
||
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> »</li>
|
||
<li class="nav-item nav-item-4"><a href="evennia.accounts.html" >evennia.accounts</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">evennia.accounts.bots</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
|
||
|
||
<div class="footer" role="contentinfo">
|
||
© Copyright 2023, The Evennia developer community.
|
||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||
</div>
|
||
</body>
|
||
</html> |