mirror of
https://github.com/evennia/evennia.git
synced 2026-03-18 13:56:30 +01:00
927 lines
No EOL
61 KiB
HTML
927 lines
No EOL
61 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.comms.comms — Evennia 1.0 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.comms.managers" href="evennia.comms.managers.html" />
|
||
<link rel="prev" title="evennia.comms" href="evennia.comms.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.comms.managers.html" title="evennia.comms.managers"
|
||
accesskey="N">next</a> |</li>
|
||
<li class="right" >
|
||
<a href="evennia.comms.html" title="evennia.comms"
|
||
accesskey="P">previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0</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.comms.html" accesskey="U">evennia.comms</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">evennia.comms.comms</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.comms.html"
|
||
title="previous chapter">evennia.comms</a></p>
|
||
<h4>Next topic</h4>
|
||
<p class="topless"><a href="evennia.comms.managers.html"
|
||
title="next chapter">evennia.comms.managers</a></p>
|
||
<div role="note" aria-label="source link">
|
||
<!--h3>This Page</h3-->
|
||
<ul class="this-page-menu">
|
||
<li><a href="../_sources/api/evennia.comms.comms.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>
|
||
</div>
|
||
</div>
|
||
<div class="bodywrapper">
|
||
<div class="body" role="main">
|
||
|
||
<section id="module-evennia.comms.comms">
|
||
<span id="evennia-comms-comms"></span><h1>evennia.comms.comms<a class="headerlink" href="#module-evennia.comms.comms" title="Permalink to this headline">¶</a></h1>
|
||
<p>Base typeclass for in-game Channels.</p>
|
||
<dl class="py class">
|
||
<dt id="evennia.comms.comms.DefaultChannel">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.comms.</code><code class="sig-name descname">DefaultChannel</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/comms/comms.html#DefaultChannel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.comms.models.html#evennia.comms.models.ChannelDB" title="evennia.comms.models.ChannelDB"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.comms.models.ChannelDB</span></code></a></p>
|
||
<p>This is the base class for all Channel Comms. Inherit from this to
|
||
create different types of communication channels.</p>
|
||
<p>Class-level variables:
|
||
- <strong>send_to_online_only</strong> (bool, default True) - if set, will only try to</p>
|
||
<blockquote>
|
||
<div><p>send to subscribers that are actually active. This is a useful optimization.</p>
|
||
</div></blockquote>
|
||
<ul class="simple">
|
||
<li><p><strong>log_file</strong> (str, default <strong>“channel_{channelname}.log”</strong>). This is the
|
||
log file to which the channel history will be saved. The <strong>{channelname}</strong> tag
|
||
will be replaced by the key of the Channel. If an Attribute ‘log_file’
|
||
is set, this will be used instead. If this is None and no Attribute is found,
|
||
no history will be saved.</p></li>
|
||
<li><p><strong>channel_prefix_string</strong> (str, default <strong>“[{channelname} ]”</strong>) - this is used
|
||
as a simple template to get the channel prefix with <strong>.channel_prefix()</strong>. It is used
|
||
in front of every channel message; use <strong>{channelmessage}</strong> token to insert the
|
||
name of the current channel. Set to <strong>None</strong> if you want no prefix (or want to
|
||
handle it in a hook during message generation instead.</p></li>
|
||
<li><p><strong>channel_msg_nick_pattern**(str, default **”{alias}s*?|{alias}s+?(?P<arg1>.+?)”) -
|
||
this is what used when a channel subscriber gets a channel nick assigned to this
|
||
channel. The nickhandler uses the pattern to pick out this channel’s name from user
|
||
input. The **{alias}</strong> token will get both the channel’s key and any set/custom aliases
|
||
per subscriber. You need to allow for an <strong><arg1></strong> regex group to catch any message
|
||
that should be send to the channel. You usually don’t need to change this pattern
|
||
unless you are changing channel command-style entirely.</p></li>
|
||
<li><p><strong>channel_msg_nick_replacement</strong> (str, default <strong>“channel {channelname} = $1”</strong> - this
|
||
is used by the nickhandler to generate a replacement string once the nickhandler (using
|
||
the <strong>channel_msg_nick_pattern</strong>) identifies that the channel should be addressed
|
||
to send a message to it. The <strong><arg1></strong> regex pattern match from <strong>channel_msg_nick_pattern</strong>
|
||
will end up at the <strong>$1</strong> position in the replacement. Together, this allows you do e.g.
|
||
‘public Hello’ and have that become a mapping to <strong>channel public = Hello</strong>. By default,
|
||
the account-level <strong>channel</strong> command is used. If you were to rename that command you must
|
||
tweak the output to something like <strong>yourchannelcommandname {channelname} = $1</strong>.</p></li>
|
||
</ul>
|
||
<dl class="py attribute">
|
||
<dt id="evennia.comms.comms.DefaultChannel.objects">
|
||
<code class="sig-name descname">objects</code><em class="property"> = <evennia.comms.managers.ChannelManager object></em><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.objects" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.comms.comms.DefaultChannel.send_to_online_only">
|
||
<code class="sig-name descname">send_to_online_only</code><em class="property"> = True</em><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.send_to_online_only" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.comms.comms.DefaultChannel.log_file">
|
||
<code class="sig-name descname">log_file</code><em class="property"> = 'channel_{channelname}.log'</em><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.log_file" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.comms.comms.DefaultChannel.channel_prefix_string">
|
||
<code class="sig-name descname">channel_prefix_string</code><em class="property"> = '[{channelname}] '</em><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.channel_prefix_string" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.comms.comms.DefaultChannel.channel_msg_nick_pattern">
|
||
<code class="sig-name descname">channel_msg_nick_pattern</code><em class="property"> = '{alias}\\s*?|{alias}\\s+?(?P<arg1>.+?)'</em><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.channel_msg_nick_pattern" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.comms.comms.DefaultChannel.channel_msg_nick_replacement">
|
||
<code class="sig-name descname">channel_msg_nick_replacement</code><em class="property"> = 'channel {channelname} = $1'</em><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.channel_msg_nick_replacement" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.at_first_save">
|
||
<code class="sig-name descname">at_first_save</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.at_first_save"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.at_first_save" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called by the typeclass system the very first time the channel
|
||
is saved to the database. Generally, don’t overload this but
|
||
the hooks called by this method.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.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/comms/comms.html#DefaultChannel.basetype_setup"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.basetype_setup" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.at_channel_creation">
|
||
<code class="sig-name descname">at_channel_creation</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.at_channel_creation"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.at_channel_creation" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called once, when the channel is first created.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.get_log_filename">
|
||
<code class="sig-name descname">get_log_filename</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.get_log_filename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.get_log_filename" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>File name to use for channel log.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><p><em>str</em> –</p>
|
||
<dl class="simple">
|
||
<dt>The filename to use (this is always assumed to be inside</dt><dd><p>settings.LOG_DIR)</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.set_log_filename">
|
||
<code class="sig-name descname">set_log_filename</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">filename</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.set_log_filename"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.set_log_filename" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Set a custom log filename.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>filename</strong> (<em>str</em>) – The filename to set. This is a path starting from
|
||
inside the settings.LOG_DIR location.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.has_connection">
|
||
<code class="sig-name descname">has_connection</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">subscriber</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.has_connection"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.has_connection" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Checks so this account is actually listening
|
||
to this channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>subscriber</strong> (<em>Account</em><em> or </em><em>Object</em>) – Entity to check.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><p><em>has_sub (bool)</em> –</p>
|
||
<dl class="simple">
|
||
<dt>Whether the subscriber is subscribing to</dt><dd><p>this channel or not.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<dl class="simple">
|
||
<dt>This will first try Account subscribers and only try Object</dt><dd><p>if the Account fails.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.mutelist">
|
||
<em class="property">property </em><code class="sig-name descname">mutelist</code><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.mutelist" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.banlist">
|
||
<em class="property">property </em><code class="sig-name descname">banlist</code><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.banlist" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.wholist">
|
||
<em class="property">property </em><code class="sig-name descname">wholist</code><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.wholist" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.mute">
|
||
<code class="sig-name descname">mute</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">subscriber</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/comms/comms.html#DefaultChannel.mute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.mute" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Adds an entity to the list of muted subscribers.
|
||
A muted subscriber will no longer see channel messages,
|
||
but may use channel commands.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>subscriber</strong> (<em>Object</em><em> or </em><em>Account</em>) – Subscriber to mute.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
|
||
overriding the call (unused by default).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><p><em>bool</em> –</p>
|
||
<dl class="simple">
|
||
<dt>True if muting was successful, False if we were already</dt><dd><p>muted.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.unmute">
|
||
<code class="sig-name descname">unmute</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">subscriber</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/comms/comms.html#DefaultChannel.unmute"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.unmute" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Removes an entity from the list of muted subscribers. A muted subscriber
|
||
will no longer see channel messages, but may use channel commands.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>subscriber</strong> (<em>Object</em><em> or </em><em>Account</em>) – The subscriber to unmute.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
|
||
overriding the call (unused by default).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><p><em>bool</em> –</p>
|
||
<dl class="simple">
|
||
<dt>True if unmuting was successful, False if we were already</dt><dd><p>unmuted.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.ban">
|
||
<code class="sig-name descname">ban</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">target</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/comms/comms.html#DefaultChannel.ban"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.ban" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Ban a given user from connecting to the channel. This will not stop
|
||
users already connected, so the user must be booted for this to take
|
||
effect.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>target</strong> (<em>Object</em><em> or </em><em>Account</em>) – The entity to unmute. This need not
|
||
be a subscriber.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
|
||
overriding the call (unused by default).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><p><em>bool</em> –</p>
|
||
<dl class="simple">
|
||
<dt>True if banning was successful, False if target was already</dt><dd><p>banned.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.unban">
|
||
<code class="sig-name descname">unban</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">target</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/comms/comms.html#DefaultChannel.unban"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.unban" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Un-Ban a given user. This will not reconnect them - they will still
|
||
have to reconnect and set up aliases anew.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>target</strong> (<em>Object</em><em> or </em><em>Account</em>) – The entity to unmute. This need not
|
||
be a subscriber.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
|
||
overriding the call (unused by default).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><p><em>bool</em> –</p>
|
||
<dl class="simple">
|
||
<dt>True if unbanning was successful, False if target was not</dt><dd><p>previously banned.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.connect">
|
||
<code class="sig-name descname">connect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">subscriber</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/comms/comms.html#DefaultChannel.connect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.connect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Connect the user to this channel. This checks access.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>subscriber</strong> (<em>Account</em><em> or </em><em>Object</em>) – the entity to subscribe
|
||
to this channel.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
|
||
overriding the call (unused by default).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><p><em>success (bool)</em> –</p>
|
||
<dl class="simple">
|
||
<dt>Whether or not the addition was</dt><dd><p>successful.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.disconnect">
|
||
<code class="sig-name descname">disconnect</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">subscriber</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/comms/comms.html#DefaultChannel.disconnect"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.disconnect" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Disconnect entity from this channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>subscriber</strong> (<em>Account of Object</em>) – the
|
||
entity to disconnect.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
|
||
overriding the call (unused by default).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><p><em>success (bool)</em> –</p>
|
||
<dl class="simple">
|
||
<dt>Whether or not the removal was</dt><dd><p>successful.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.access">
|
||
<code class="sig-name descname">access</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">accessing_obj</span></em>, <em class="sig-param"><span class="n">access_type</span><span class="o">=</span><span class="default_value">'listen'</span></em>, <em class="sig-param"><span class="n">default</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">no_superuser_bypass</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/comms/comms.html#DefaultChannel.access"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.access" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Determines if another object has permission to access.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>accessing_obj</strong> (<em>Object</em>) – Object trying to access this one.</p></li>
|
||
<li><p><strong>access_type</strong> (<em>str</em><em>, </em><em>optional</em>) – Type of access sought.</p></li>
|
||
<li><p><strong>default</strong> (<em>bool</em><em>, </em><em>optional</em>) – What to return if no lock of access_type was found</p></li>
|
||
<li><p><strong>no_superuser_bypass</strong> (<em>bool</em><em>, </em><em>optional</em>) – Turns off superuser
|
||
lock bypass. Be careful with this one.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
|
||
overriding the call (unused by default).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><em>return (bool)</em> – Result of lock check.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.create">
|
||
<em class="property">classmethod </em><code class="sig-name descname">create</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">key</span></em>, <em class="sig-param"><span class="n">creator</span><span class="o">=</span><span class="default_value">None</span></em>, <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/comms/comms.html#DefaultChannel.create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.create" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Creates a basic Channel with default parameters, unless otherwise
|
||
specified or extended.</p>
|
||
<p>Provides a friendlier interface to the utils.create_channel() function.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>key</strong> (<em>str</em>) – This must be unique.</p></li>
|
||
<li><p><strong>creator</strong> (<em>Account</em><em> or </em><em>Object</em>) – Entity to associate with this channel
|
||
(used for tracking)</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Keyword Arguments</dt>
|
||
<dd class="field-even"><ul class="simple">
|
||
<li><p><strong>aliases</strong> (<em>list of str</em>) – List of alternative (likely shorter) keynames.</p></li>
|
||
<li><p><strong>description</strong> (<em>str</em>) – A description of the channel, for use in listings.</p></li>
|
||
<li><p><strong>locks</strong> (<em>str</em>) – Lockstring.</p></li>
|
||
<li><p><strong>keep_log</strong> (<em>bool</em>) – Log channel throughput.</p></li>
|
||
<li><p><strong>typeclass</strong> (<em>str</em><em> or </em><em>class</em>) – The typeclass of the Channel (not
|
||
often used).</p></li>
|
||
<li><p><strong>ip</strong> (<em>str</em>) – IP address of creator (for object auditing).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><em>channel (Channel)</em> – A newly created Channel.
|
||
errors (list): A list of errors in string form, if any.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.delete">
|
||
<code class="sig-name descname">delete</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.delete"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.delete" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Deletes channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><p><em>bool</em> –</p>
|
||
<dl class="simple">
|
||
<dt>If deletion was successful. Only time it can fail would be</dt><dd><p>if channel was already deleted. Even if it were to fail, all subscribers
|
||
will be disconnected.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.channel_prefix">
|
||
<code class="sig-name descname">channel_prefix</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.channel_prefix"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.channel_prefix" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Hook method. How the channel should prefix itself for users.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><em>str</em> – The channel prefix.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.add_user_channel_alias">
|
||
<code class="sig-name descname">add_user_channel_alias</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">user</span></em>, <em class="sig-param"><span class="n">alias</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/comms/comms.html#DefaultChannel.add_user_channel_alias"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.add_user_channel_alias" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Add a personal user-alias for this channel to a given subscriber.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>user</strong> (<em>Object</em><em> or </em><em>Account</em>) – The one to alias this channel.</p></li>
|
||
<li><p><strong>alias</strong> (<em>str</em>) – The desired alias.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<div class="admonition note">
|
||
<p class="admonition-title">Note</p>
|
||
<p>This is tightly coupled to the default <strong>channel</strong> command. If you
|
||
change that, you need to change this as well.</p>
|
||
<p>We add two nicks - one is a plain <strong>alias -> channel.key</strong> that
|
||
users need to be able to reference this channel easily. The other
|
||
is a templated nick to easily be able to send messages to the
|
||
channel without needing to give the full <strong>channel</strong> command. The
|
||
structure of this nick is given by <strong>self.channel_msg_nick_pattern</strong>
|
||
and <strong>self.channel_msg_nick_replacement</strong>. By default it maps
|
||
<strong>alias <msg> -> channel <channelname> = <msg></strong>, so that you can
|
||
for example just write <strong>pub Hello</strong> to send a message.</p>
|
||
<p>The alias created is <strong>alias $1 -> channel channel = $1</strong>, to allow
|
||
for sending to channel using the main channel command.</p>
|
||
</div>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.remove_user_channel_alias">
|
||
<em class="property">classmethod </em><code class="sig-name descname">remove_user_channel_alias</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">user</span></em>, <em class="sig-param"><span class="n">alias</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/comms/comms.html#DefaultChannel.remove_user_channel_alias"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.remove_user_channel_alias" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Remove a personal channel alias from a user.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>user</strong> (<em>Object</em><em> or </em><em>Account</em>) – The user to remove an alias from.</p></li>
|
||
<li><p><strong>alias</strong> (<em>str</em>) – The alias to remove.</p></li>
|
||
<li><p><strong>**kwargs</strong> – Unused by default. Can be used to pass extra variables
|
||
into a custom implementation.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>The channel-alias actually consists of two aliases - one
|
||
channel-based one for searching channels with the alias and one
|
||
inputline one for doing the ‘channelalias msg’ - call.</p>
|
||
<p>This is a classmethod because it doesn’t actually operate on the
|
||
channel instance.</p>
|
||
<p>It sits on the channel because the nick structure for this is
|
||
pretty complex and needs to be located in a central place (rather
|
||
on, say, the channel command).</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.at_pre_msg">
|
||
<code class="sig-name descname">at_pre_msg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">message</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/comms/comms.html#DefaultChannel.at_pre_msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.at_pre_msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Called before the starting of sending the message to a receiver. This
|
||
is called before any hooks on the receiver itself. If this returns
|
||
None/False, the sending will be aborted.</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>) – The message to send.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>any</em>) – Keywords passed on from <strong>.msg</strong>. This includes
|
||
<strong>senders</strong>.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><p><em>str, False or None</em> –</p>
|
||
<dl class="simple">
|
||
<dt>Any custom changes made to the message. If</dt><dd><p>falsy, no message will be sent.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.msg">
|
||
<code class="sig-name descname">msg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">message</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">bypass_mute</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/comms/comms.html#DefaultChannel.msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Send message to channel, causing it to be distributed to all non-muted
|
||
subscribed users of that channel.</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>) – The message to send.</p></li>
|
||
<li><p><strong>senders</strong> (<em>Object</em><em>, </em><em>Account</em><em> or </em><em>list</em><em>, </em><em>optional</em>) – If not given, there is
|
||
no way to associate one or more senders with the message (like
|
||
a broadcast message or similar).</p></li>
|
||
<li><p><strong>bypass_mute</strong> (<em>bool</em><em>, </em><em>optional</em>) – If set, always send, regardless of
|
||
individual mute-state of subscriber. This can be used for
|
||
global announcements or warnings/alerts.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>any</em>) – This will be passed on to all hooks. Use <strong>no_prefix</strong>
|
||
to exclude the channel prefix.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>The call hook calling sequence is:</p>
|
||
<ul class="simple">
|
||
<li><p><strong>msg = channel.at_pre_msg(message, **kwargs)</strong> (aborts for all if return None)</p></li>
|
||
<li><p><strong>msg = receiver.at_pre_channel_msg(msg, channel, **kwargs)</strong> (aborts for receiver if return None)</p></li>
|
||
<li><p><strong>receiver.at_channel_msg(msg, channel, **kwargs)</strong></p></li>
|
||
<li><p><strong>receiver.at_post_channel_msg(msg, channel, **kwargs)**</strong></p></li>
|
||
</ul>
|
||
<p>Called after all receivers are processed:
|
||
- <strong>channel.at_post_all_msg(message, **kwargs)</strong></p>
|
||
<p>(where the senders/bypass_mute are embedded into <a href="#id1"><span class="problematic" id="id2">**</span></a>kwargs for
|
||
later access in hooks)</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.at_post_msg">
|
||
<code class="sig-name descname">at_post_msg</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">message</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/comms/comms.html#DefaultChannel.at_post_msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.at_post_msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>This is called after sending to <em>all</em> valid recipients. It is normally
|
||
used for logging/channel history.</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>) – The message sent.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>any</em>) – Keywords passed on from <strong>msg</strong>, including <strong>senders</strong>.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.pre_join_channel">
|
||
<code class="sig-name descname">pre_join_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">joiner</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/comms/comms.html#DefaultChannel.pre_join_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.pre_join_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Hook method. Runs right before a channel is joined. If this
|
||
returns a false value, channel joining is aborted.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>joiner</strong> (<em>object</em>) – The joining object.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
|
||
overriding the call (unused by default).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><em>should_join (bool)</em> – If <strong>False</strong>, channel joining is aborted.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.post_join_channel">
|
||
<code class="sig-name descname">post_join_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">joiner</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/comms/comms.html#DefaultChannel.post_join_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.post_join_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Hook method. Runs right after an object or account joins a channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>joiner</strong> (<em>object</em>) – The joining object.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
|
||
overriding the call (unused by default).</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>By default this adds the needed channel nicks to the joiner.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.pre_leave_channel">
|
||
<code class="sig-name descname">pre_leave_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">leaver</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/comms/comms.html#DefaultChannel.pre_leave_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.pre_leave_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Hook method. Runs right before a user leaves a channel. If this returns a false
|
||
value, leaving the channel will be aborted.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>leaver</strong> (<em>object</em>) – The leaving object.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
|
||
overriding the call (unused by default).</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><em>should_leave (bool)</em> – If <strong>False</strong>, channel parting is aborted.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.post_leave_channel">
|
||
<code class="sig-name descname">post_leave_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">leaver</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/comms/comms.html#DefaultChannel.post_leave_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.post_leave_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Hook method. Runs right after an object or account leaves a channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>leaver</strong> (<em>object</em>) – The leaving object.</p></li>
|
||
<li><p><strong>**kwargs</strong> (<em>dict</em>) – Arbitrary, optional arguments for users
|
||
overriding the call (unused by default).</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.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/comms/comms.html#DefaultChannel.at_init"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.at_init" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Hook method. This is always called whenever this channel is
|
||
initiated – that is, whenever it its typeclass is cached from
|
||
memory. This happens on-demand first time the channel is used
|
||
or activated in some way after being created but also after
|
||
each server restart or reload.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.web_get_admin_url">
|
||
<code class="sig-name descname">web_get_admin_url</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.web_get_admin_url"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.web_get_admin_url" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for the Django Admin page for this object.</p>
|
||
<p>ex. Account#1 = ‘/admin/accounts/accountdb/1/change/’</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><em>path (str)</em> – URI path to Django Admin page for object.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.web_get_create_url">
|
||
<em class="property">classmethod </em><code class="sig-name descname">web_get_create_url</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.web_get_create_url"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.web_get_create_url" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for a View that allows users to create new
|
||
instances of this object.</p>
|
||
<p>ex. Chargen = ‘/characters/create/’</p>
|
||
<p>For this to work, the developer must have defined a named view somewhere
|
||
in urls.py that follows the format ‘modelname-action’, so in this case
|
||
a named view of ‘channel-create’ would be referenced by this method.</p>
|
||
<p>ex.
|
||
url(r’channels/create/’, ChannelCreateView.as_view(), name=’channel-create’)</p>
|
||
<p>If no View has been created and defined in urls.py, returns an
|
||
HTML anchor.</p>
|
||
<p>This method is naive and simply returns a path. Securing access to
|
||
the actual view and limiting who can create new objects is the
|
||
developer’s responsibility.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><em>path (str)</em> – URI path to object creation page, if defined.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.web_get_detail_url">
|
||
<code class="sig-name descname">web_get_detail_url</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.web_get_detail_url"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.web_get_detail_url" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for a View that allows users to view details for
|
||
this object.</p>
|
||
<p>ex. Oscar (Character) = ‘/characters/oscar/1/’</p>
|
||
<p>For this to work, the developer must have defined a named view somewhere
|
||
in urls.py that follows the format ‘modelname-action’, so in this case
|
||
a named view of ‘channel-detail’ would be referenced by this method.</p>
|
||
<p>ex.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">url</span><span class="p">(</span><span class="sa">r</span><span class="s1">'channels/(?P<slug>[\w\d\-]+)/$'</span><span class="p">,</span>
|
||
<span class="n">ChannelDetailView</span><span class="o">.</span><span class="n">as_view</span><span class="p">(),</span> <span class="n">name</span><span class="o">=</span><span class="s1">'channel-detail'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If no View has been created and defined in urls.py, returns an
|
||
HTML anchor.</p>
|
||
<p>This method is naive and simply returns a path. Securing access to
|
||
the actual view and limiting who can view this object is the developer’s
|
||
responsibility.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><em>path (str)</em> – URI path to object detail page, if defined.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.web_get_update_url">
|
||
<code class="sig-name descname">web_get_update_url</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.web_get_update_url"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.web_get_update_url" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for a View that allows users to update this
|
||
object.</p>
|
||
<p>ex. Oscar (Character) = ‘/characters/oscar/1/change/’</p>
|
||
<p>For this to work, the developer must have defined a named view somewhere
|
||
in urls.py that follows the format ‘modelname-action’, so in this case
|
||
a named view of ‘channel-update’ would be referenced by this method.</p>
|
||
<p>ex.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">url</span><span class="p">(</span><span class="sa">r</span><span class="s1">'channels/(?P<slug>[\w\d\-]+)/(?P<pk>[0-9]+)/change/$'</span><span class="p">,</span>
|
||
<span class="n">ChannelUpdateView</span><span class="o">.</span><span class="n">as_view</span><span class="p">(),</span> <span class="n">name</span><span class="o">=</span><span class="s1">'channel-update'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If no View has been created and defined in urls.py, returns an
|
||
HTML anchor.</p>
|
||
<p>This method is naive and simply returns a path. Securing access to
|
||
the actual view and limiting who can modify objects is the developer’s
|
||
responsibility.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><em>path (str)</em> – URI path to object update page, if defined.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.web_get_delete_url">
|
||
<code class="sig-name descname">web_get_delete_url</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.web_get_delete_url"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.web_get_delete_url" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for a View that allows users to delete this object.</p>
|
||
<p>ex. Oscar (Character) = ‘/characters/oscar/1/delete/’</p>
|
||
<p>For this to work, the developer must have defined a named view somewhere
|
||
in urls.py that follows the format ‘modelname-action’, so in this case
|
||
a named view of ‘channel-delete’ would be referenced by this method.</p>
|
||
<p>ex.
|
||
url(r’channels/(?P<slug>[wd-]+)/(?P<pk>[0-9]+)/delete/$’,</p>
|
||
<blockquote>
|
||
<div><p>ChannelDeleteView.as_view(), name=’channel-delete’)</p>
|
||
</div></blockquote>
|
||
<p>If no View has been created and defined in urls.py, returns an
|
||
HTML anchor.</p>
|
||
<p>This method is naive and simply returns a path. Securing access to
|
||
the actual view and limiting who can delete this object is the developer’s
|
||
responsibility.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><em>path (str)</em> – URI path to object deletion page, if defined.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.get_absolute_url">
|
||
<code class="sig-name descname">get_absolute_url</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.get_absolute_url" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Returns the URI path for a View that allows users to view details for
|
||
this object.</p>
|
||
<p>ex. Oscar (Character) = ‘/characters/oscar/1/’</p>
|
||
<p>For this to work, the developer must have defined a named view somewhere
|
||
in urls.py that follows the format ‘modelname-action’, so in this case
|
||
a named view of ‘channel-detail’ would be referenced by this method.</p>
|
||
<p>ex.</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">url</span><span class="p">(</span><span class="sa">r</span><span class="s1">'channels/(?P<slug>[\w\d\-]+)/$'</span><span class="p">,</span>
|
||
<span class="n">ChannelDetailView</span><span class="o">.</span><span class="n">as_view</span><span class="p">(),</span> <span class="n">name</span><span class="o">=</span><span class="s1">'channel-detail'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p>If no View has been created and defined in urls.py, returns an
|
||
HTML anchor.</p>
|
||
<p>This method is naive and simply returns a path. Securing access to
|
||
the actual view and limiting who can view this object is the developer’s
|
||
responsibility.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p><em>path (str)</em> – URI path to object detail page, if defined.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.message_transform">
|
||
<code class="sig-name descname">message_transform</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/comms/comms.html#DefaultChannel.message_transform"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.message_transform" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.distribute_message">
|
||
<code class="sig-name descname">distribute_message</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">msgobj</span></em>, <em class="sig-param"><span class="n">online</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/comms/comms.html#DefaultChannel.distribute_message"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.distribute_message" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.format_senders">
|
||
<code class="sig-name descname">format_senders</code><span class="sig-paren">(</span><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/comms/comms.html#DefaultChannel.format_senders"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.format_senders" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.pose_transform">
|
||
<code class="sig-name descname">pose_transform</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">msgobj</span></em>, <em class="sig-param"><span class="n">sender_string</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/comms/comms.html#DefaultChannel.pose_transform"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.pose_transform" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.format_external">
|
||
<code class="sig-name descname">format_external</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">msgobj</span></em>, <em class="sig-param"><span class="n">senders</span></em>, <em class="sig-param"><span class="n">emit</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/comms/comms.html#DefaultChannel.format_external"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.format_external" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.format_message">
|
||
<code class="sig-name descname">format_message</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">msgobj</span></em>, <em class="sig-param"><span class="n">emit</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/comms/comms.html#DefaultChannel.format_message"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.format_message" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.pre_send_message">
|
||
<code class="sig-name descname">pre_send_message</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">msg</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/comms/comms.html#DefaultChannel.pre_send_message"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.pre_send_message" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.post_send_message">
|
||
<code class="sig-name descname">post_send_message</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">msg</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/comms/comms.html#DefaultChannel.post_send_message"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.post_send_message" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.comms.comms.DefaultChannel.DoesNotExist">
|
||
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.DoesNotExist" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.comms.models.html#evennia.comms.models.ChannelDB.DoesNotExist" title="evennia.comms.models.ChannelDB.DoesNotExist"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.comms.models.ChannelDB.DoesNotExist</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py exception">
|
||
<dt id="evennia.comms.comms.DefaultChannel.MultipleObjectsReturned">
|
||
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.MultipleObjectsReturned" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.comms.models.html#evennia.comms.models.ChannelDB.MultipleObjectsReturned" title="evennia.comms.models.ChannelDB.MultipleObjectsReturned"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.comms.models.ChannelDB.MultipleObjectsReturned</span></code></a></p>
|
||
</dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.comms.comms.DefaultChannel.path">
|
||
<code class="sig-name descname">path</code><em class="property"> = 'evennia.comms.comms.DefaultChannel'</em><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="py attribute">
|
||
<dt id="evennia.comms.comms.DefaultChannel.typename">
|
||
<code class="sig-name descname">typename</code><em class="property"> = 'DefaultChannel'</em><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.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.comms.managers.html" title="evennia.comms.managers"
|
||
>next</a> |</li>
|
||
<li class="right" >
|
||
<a href="evennia.comms.html" title="evennia.comms"
|
||
>previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0</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.comms.html" >evennia.comms</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">evennia.comms.comms</a></li>
|
||
</ul>
|
||
</div>
|
||
<div class="footer" role="contentinfo">
|
||
© Copyright 2022, The Evennia developer community.
|
||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
|
||
</div>
|
||
</body>
|
||
</html> |