mirror of
https://github.com/evennia/evennia.git
synced 2026-03-19 14:26:30 +01:00
2408 lines
No EOL
163 KiB
HTML
2408 lines
No EOL
163 KiB
HTML
|
||
<!DOCTYPE html>
|
||
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<title>evennia.comms package — Evennia 1.0-dev documentation</title>
|
||
<link rel="stylesheet" href="../_static/alabaster.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="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
|
||
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
|
||
|
||
|
||
<meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
|
||
|
||
</head><body>
|
||
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
|
||
|
||
<div class="body" role="main">
|
||
|
||
<div class="section" id="module-evennia.comms">
|
||
<span id="evennia-comms-package"></span><h1>evennia.comms package<a class="headerlink" href="#module-evennia.comms" title="Permalink to this headline">¶</a></h1>
|
||
<p>This sub-package contains Evennia’s comms-system, a set of models and
|
||
handlers for in-game communication via channels and messages as well
|
||
as code related to external communication like IRC or RSS.</p>
|
||
<div class="section" id="subpackages">
|
||
<h2>Subpackages<a class="headerlink" href="#subpackages" title="Permalink to this headline">¶</a></h2>
|
||
<div class="toctree-wrapper compound">
|
||
</div>
|
||
</div>
|
||
<div class="section" id="submodules">
|
||
<h2>Submodules<a class="headerlink" href="#submodules" title="Permalink to this headline">¶</a></h2>
|
||
</div>
|
||
<div class="section" id="module-evennia.comms.admin">
|
||
<span id="evennia-comms-admin-module"></span><h2>evennia.comms.admin module<a class="headerlink" href="#module-evennia.comms.admin" title="Permalink to this headline">¶</a></h2>
|
||
<p>This defines how Comm models are displayed in the web admin interface.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.comms.admin.ChannelAdmin">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.admin.</code><code class="sig-name descname">ChannelAdmin</code><span class="sig-paren">(</span><em class="sig-param">model</em>, <em class="sig-param">admin_site</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/admin.html#ChannelAdmin"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">django.contrib.admin.options.ModelAdmin</span></code></p>
|
||
<p>Defines display for Channel objects</p>
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.fieldsets">
|
||
<code class="sig-name descname">fieldsets</code><em class="property"> = ((None, {'fields': (('db_key',), 'db_lock_storage', 'db_account_subscriptions', 'db_object_subscriptions')}),)</em><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.fieldsets" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.inlines">
|
||
<code class="sig-name descname">inlines</code><em class="property"> = [<class 'evennia.comms.admin.ChannelTagInline'>, <class 'evennia.comms.admin.ChannelAttributeInline'>]</em><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.inlines" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.list_display">
|
||
<code class="sig-name descname">list_display</code><em class="property"> = ('id', 'db_key', 'db_lock_storage', 'subscriptions')</em><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.list_display" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.list_display_links">
|
||
<code class="sig-name descname">list_display_links</code><em class="property"> = ('id', 'db_key')</em><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.list_display_links" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.list_select_related">
|
||
<code class="sig-name descname">list_select_related</code><em class="property"> = True</em><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.list_select_related" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.media">
|
||
<em class="property">property </em><code class="sig-name descname">media</code><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.media" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.ordering">
|
||
<code class="sig-name descname">ordering</code><em class="property"> = ['db_key']</em><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.ordering" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.raw_id_fields">
|
||
<code class="sig-name descname">raw_id_fields</code><em class="property"> = ('db_object_subscriptions', 'db_account_subscriptions')</em><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.raw_id_fields" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.response_add">
|
||
<code class="sig-name descname">response_add</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">obj</em>, <em class="sig-param">post_url_continue=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/admin.html#ChannelAdmin.response_add"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.response_add" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Determine the HttpResponse for the add_view stage.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.save_as">
|
||
<code class="sig-name descname">save_as</code><em class="property"> = True</em><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.save_as" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.save_model">
|
||
<code class="sig-name descname">save_model</code><span class="sig-paren">(</span><em class="sig-param">request</em>, <em class="sig-param">obj</em>, <em class="sig-param">form</em>, <em class="sig-param">change</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/admin.html#ChannelAdmin.save_model"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.save_model" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Model-save hook.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>request</strong> (<em>Request</em>) – Incoming request.</p></li>
|
||
<li><p><strong>obj</strong> (<em>Object</em>) – Database object.</p></li>
|
||
<li><p><strong>form</strong> (<em>Form</em>) – Form instance.</p></li>
|
||
<li><p><strong>change</strong> (<em>bool</em>) – If this is a change or a new object.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.save_on_top">
|
||
<code class="sig-name descname">save_on_top</code><em class="property"> = True</em><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.save_on_top" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.search_fields">
|
||
<code class="sig-name descname">search_fields</code><em class="property"> = ['id', 'db_key', 'db_tags__db_key']</em><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.search_fields" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.admin.ChannelAdmin.subscriptions">
|
||
<code class="sig-name descname">subscriptions</code><span class="sig-paren">(</span><em class="sig-param">obj</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/admin.html#ChannelAdmin.subscriptions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.admin.ChannelAdmin.subscriptions" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Helper method to get subs from a channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>obj</strong> (<em>Channel</em>) – The channel to get subs from.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.comms.admin.ChannelAttributeInline">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.admin.</code><code class="sig-name descname">ChannelAttributeInline</code><span class="sig-paren">(</span><em class="sig-param">parent_model</em>, <em class="sig-param">admin_site</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/admin.html#ChannelAttributeInline"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.admin.ChannelAttributeInline" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.typeclasses.html#evennia.typeclasses.admin.AttributeInline" title="evennia.typeclasses.admin.AttributeInline"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.typeclasses.admin.AttributeInline</span></code></a></p>
|
||
<p>Inline display of Channel Attribute - experimental</p>
|
||
<dl class="method">
|
||
<dt id="evennia.comms.admin.ChannelAttributeInline.media">
|
||
<em class="property">property </em><code class="sig-name descname">media</code><a class="headerlink" href="#evennia.comms.admin.ChannelAttributeInline.media" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAttributeInline.model">
|
||
<code class="sig-name descname">model</code><a class="headerlink" href="#evennia.comms.admin.ChannelAttributeInline.model" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>alias of <code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.comms.models.ChannelDB_db_attributes</span></code></p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelAttributeInline.related_field">
|
||
<code class="sig-name descname">related_field</code><em class="property"> = 'channeldb'</em><a class="headerlink" href="#evennia.comms.admin.ChannelAttributeInline.related_field" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.comms.admin.ChannelTagInline">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.admin.</code><code class="sig-name descname">ChannelTagInline</code><span class="sig-paren">(</span><em class="sig-param">parent_model</em>, <em class="sig-param">admin_site</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/admin.html#ChannelTagInline"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.admin.ChannelTagInline" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.typeclasses.html#evennia.typeclasses.admin.TagInline" title="evennia.typeclasses.admin.TagInline"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.typeclasses.admin.TagInline</span></code></a></p>
|
||
<p>Inline display of Channel Tags - experimental</p>
|
||
<dl class="method">
|
||
<dt id="evennia.comms.admin.ChannelTagInline.media">
|
||
<em class="property">property </em><code class="sig-name descname">media</code><a class="headerlink" href="#evennia.comms.admin.ChannelTagInline.media" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelTagInline.model">
|
||
<code class="sig-name descname">model</code><a class="headerlink" href="#evennia.comms.admin.ChannelTagInline.model" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>alias of <code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.comms.models.ChannelDB_db_tags</span></code></p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.ChannelTagInline.related_field">
|
||
<code class="sig-name descname">related_field</code><em class="property"> = 'channeldb'</em><a class="headerlink" href="#evennia.comms.admin.ChannelTagInline.related_field" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.comms.admin.MsgAdmin">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.admin.</code><code class="sig-name descname">MsgAdmin</code><span class="sig-paren">(</span><em class="sig-param">model</em>, <em class="sig-param">admin_site</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/admin.html#MsgAdmin"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.admin.MsgAdmin" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">django.contrib.admin.options.ModelAdmin</span></code></p>
|
||
<p>Defines display for Msg objects</p>
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.MsgAdmin.list_display">
|
||
<code class="sig-name descname">list_display</code><em class="property"> = ('id', 'db_date_created', 'db_sender', 'db_receivers', 'db_channels', 'db_message', 'db_lock_storage')</em><a class="headerlink" href="#evennia.comms.admin.MsgAdmin.list_display" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.MsgAdmin.list_display_links">
|
||
<code class="sig-name descname">list_display_links</code><em class="property"> = ('id',)</em><a class="headerlink" href="#evennia.comms.admin.MsgAdmin.list_display_links" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.MsgAdmin.list_select_related">
|
||
<code class="sig-name descname">list_select_related</code><em class="property"> = True</em><a class="headerlink" href="#evennia.comms.admin.MsgAdmin.list_select_related" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.admin.MsgAdmin.media">
|
||
<em class="property">property </em><code class="sig-name descname">media</code><a class="headerlink" href="#evennia.comms.admin.MsgAdmin.media" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.MsgAdmin.ordering">
|
||
<code class="sig-name descname">ordering</code><em class="property"> = ['db_date_created', 'db_sender', 'db_receivers', 'db_channels']</em><a class="headerlink" href="#evennia.comms.admin.MsgAdmin.ordering" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.MsgAdmin.save_as">
|
||
<code class="sig-name descname">save_as</code><em class="property"> = True</em><a class="headerlink" href="#evennia.comms.admin.MsgAdmin.save_as" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.MsgAdmin.save_on_top">
|
||
<code class="sig-name descname">save_on_top</code><em class="property"> = True</em><a class="headerlink" href="#evennia.comms.admin.MsgAdmin.save_on_top" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.admin.MsgAdmin.search_fields">
|
||
<code class="sig-name descname">search_fields</code><em class="property"> = ['id', '^db_date_created', '^db_message']</em><a class="headerlink" href="#evennia.comms.admin.MsgAdmin.search_fields" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.comms.channelhandler">
|
||
<span id="evennia-comms-channelhandler-module"></span><h2>evennia.comms.channelhandler module<a class="headerlink" href="#module-evennia.comms.channelhandler" title="Permalink to this headline">¶</a></h2>
|
||
<p>The channel handler, accessed from this module as CHANNEL_HANDLER is a
|
||
singleton that handles the stored set of channels and how they are
|
||
represented against the cmdhandler.</p>
|
||
<p>If there is a channel named ‘newbie’, we want to be able to just write</p>
|
||
<blockquote>
|
||
<div><p>newbie Hello!</p>
|
||
</div></blockquote>
|
||
<p>For this to work, ‘newbie’, the name of the channel, must be
|
||
identified by the cmdhandler as a command name. The channelhandler
|
||
stores all channels as custom ‘commands’ that the cmdhandler can
|
||
import and look through.</p>
|
||
<p>> Warning - channel names take precedence over command names, so make
|
||
sure to not pick clashing channel names.</p>
|
||
<p>Unless deleting a channel you normally don’t need to bother about the
|
||
channelhandler at all - the create_channel method handles the update.</p>
|
||
<p>To delete a channel cleanly, delete the channel object, then call
|
||
update() on the channelhandler. Or use Channel.objects.delete() which
|
||
does this for you.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.channelhandler.</code><code class="sig-name descname">ChannelCommand</code><span class="sig-paren">(</span><em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelCommand"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.commands.html#evennia.commands.command.Command" title="evennia.commands.command.Command"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.command.Command</span></code></a></p>
|
||
<p>{channelkey} channel</p>
|
||
<p>{channeldesc}</p>
|
||
<dl class="simple">
|
||
<dt>Usage:</dt><dd><p>{lower_channelkey} <message>
|
||
{lower_channelkey}/history [start]
|
||
{lower_channelkey} off - mutes the channel
|
||
{lower_channelkey} on - unmutes the channel</p>
|
||
</dd>
|
||
<dt>Switch:</dt><dd><dl class="simple">
|
||
<dt>history: View 20 previous messages, either from the end or</dt><dd><p>from <start> number of messages from the end.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Example</p>
|
||
<p>{lower_channelkey} Hello World!
|
||
{lower_channelkey}/history
|
||
{lower_channelkey}/history 30</p>
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand._keyaliases">
|
||
<code class="sig-name descname">_keyaliases</code><em class="property"> = ('general',)</em><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand._keyaliases" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand._matchset">
|
||
<code class="sig-name descname">_matchset</code><em class="property"> = {'general'}</em><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand._matchset" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand.aliases">
|
||
<code class="sig-name descname">aliases</code><em class="property"> = []</em><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand.aliases" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand.arg_regex">
|
||
<code class="sig-name descname">arg_regex</code><em class="property"> = re.compile('\\s.*?|/history.*?', re.IGNORECASE)</em><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand.arg_regex" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand.func">
|
||
<code class="sig-name descname">func</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelCommand.func"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand.func" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Create a new message and send it to channel, using
|
||
the already formatted input.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand.get_extra_info">
|
||
<code class="sig-name descname">get_extra_info</code><span class="sig-paren">(</span><em class="sig-param">caller</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelCommand.get_extra_info"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand.get_extra_info" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Let users know that this command is for communicating on a channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>caller</strong> (<a class="reference internal" href="evennia.typeclasses.html#evennia.typeclasses.models.TypedObject" title="evennia.typeclasses.models.TypedObject"><em>TypedObject</em></a>) – A Character or Account who has entered an ambiguous command.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>A string with identifying information to disambiguate the object, conventionally with a preceding space.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand.help_category">
|
||
<code class="sig-name descname">help_category</code><em class="property"> = 'channel names'</em><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand.help_category" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand.is_channel">
|
||
<code class="sig-name descname">is_channel</code><em class="property"> = True</em><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand.is_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand.key">
|
||
<code class="sig-name descname">key</code><em class="property"> = 'general'</em><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand.key" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand.lock_storage">
|
||
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:all();'</em><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand.lock_storage" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand.obj">
|
||
<code class="sig-name descname">obj</code><em class="property"> = None</em><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand.obj" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand.parse">
|
||
<code class="sig-name descname">parse</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelCommand.parse"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand.parse" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Simple parser</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.channelhandler.ChannelCommand.search_index_entry">
|
||
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '', 'category': 'channel names', 'key': 'general', 'tags': '', 'text': '\n {channelkey} channel\n\n {channeldesc}\n\n Usage:\n {lower_channelkey} <message>\n {lower_channelkey}/history [start]\n {lower_channelkey} off - mutes the channel\n {lower_channelkey} on - unmutes the channel\n\n Switch:\n history: View 20 previous messages, either from the end or\n from <start> number of messages from the end.\n\n Example:\n {lower_channelkey} Hello World!\n {lower_channelkey}/history\n {lower_channelkey}/history 30\n\n '}</em><a class="headerlink" href="#evennia.comms.channelhandler.ChannelCommand.search_index_entry" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.comms.channelhandler.ChannelHandler">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.channelhandler.</code><code class="sig-name descname">ChannelHandler</code><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelHandler"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelHandler" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>The ChannelHandler manages all active in-game channels and
|
||
dynamically creates channel commands for users so that they can
|
||
just give the channel’s key or alias to write to it. Whenever a
|
||
new channel is created in the database, the update() method on
|
||
this handler must be called to sync it with the database (this is
|
||
done automatically if creating the channel with
|
||
evennia.create_channel())</p>
|
||
<dl class="method">
|
||
<dt id="evennia.comms.channelhandler.ChannelHandler.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelHandler.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelHandler.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initializes the channel handler’s internal state.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.channelhandler.ChannelHandler.add">
|
||
<code class="sig-name descname">add</code><span class="sig-paren">(</span><em class="sig-param">channel</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelHandler.add"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelHandler.add" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Add an individual channel to the handler. This is called
|
||
whenever a new channel is created.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>channel</strong> (<em>Channel</em>) – The channel to add.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>To remove a channel, simply delete the channel object and
|
||
run self.update on the handler. This should usually be
|
||
handled automatically by one of the deletion methos of
|
||
the Channel itself.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.channelhandler.ChannelHandler.add_channel">
|
||
<code class="sig-name descname">add_channel</code><span class="sig-paren">(</span><em class="sig-param">channel</em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.channelhandler.ChannelHandler.add_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Add an individual channel to the handler. This is called
|
||
whenever a new channel is created.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>channel</strong> (<em>Channel</em>) – The channel to add.</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>To remove a channel, simply delete the channel object and
|
||
run self.update on the handler. This should usually be
|
||
handled automatically by one of the deletion methos of
|
||
the Channel itself.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.channelhandler.ChannelHandler.clear">
|
||
<code class="sig-name descname">clear</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelHandler.clear"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelHandler.clear" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Reset the cache storage.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.channelhandler.ChannelHandler.get">
|
||
<code class="sig-name descname">get</code><span class="sig-paren">(</span><em class="sig-param">channelname=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelHandler.get"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelHandler.get" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Get a channel from the handler, or all channels</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>channelame</strong> (<em>str</em><em>, </em><em>optional</em>) – Channel key, case insensitive.</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="simple">
|
||
<dt>Returns</dt><dd><dl class="simple">
|
||
<dt>channels (list): The matching channels in a list, or all</dt><dd><p>channels in the handler.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.channelhandler.ChannelHandler.get_cmdset">
|
||
<code class="sig-name descname">get_cmdset</code><span class="sig-paren">(</span><em class="sig-param">source_object</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelHandler.get_cmdset"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelHandler.get_cmdset" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Retrieve cmdset for channels this source_object has
|
||
access to send to.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>source_object</strong> (<em>Object</em>) – An object subscribing to one
|
||
or more channels.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><dl class="simple">
|
||
<dt>The Channel-Cmdsets <cite>source_object</cite> has</dt><dd><p>access to.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>cmdsets (list)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.channelhandler.ChannelHandler.remove">
|
||
<code class="sig-name descname">remove</code><span class="sig-paren">(</span><em class="sig-param">channel</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelHandler.remove"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelHandler.remove" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Remove channel from channelhandler. This will also delete it.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>channel</strong> (<em>Channel</em>) – Channel to remove/delete.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.channelhandler.ChannelHandler.update">
|
||
<code class="sig-name descname">update</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/channelhandler.html#ChannelHandler.update"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.channelhandler.ChannelHandler.update" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Updates the handler completely, including removing old removed
|
||
Channel objects. This must be called after deleting a Channel.</p>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.comms.comms">
|
||
<span id="evennia-comms-comms-module"></span><h2>evennia.comms.comms module<a class="headerlink" href="#module-evennia.comms.comms" title="Permalink to this headline">¶</a></h2>
|
||
<p>Base typeclass for in-game Channels.</p>
|
||
<dl class="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">*args</em>, <em class="sig-param">**kwargs</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.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>
|
||
<dl class="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: <code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.comms.models.DoesNotExist</span></code></p>
|
||
</dd></dl>
|
||
|
||
<dl class="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: <code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.comms.models.MultipleObjectsReturned</span></code></p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.comms.DefaultChannel._meta">
|
||
<code class="sig-name descname">_meta</code><em class="property"> = <Options for DefaultChannel></em><a class="headerlink" href="#evennia.comms.comms.DefaultChannel._meta" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.access">
|
||
<code class="sig-name descname">access</code><span class="sig-paren">(</span><em class="sig-param">accessing_obj</em>, <em class="sig-param">access_type='listen'</em>, <em class="sig-param">default=False</em>, <em class="sig-param">no_superuser_bypass=False</em>, <em class="sig-param">**kwargs</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>Result of lock check.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>return (bool)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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="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="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="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="method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.channel_prefix">
|
||
<code class="sig-name descname">channel_prefix</code><span class="sig-paren">(</span><em class="sig-param">msg=None</em>, <em class="sig-param">emit=False</em>, <em class="sig-param">**kwargs</em><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">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>msg</strong> (<em>str</em><em>, </em><em>optional</em>) – Prefix text</p></li>
|
||
<li><p><strong>emit</strong> (<em>bool</em><em>, </em><em>optional</em>) – Switches to emit mode, which usually
|
||
means to not prefix the channel’s info.</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>The created channel prefix.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>prefix (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.connect">
|
||
<code class="sig-name descname">connect</code><span class="sig-paren">(</span><em class="sig-param">subscriber</em>, <em class="sig-param">**kwargs</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><dl class="simple">
|
||
<dt>Whether or not the addition was</dt><dd><p>successful.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>success (bool)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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">key</em>, <em class="sig-param">account=None</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</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>account</strong> (<em>Account</em>) – Account to attribute this object to.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
<dl>
|
||
<dt>Kwargs:</dt><dd><p>aliases (list of str): List of alternative (likely shorter) keynames.
|
||
description (str): A description of the channel, for use in listings.
|
||
locks (str): Lockstring.
|
||
keep_log (bool): Log channel throughput.
|
||
typeclass (str or class): The typeclass of the Channel (not</p>
|
||
<blockquote>
|
||
<div><p>often used).</p>
|
||
</div></blockquote>
|
||
<p>ip (str): IP address of creator (for object auditing).</p>
|
||
</dd>
|
||
</dl>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p>A newly created Channel.
|
||
errors (list): A list of errors in string form, if any.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>channel (Channel)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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 while also cleaning up channelhandler.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.disconnect">
|
||
<code class="sig-name descname">disconnect</code><span class="sig-paren">(</span><em class="sig-param">subscriber</em>, <em class="sig-param">**kwargs</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><dl class="simple">
|
||
<dt>Whether or not the removal was</dt><dd><p>successful.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>success (bool)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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">msgobj</em>, <em class="sig-param">online=False</em>, <em class="sig-param">**kwargs</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><p>Method for grabbing all listeners that a message should be
|
||
sent to on this channel, and sending them a message.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>msgobj</strong> (<a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg"><em>Msg</em></a><em> or </em><a class="reference internal" href="#evennia.comms.models.TempMsg" title="evennia.comms.models.TempMsg"><em>TempMsg</em></a>) – Message to distribute.</p></li>
|
||
<li><p><strong>online</strong> (<em>bool</em>) – Only send to receivers who are actually online
|
||
(not currently used):</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>This is also where logging happens, if enabled.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="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">msgobj</em>, <em class="sig-param">senders</em>, <em class="sig-param">emit=False</em>, <em class="sig-param">**kwargs</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><p>Hook method. Used for formatting external messages. This is
|
||
needed as a separate operation because the senders of external
|
||
messages may not be in-game objects/accounts, and so cannot
|
||
have things like custom user preferences.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>msgobj</strong> (<a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg"><em>Msg</em></a><em> or </em><a class="reference internal" href="#evennia.comms.models.TempMsg" title="evennia.comms.models.TempMsg"><em>TempMsg</em></a>) – The message to send.</p></li>
|
||
<li><p><strong>senders</strong> (<em>list</em>) – Strings, one per sender.</p></li>
|
||
<li><p><strong>emit</strong> (<em>bool</em><em>, </em><em>optional</em>) – A sender-agnostic message or not.</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>A formatted string.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>transformed (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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">msgobj</em>, <em class="sig-param">emit=False</em>, <em class="sig-param">**kwargs</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><p>Hook method. Formats a message body for display.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>msgobj</strong> (<a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg"><em>Msg</em></a><em> or </em><a class="reference internal" href="#evennia.comms.models.TempMsg" title="evennia.comms.models.TempMsg"><em>TempMsg</em></a>) – The message object to send.</p></li>
|
||
<li><p><strong>emit</strong> (<em>bool</em><em>, </em><em>optional</em>) – The message is agnostic of senders.</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>The formatted message.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>transformed (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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">senders=None</em>, <em class="sig-param">**kwargs</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><p>Hook method. Function used to format a list of sender names.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>senders</strong> (<em>list</em>) – Sender object names.</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>The list of names formatted appropriately.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>formatted_list (str)</p>
|
||
</dd>
|
||
</dl>
|
||
<p class="rubric">Notes</p>
|
||
<p>This function exists separately so that external sources
|
||
can use it to format source names in the same manner as
|
||
normal object/account names.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="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.
|
||
url(r’channels/(?P<slug>[wd-]+)/$’,</p>
|
||
<blockquote>
|
||
<div><p>ChannelDetailView.as_view(), name=’channel-detail’)</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 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>URI path to object detail page, if defined.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>path (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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">subscriber</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><dl class="simple">
|
||
<dt>Whether the subscriber is subscribing to</dt><dd><p>this channel or not.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>has_sub (bool)</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="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">msgobj</em>, <em class="sig-param">emit=False</em>, <em class="sig-param">prefix=True</em>, <em class="sig-param">sender_strings=None</em>, <em class="sig-param">external=False</em>, <em class="sig-param">**kwargs</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><p>Generates the formatted string sent to listeners on a channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>msgobj</strong> (<a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg"><em>Msg</em></a>) – Message object to send.</p></li>
|
||
<li><p><strong>emit</strong> (<em>bool</em><em>, </em><em>optional</em>) – In emit mode the message is not associated
|
||
with a specific sender name.</p></li>
|
||
<li><p><strong>prefix</strong> (<em>bool</em><em>, </em><em>optional</em>) – Prefix <cite>msg</cite> with a text given by <cite>self.channel_prefix</cite>.</p></li>
|
||
<li><p><strong>sender_strings</strong> (<em>list</em><em>, </em><em>optional</em>) – Used by bots etc, one string per external sender.</p></li>
|
||
<li><p><strong>external</strong> (<em>bool</em><em>, </em><em>optional</em>) – If this is an external sender or not.</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="method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.msg">
|
||
<code class="sig-name descname">msg</code><span class="sig-paren">(</span><em class="sig-param">msgobj</em>, <em class="sig-param">header=None</em>, <em class="sig-param">senders=None</em>, <em class="sig-param">sender_strings=None</em>, <em class="sig-param">keep_log=None</em>, <em class="sig-param">online=False</em>, <em class="sig-param">emit=False</em>, <em class="sig-param">external=False</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 the given message to all accounts connected to channel. Note that
|
||
no permission-checking is done here; it is assumed to have been
|
||
done before calling this method. The optional keywords are not used if
|
||
persistent is False.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>msgobj</strong> (<a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg"><em>Msg</em></a><em>, </em><a class="reference internal" href="#evennia.comms.models.TempMsg" title="evennia.comms.models.TempMsg"><em>TempMsg</em></a><em> or </em><em>str</em>) – If a Msg/TempMsg, the remaining
|
||
keywords will be ignored (since the Msg/TempMsg object already
|
||
has all the data). If a string, this will either be sent as-is
|
||
(if persistent=False) or it will be used together with <cite>header</cite>
|
||
and <cite>senders</cite> keywords to create a Msg instance on the fly.</p></li>
|
||
<li><p><strong>header</strong> (<em>str</em><em>, </em><em>optional</em>) – A header for building the message.</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>) – Optional if persistent=False, used
|
||
to build senders for the message.</p></li>
|
||
<li><p><strong>sender_strings</strong> (<em>list</em><em>, </em><em>optional</em>) – Name strings of senders. Used for external
|
||
connections where the sender is not an account or object.
|
||
When this is defined, external will be assumed.</p></li>
|
||
<li><p><strong>keep_log</strong> (<em>bool</em><em> or </em><em>None</em><em>, </em><em>optional</em>) – This allows to temporarily change the logging status of
|
||
this channel message. If <cite>None</cite>, the Channel’s <cite>keep_log</cite> Attribute will
|
||
be used. If <cite>True</cite> or <cite>False</cite>, that logging status will be used for this
|
||
message only (note that for unlogged channels, a <cite>True</cite> value here will
|
||
create a new log file only for this message).</p></li>
|
||
<li><p><strong>online</strong> (<em>bool</em><em>, </em><em>optional</em>) – online. Otherwise, messages all accounts connected. This can
|
||
make things faster, but may not trigger listeners on accounts
|
||
that are offline.</p></li>
|
||
<li><p><strong>emit</strong> (<em>bool</em><em>, </em><em>optional</em>) – not to be directly associated with a name.</p></li>
|
||
<li><p><strong>external</strong> (<em>bool</em><em>, </em><em>optional</em>) – Treat this message as being
|
||
agnostic of its sender.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><dl class="simple">
|
||
<dt>Returns <cite>True</cite> if message sending was</dt><dd><p>successful, <cite>False</cite> otherwise.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>success (bool)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.mute">
|
||
<code class="sig-name descname">mute</code><span class="sig-paren">(</span><em class="sig-param">subscriber</em>, <em class="sig-param">**kwargs</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>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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="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="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="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">msgobj</em>, <em class="sig-param">sender_string</em>, <em class="sig-param">**kwargs</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><p>Hook method. Detects if the sender is posing, and modifies the
|
||
message accordingly.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>msgobj</strong> (<a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg"><em>Msg</em></a><em> or </em><a class="reference internal" href="#evennia.comms.models.TempMsg" title="evennia.comms.models.TempMsg"><em>TempMsg</em></a>) – The message to analyze for a pose.</p></li>
|
||
<li><p><strong>sender_string</strong> (<em>str</em>) – The name of the sender/poser.</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><dl class="simple">
|
||
<dt>A message that combines the <cite>sender_string</cite></dt><dd><p>component with <cite>msg</cite> in different ways depending on if a
|
||
pose was performed or not (this must be analyzed by the
|
||
hook).</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>string (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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">joiner</em>, <em class="sig-param">**kwargs</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>
|
||
</dd></dl>
|
||
|
||
<dl class="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">leaver</em>, <em class="sig-param">**kwargs</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="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">msg</em>, <em class="sig-param">**kwargs</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><p>Hook method. Run after a message is sent to the channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>msg</strong> (<a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg"><em>Msg</em></a><em> or </em><a class="reference internal" href="#evennia.comms.models.TempMsg" title="evennia.comms.models.TempMsg"><em>TempMsg</em></a>) – Message sent.</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="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">joiner</em>, <em class="sig-param">**kwargs</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>If <cite>False</cite>, channel joining is aborted.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>should_join (bool)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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">leaver</em>, <em class="sig-param">**kwargs</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>If <cite>False</cite>, channel parting is aborted.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>should_leave (bool)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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">msg</em>, <em class="sig-param">**kwargs</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><p>Hook method. Runs before a message is sent to the channel and
|
||
should return the message object, after any transformations.
|
||
If the message is to be discarded, return a false value.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>msg</strong> (<a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg"><em>Msg</em></a><em> or </em><a class="reference internal" href="#evennia.comms.models.TempMsg" title="evennia.comms.models.TempMsg"><em>TempMsg</em></a>) – Message to send.</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>If False, abort send.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>result (<a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg">Msg</a>, <a class="reference internal" href="#evennia.comms.models.TempMsg" title="evennia.comms.models.TempMsg">TempMsg</a> or bool)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.tempmsg">
|
||
<code class="sig-name descname">tempmsg</code><span class="sig-paren">(</span><em class="sig-param">message</em>, <em class="sig-param">header=None</em>, <em class="sig-param">senders=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/comms.html#DefaultChannel.tempmsg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.comms.DefaultChannel.tempmsg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for sending non-persistent messages.</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>) – Message to send.</p></li>
|
||
<li><p><strong>header</strong> (<em>str</em><em>, </em><em>optional</em>) – Header of message to send.</p></li>
|
||
<li><p><strong>senders</strong> (<em>Object</em><em> or </em><em>list</em><em>, </em><em>optional</em>) – Senders of message to send.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.comms.DefaultChannel.unmute">
|
||
<code class="sig-name descname">unmute</code><span class="sig-paren">(</span><em class="sig-param">subscriber</em>, <em class="sig-param">**kwargs</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 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>) – 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>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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>URI path to Django Admin page for object.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>path (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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>URI path to object creation page, if defined.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>path (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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>URI path to object deletion page, if defined.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>path (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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.
|
||
url(r’channels/(?P<slug>[wd-]+)/$’,</p>
|
||
<blockquote>
|
||
<div><p>ChannelDetailView.as_view(), name=’channel-detail’)</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 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>URI path to object detail page, if defined.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>path (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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.
|
||
url(r’channels/(?P<slug>[wd-]+)/(?P<pk>[0-9]+)/change/$’,</p>
|
||
<blockquote>
|
||
<div><p>ChannelUpdateView.as_view(), name=’channel-update’)</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 modify objects is the developer’s
|
||
responsibility.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p>URI path to object update page, if defined.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>path (str)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="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>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.comms.managers">
|
||
<span id="evennia-comms-managers-module"></span><h2>evennia.comms.managers module<a class="headerlink" href="#module-evennia.comms.managers" title="Permalink to this headline">¶</a></h2>
|
||
<p>These managers define helper methods for accessing the database from
|
||
Comm system components.</p>
|
||
<dl class="class">
|
||
<dt id="evennia.comms.managers.ChannelDBManager">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.managers.</code><code class="sig-name descname">ChannelDBManager</code><a class="reference internal" href="../_modules/evennia/comms/managers.html#ChannelDBManager"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.ChannelDBManager" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.typeclasses.html#evennia.typeclasses.managers.TypedObjectManager" title="evennia.typeclasses.managers.TypedObjectManager"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.typeclasses.managers.TypedObjectManager</span></code></a></p>
|
||
<p>This ChannelManager implements methods for searching and
|
||
manipulating Channels directly from the database.</p>
|
||
<p>These methods will all return database objects (or QuerySets)
|
||
directly.</p>
|
||
<p>A Channel is an in-game venue for communication. It’s essentially
|
||
representation of a re-sender: Users sends Messages to the
|
||
Channel, and the Channel re-sends those messages to all users
|
||
subscribed to the Channel.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.ChannelDBManager.channel_search">
|
||
<code class="sig-name descname">channel_search</code><span class="sig-paren">(</span><em class="sig-param">ostring</em>, <em class="sig-param">exact=True</em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.managers.ChannelDBManager.channel_search" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Search the channel database for a particular channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>ostring</strong> (<em>str</em>) – The key or database id of the channel.</p></li>
|
||
<li><p><strong>exact</strong> (<em>bool</em><em>, </em><em>optional</em>) – Require an exact (but not
|
||
case sensitive) match.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.ChannelDBManager.get_all_channels">
|
||
<code class="sig-name descname">get_all_channels</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#ChannelDBManager.get_all_channels"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.ChannelDBManager.get_all_channels" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Get all channels.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Returns</dt>
|
||
<dd class="field-odd"><p>All channels in game.</p>
|
||
</dd>
|
||
<dt class="field-even">Return type</dt>
|
||
<dd class="field-even"><p>channels (list)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.ChannelDBManager.get_channel">
|
||
<code class="sig-name descname">get_channel</code><span class="sig-paren">(</span><em class="sig-param">channelkey</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#ChannelDBManager.get_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.ChannelDBManager.get_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Return the channel object if given its key.
|
||
Also searches its aliases.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>channelkey</strong> (<em>str</em>) – Channel key to search for.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>A channel match.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>channel (Channel or None)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.ChannelDBManager.get_subscriptions">
|
||
<code class="sig-name descname">get_subscriptions</code><span class="sig-paren">(</span><em class="sig-param">subscriber</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#ChannelDBManager.get_subscriptions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.ChannelDBManager.get_subscriptions" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Return all channels a given entity is subscribed to.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>subscriber</strong> (<em>Object</em><em> or </em><em>Account</em>) – The one subscribing.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>Channel subscribed to.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>subscriptions (list)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.ChannelDBManager.search_channel">
|
||
<code class="sig-name descname">search_channel</code><span class="sig-paren">(</span><em class="sig-param">ostring</em>, <em class="sig-param">exact=True</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#ChannelDBManager.search_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.ChannelDBManager.search_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Search the channel database for a particular channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>ostring</strong> (<em>str</em>) – The key or database id of the channel.</p></li>
|
||
<li><p><strong>exact</strong> (<em>bool</em><em>, </em><em>optional</em>) – Require an exact (but not
|
||
case sensitive) match.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.comms.managers.ChannelManager">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.managers.</code><code class="sig-name descname">ChannelManager</code><a class="reference internal" href="../_modules/evennia/comms/managers.html#ChannelManager"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.ChannelManager" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="#evennia.comms.managers.ChannelDBManager" title="evennia.comms.managers.ChannelDBManager"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.comms.managers.ChannelDBManager</span></code></a>, <code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.typeclasses.managers.TypeclassManager</span></code></p>
|
||
<p>Wrapper to group the typeclass manager to a consistent name.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="exception">
|
||
<dt id="evennia.comms.managers.CommError">
|
||
<em class="property">exception </em><code class="sig-prename descclassname">evennia.comms.managers.</code><code class="sig-name descname">CommError</code><a class="reference internal" href="../_modules/evennia/comms/managers.html#CommError"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.CommError" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></p>
|
||
<p>Raised by comm system, to allow feedback to player when caught.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.comms.managers.MsgManager">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.managers.</code><code class="sig-name descname">MsgManager</code><a class="reference internal" href="../_modules/evennia/comms/managers.html#MsgManager"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.MsgManager" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.typeclasses.html#evennia.typeclasses.managers.TypedObjectManager" title="evennia.typeclasses.managers.TypedObjectManager"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.typeclasses.managers.TypedObjectManager</span></code></a></p>
|
||
<p>This MsgManager implements methods for searching and manipulating
|
||
Messages directly from the database.</p>
|
||
<p>These methods will all return database objects (or QuerySets)
|
||
directly.</p>
|
||
<p>A Message represents one unit of communication, be it over a
|
||
Channel or via some form of in-game mail system. Like an e-mail,
|
||
it always has a sender and can have any number of receivers (some
|
||
of which may be Channels).</p>
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.MsgManager.get_message_by_id">
|
||
<code class="sig-name descname">get_message_by_id</code><span class="sig-paren">(</span><em class="sig-param">idnum</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#MsgManager.get_message_by_id"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.MsgManager.get_message_by_id" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Retrieve message by its id.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>idnum</strong> (<em>int</em><em> or </em><em>str</em>) – The dbref to retrieve.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>The message.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>message (<a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg">Msg</a>)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.MsgManager.get_messages_by_channel">
|
||
<code class="sig-name descname">get_messages_by_channel</code><span class="sig-paren">(</span><em class="sig-param">channel</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#MsgManager.get_messages_by_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.MsgManager.get_messages_by_channel" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Get all persistent messages sent to one channel.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>channel</strong> (<em>Channel</em>) – The channel to find messages for.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>Persistent Msg objects saved for this channel.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>messages (list)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.MsgManager.get_messages_by_receiver">
|
||
<code class="sig-name descname">get_messages_by_receiver</code><span class="sig-paren">(</span><em class="sig-param">recipient</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#MsgManager.get_messages_by_receiver"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.MsgManager.get_messages_by_receiver" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Get all messages sent to one given recipient.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>recipient</strong> (<em>Object</em><em>, </em><em>Account</em><em> or </em><em>Channel</em>) – The recipient of the messages to search for.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>Matching messages.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>messages (list)</p>
|
||
</dd>
|
||
<dt class="field-even">Raises</dt>
|
||
<dd class="field-even"><p><a class="reference internal" href="#evennia.comms.managers.CommError" title="evennia.comms.managers.CommError"><strong>CommError</strong></a> – If the <cite>recipient</cite> is not of a valid type.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.MsgManager.get_messages_by_sender">
|
||
<code class="sig-name descname">get_messages_by_sender</code><span class="sig-paren">(</span><em class="sig-param">sender</em>, <em class="sig-param">exclude_channel_messages=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#MsgManager.get_messages_by_sender"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.MsgManager.get_messages_by_sender" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Get all messages sent by one entity - this could be either a
|
||
account or an object</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>sender</strong> (<em>Account</em><em> or </em><em>Object</em>) – The sender of the message.</p></li>
|
||
<li><p><strong>exclude_channel_messages</strong> (<em>bool</em><em>, </em><em>optional</em>) – Only return messages
|
||
not aimed at a channel (that is, private tells for example)</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>List of matching messages</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>messages (list)</p>
|
||
</dd>
|
||
<dt class="field-even">Raises</dt>
|
||
<dd class="field-even"><p><a class="reference internal" href="#evennia.comms.managers.CommError" title="evennia.comms.managers.CommError"><strong>CommError</strong></a> – For incorrect sender types.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.MsgManager.identify_object">
|
||
<code class="sig-name descname">identify_object</code><span class="sig-paren">(</span><em class="sig-param">inp</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#MsgManager.identify_object"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.MsgManager.identify_object" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Wrapper to identify_object if accessing via the manager directly.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>inp</strong> (<em>any</em>) – Entity to be idtified.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><dl class="simple">
|
||
<dt>This is a tuple with (<cite>inp</cite>, identifier)</dt><dd><p>where <cite>identifier</cite> is one of “account”, “object”, “channel”,
|
||
“string”, “dbref” or None.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>identified (tuple)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.MsgManager.message_search">
|
||
<code class="sig-name descname">message_search</code><span class="sig-paren">(</span><em class="sig-param">sender=None</em>, <em class="sig-param">receiver=None</em>, <em class="sig-param">freetext=None</em>, <em class="sig-param">dbref=None</em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.managers.MsgManager.message_search" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Search the message database for particular messages. At least
|
||
one of the arguments must be given to do a search.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>sender</strong> (<em>Object</em><em> or </em><em>Account</em><em>, </em><em>optional</em>) – Get messages sent by a particular account or object</p></li>
|
||
<li><p><strong>receiver</strong> (<em>Object</em><em>, </em><em>Account</em><em> or </em><em>Channel</em><em>, </em><em>optional</em>) – Get messages
|
||
received by a certain account,object or channel</p></li>
|
||
<li><p><strong>freetext</strong> (<em>str</em>) – Search for a text string in a message. NOTE:
|
||
This can potentially be slow, so make sure to supply one of
|
||
the other arguments to limit the search.</p></li>
|
||
<li><p><strong>dbref</strong> (<em>int</em>) – The exact database id of the message. This will override
|
||
all other search criteria since it’s unique and
|
||
always gives only one match.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>A list of message matches or a single match if <cite>dbref</cite> was given.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>messages (list or <a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg">Msg</a>)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.managers.MsgManager.search_message">
|
||
<code class="sig-name descname">search_message</code><span class="sig-paren">(</span><em class="sig-param">sender=None</em>, <em class="sig-param">receiver=None</em>, <em class="sig-param">freetext=None</em>, <em class="sig-param">dbref=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#MsgManager.search_message"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.MsgManager.search_message" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Search the message database for particular messages. At least
|
||
one of the arguments must be given to do a search.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>sender</strong> (<em>Object</em><em> or </em><em>Account</em><em>, </em><em>optional</em>) – Get messages sent by a particular account or object</p></li>
|
||
<li><p><strong>receiver</strong> (<em>Object</em><em>, </em><em>Account</em><em> or </em><em>Channel</em><em>, </em><em>optional</em>) – Get messages
|
||
received by a certain account,object or channel</p></li>
|
||
<li><p><strong>freetext</strong> (<em>str</em>) – Search for a text string in a message. NOTE:
|
||
This can potentially be slow, so make sure to supply one of
|
||
the other arguments to limit the search.</p></li>
|
||
<li><p><strong>dbref</strong> (<em>int</em>) – The exact database id of the message. This will override
|
||
all other search criteria since it’s unique and
|
||
always gives only one match.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>A list of message matches or a single match if <cite>dbref</cite> was given.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>messages (list or <a class="reference internal" href="#evennia.comms.models.Msg" title="evennia.comms.models.Msg">Msg</a>)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.comms.managers._GA">
|
||
<code class="sig-prename descclassname">evennia.comms.managers.</code><code class="sig-name descname">_GA</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.managers._GA" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Return getattr(self, name).</p>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.comms.managers.identify_object">
|
||
<code class="sig-prename descclassname">evennia.comms.managers.</code><code class="sig-name descname">identify_object</code><span class="sig-paren">(</span><em class="sig-param">inp</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#identify_object"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.identify_object" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Helper function. Identifies if an object is an account or an object;
|
||
return its database model</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>inp</strong> (<em>any</em>) – Entity to be idtified.</p>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p><dl class="simple">
|
||
<dt>This is a tuple with (<cite>inp</cite>, identifier)</dt><dd><p>where <cite>identifier</cite> is one of “account”, “object”, “channel”,
|
||
“string”, “dbref” or None.</p>
|
||
</dd>
|
||
</dl>
|
||
</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>identified (tuple)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="function">
|
||
<dt id="evennia.comms.managers.to_object">
|
||
<code class="sig-prename descclassname">evennia.comms.managers.</code><code class="sig-name descname">to_object</code><span class="sig-paren">(</span><em class="sig-param">inp</em>, <em class="sig-param">objtype='account'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/managers.html#to_object"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.managers.to_object" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Locates the object related to the given accountname or channel key.
|
||
If input was already the correct object, return it.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>inp</strong> (<em>any</em>) – The input object/string</p></li>
|
||
<li><p><strong>objtype</strong> (<em>str</em>) – Either ‘account’ or ‘channel’.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>The correct object related to <cite>inp</cite>.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>obj (object)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.comms.models">
|
||
<span id="evennia-comms-models-module"></span><h2>evennia.comms.models module<a class="headerlink" href="#module-evennia.comms.models" title="Permalink to this headline">¶</a></h2>
|
||
<p>Models for the in-game communication system.</p>
|
||
<p>The comm system could take the form of channels, but can also be
|
||
adopted for storing tells or in-game mail.</p>
|
||
<p>The comsystem’s main component is the Message (Msg), which carries the
|
||
actual information between two parties. Msgs are stored in the
|
||
database and usually not deleted. A Msg always have one sender (a
|
||
user), but can have any number targets, both users and channels.</p>
|
||
<p>For non-persistent (and slightly faster) use one can also use the
|
||
TempMsg, which mimics the Msg API but without actually saving to the
|
||
database.</p>
|
||
<p>Channels are central objects that act as targets for Msgs. Accounts can
|
||
connect to channels by use of a ChannelConnect object (this object is
|
||
necessary to easily be able to delete connections on the fly).</p>
|
||
<dl class="class">
|
||
<dt id="evennia.comms.models.Msg">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.models.</code><code class="sig-name descname">Msg</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/models.html#Msg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.Msg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.utils.idmapper.html#evennia.utils.idmapper.models.SharedMemoryModel" title="evennia.utils.idmapper.models.SharedMemoryModel"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.utils.idmapper.models.SharedMemoryModel</span></code></a></p>
|
||
<p>A single message. This model describes all ooc messages
|
||
sent in-game, both to channels and between accounts.</p>
|
||
<p>The Msg class defines the following database fields (all
|
||
accessed via specific handler methods):</p>
|
||
<ul class="simple">
|
||
<li><p>db_sender_accounts: Account senders</p></li>
|
||
<li><p>db_sender_objects: Object senders</p></li>
|
||
<li><p>db_sender_scripts: Script senders</p></li>
|
||
<li><p>db_sender_external: External senders (defined as string names)</p></li>
|
||
<li><p>db_receivers_accounts: Receiving accounts</p></li>
|
||
<li><p>db_receivers_objects: Receiving objects</p></li>
|
||
<li><p>db_receivers_scripts: Receiveing scripts</p></li>
|
||
<li><p>db_receivers_channels: Receiving channels</p></li>
|
||
<li><p>db_header: Header text</p></li>
|
||
<li><p>db_message: The actual message text</p></li>
|
||
<li><p>db_date_created: time message was created / sent</p></li>
|
||
<li><p>db_hide_from_sender: bool if message should be hidden from sender</p></li>
|
||
<li><p>db_hide_from_receivers: list of receiver objects to hide message from</p></li>
|
||
<li><p>db_hide_from_channels: list of channels objects to hide message from</p></li>
|
||
<li><p>db_lock_storage: Internal storage of lock strings.</p></li>
|
||
</ul>
|
||
<dl class="exception">
|
||
<dt id="evennia.comms.models.Msg.DoesNotExist">
|
||
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.comms.models.Msg.DoesNotExist" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">django.core.exceptions.ObjectDoesNotExist</span></code></p>
|
||
</dd></dl>
|
||
|
||
<dl class="exception">
|
||
<dt id="evennia.comms.models.Msg.MultipleObjectsReturned">
|
||
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.comms.models.Msg.MultipleObjectsReturned" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">django.core.exceptions.MultipleObjectsReturned</span></code></p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__channels_del">
|
||
<code class="sig-name descname">_Msg__channels_del</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__channels_del" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Deleter. Allows for del self.channels</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__channels_get">
|
||
<code class="sig-name descname">_Msg__channels_get</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__channels_get" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Getter. Allows for value = self.channels. Returns a list of channels.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__channels_set">
|
||
<code class="sig-name descname">_Msg__channels_set</code><span class="sig-paren">(</span><em class="sig-param">value</em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__channels_set" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Setter. Allows for self.channels = value.
|
||
Requires a channel to be added.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__hide_from_del">
|
||
<code class="sig-name descname">_Msg__hide_from_del</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__hide_from_del" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Deleter. Allows for del self.hide_from_senders</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__hide_from_get">
|
||
<code class="sig-name descname">_Msg__hide_from_get</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__hide_from_get" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Getter. Allows for value = self.hide_from.
|
||
Returns 3 lists of accounts, objects and channels</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__hide_from_set">
|
||
<code class="sig-name descname">_Msg__hide_from_set</code><span class="sig-paren">(</span><em class="sig-param">hiders</em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__hide_from_set" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Setter. Allows for self.hide_from = value. Will append to hiders</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__receivers_del">
|
||
<code class="sig-name descname">_Msg__receivers_del</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__receivers_del" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Deleter. Clears all receivers</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__receivers_get">
|
||
<code class="sig-name descname">_Msg__receivers_get</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__receivers_get" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Getter. Allows for value = self.receivers.
|
||
Returns four lists of receivers: accounts, objects, scripts and channels.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__receivers_set">
|
||
<code class="sig-name descname">_Msg__receivers_set</code><span class="sig-paren">(</span><em class="sig-param">receivers</em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__receivers_set" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Setter. Allows for self.receivers = value.
|
||
This appends a new receiver to the message.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__senders_del">
|
||
<code class="sig-name descname">_Msg__senders_del</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__senders_del" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Deleter. Clears all senders</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__senders_get">
|
||
<code class="sig-name descname">_Msg__senders_get</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__senders_get" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Getter. Allows for value = self.sender</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg._Msg__senders_set">
|
||
<code class="sig-name descname">_Msg__senders_set</code><span class="sig-paren">(</span><em class="sig-param">senders</em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg._Msg__senders_set" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Setter. Allows for self.sender = value</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/models.html#Msg.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.Msg.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Initialize self. See help(type(self)) for accurate signature.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg._is_deleted">
|
||
<code class="sig-name descname">_is_deleted</code><em class="property"> = False</em><a class="headerlink" href="#evennia.comms.models.Msg._is_deleted" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg._meta">
|
||
<code class="sig-name descname">_meta</code><em class="property"> = <Options for Msg></em><a class="headerlink" href="#evennia.comms.models.Msg._meta" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.access">
|
||
<code class="sig-name descname">access</code><span class="sig-paren">(</span><em class="sig-param">accessing_obj</em>, <em class="sig-param">access_type='read'</em>, <em class="sig-param">default=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/models.html#Msg.access"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.Msg.access" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Checks lock 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><em> or </em><em>Account</em>) – The object trying to gain access.</p></li>
|
||
<li><p><strong>access_type</strong> (<em>str</em><em>, </em><em>optional</em>) – The type of lock access to check.</p></li>
|
||
<li><p><strong>default</strong> (<em>bool</em>) – Fallback to use if <cite>access_type</cite> lock is not defined.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>If access was granted or not.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>result (bool)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.channels">
|
||
<em class="property">property </em><code class="sig-name descname">channels</code><a class="headerlink" href="#evennia.comms.models.Msg.channels" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Getter. Allows for value = self.channels. Returns a list of channels.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.date_created">
|
||
<em class="property">property </em><code class="sig-name descname">date_created</code><a class="headerlink" href="#evennia.comms.models.Msg.date_created" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <cite>db_date_created</cite>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_date_created">
|
||
<code class="sig-name descname">db_date_created</code><a class="headerlink" href="#evennia.comms.models.Msg.db_date_created" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_header">
|
||
<code class="sig-name descname">db_header</code><a class="headerlink" href="#evennia.comms.models.Msg.db_header" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_hide_from_accounts">
|
||
<code class="sig-name descname">db_hide_from_accounts</code><a class="headerlink" href="#evennia.comms.models.Msg.db_hide_from_accounts" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_hide_from_channels">
|
||
<code class="sig-name descname">db_hide_from_channels</code><a class="headerlink" href="#evennia.comms.models.Msg.db_hide_from_channels" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_hide_from_objects">
|
||
<code class="sig-name descname">db_hide_from_objects</code><a class="headerlink" href="#evennia.comms.models.Msg.db_hide_from_objects" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_lock_storage">
|
||
<code class="sig-name descname">db_lock_storage</code><a class="headerlink" href="#evennia.comms.models.Msg.db_lock_storage" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_message">
|
||
<code class="sig-name descname">db_message</code><a class="headerlink" href="#evennia.comms.models.Msg.db_message" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_receivers_accounts">
|
||
<code class="sig-name descname">db_receivers_accounts</code><a class="headerlink" href="#evennia.comms.models.Msg.db_receivers_accounts" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_receivers_channels">
|
||
<code class="sig-name descname">db_receivers_channels</code><a class="headerlink" href="#evennia.comms.models.Msg.db_receivers_channels" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_receivers_objects">
|
||
<code class="sig-name descname">db_receivers_objects</code><a class="headerlink" href="#evennia.comms.models.Msg.db_receivers_objects" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_receivers_scripts">
|
||
<code class="sig-name descname">db_receivers_scripts</code><a class="headerlink" href="#evennia.comms.models.Msg.db_receivers_scripts" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_sender_accounts">
|
||
<code class="sig-name descname">db_sender_accounts</code><a class="headerlink" href="#evennia.comms.models.Msg.db_sender_accounts" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_sender_external">
|
||
<code class="sig-name descname">db_sender_external</code><a class="headerlink" href="#evennia.comms.models.Msg.db_sender_external" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_sender_objects">
|
||
<code class="sig-name descname">db_sender_objects</code><a class="headerlink" href="#evennia.comms.models.Msg.db_sender_objects" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_sender_scripts">
|
||
<code class="sig-name descname">db_sender_scripts</code><a class="headerlink" href="#evennia.comms.models.Msg.db_sender_scripts" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.db_tags">
|
||
<code class="sig-name descname">db_tags</code><a class="headerlink" href="#evennia.comms.models.Msg.db_tags" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.get_next_by_db_date_created">
|
||
<code class="sig-name descname">get_next_by_db_date_created</code><span class="sig-paren">(</span><em class="sig-param">*</em>, <em class="sig-param">field=<django.db.models.fields.DateTimeField: db_date_created></em>, <em class="sig-param">is_next=True</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg.get_next_by_db_date_created" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.get_previous_by_db_date_created">
|
||
<code class="sig-name descname">get_previous_by_db_date_created</code><span class="sig-paren">(</span><em class="sig-param">*</em>, <em class="sig-param">field=<django.db.models.fields.DateTimeField: db_date_created></em>, <em class="sig-param">is_next=False</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.Msg.get_previous_by_db_date_created" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.header">
|
||
<em class="property">property </em><code class="sig-name descname">header</code><a class="headerlink" href="#evennia.comms.models.Msg.header" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <cite>db_header</cite>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.hide_from">
|
||
<em class="property">property </em><code class="sig-name descname">hide_from</code><a class="headerlink" href="#evennia.comms.models.Msg.hide_from" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Getter. Allows for value = self.hide_from.
|
||
Returns 3 lists of accounts, objects and channels</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.id">
|
||
<code class="sig-name descname">id</code><a class="headerlink" href="#evennia.comms.models.Msg.id" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.lock_storage">
|
||
<em class="property">property </em><code class="sig-name descname">lock_storage</code><a class="headerlink" href="#evennia.comms.models.Msg.lock_storage" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <cite>db_lock_storage</cite>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.locks">
|
||
<code class="sig-name descname">locks</code><a class="reference internal" href="../_modules/evennia/comms/models.html#Msg.locks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.Msg.locks" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.message">
|
||
<em class="property">property </em><code class="sig-name descname">message</code><a class="headerlink" href="#evennia.comms.models.Msg.message" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <cite>db_message</cite>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.objects">
|
||
<code class="sig-name descname">objects</code><em class="property"> = <evennia.comms.managers.MsgManager object></em><a class="headerlink" href="#evennia.comms.models.Msg.objects" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.path">
|
||
<code class="sig-name descname">path</code><em class="property"> = 'evennia.comms.models.Msg'</em><a class="headerlink" href="#evennia.comms.models.Msg.path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.receivers">
|
||
<em class="property">property </em><code class="sig-name descname">receivers</code><a class="headerlink" href="#evennia.comms.models.Msg.receivers" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Getter. Allows for value = self.receivers.
|
||
Returns four lists of receivers: accounts, objects, scripts and channels.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.remove_receiver">
|
||
<code class="sig-name descname">remove_receiver</code><span class="sig-paren">(</span><em class="sig-param">receivers</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/models.html#Msg.remove_receiver"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.Msg.remove_receiver" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Remove a single receiver or a list of receivers.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>receivers</strong> (<em>Account</em><em>, </em><em>Object</em><em>, </em><em>Script</em><em>, </em><em>Channel</em><em> or </em><em>list</em>) – Receiver to remove.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.remove_sender">
|
||
<code class="sig-name descname">remove_sender</code><span class="sig-paren">(</span><em class="sig-param">senders</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/models.html#Msg.remove_sender"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.Msg.remove_sender" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Remove a single sender or a list of senders.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>senders</strong> (<em>Account</em><em>, </em><em>Object</em><em>, </em><em>str</em><em> or </em><em>list</em>) – Senders to remove.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.sender_external">
|
||
<em class="property">property </em><code class="sig-name descname">sender_external</code><a class="headerlink" href="#evennia.comms.models.Msg.sender_external" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for getting database field <cite>db_sender_external</cite>.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.Msg.senders">
|
||
<em class="property">property </em><code class="sig-name descname">senders</code><a class="headerlink" href="#evennia.comms.models.Msg.senders" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Getter. Allows for value = self.sender</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.tags">
|
||
<code class="sig-name descname">tags</code><a class="reference internal" href="../_modules/evennia/comms/models.html#Msg.tags"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.Msg.tags" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.Msg.typename">
|
||
<code class="sig-name descname">typename</code><em class="property"> = 'SharedMemoryModelBase'</em><a class="headerlink" href="#evennia.comms.models.Msg.typename" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.comms.models.TempMsg">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.models.</code><code class="sig-name descname">TempMsg</code><span class="sig-paren">(</span><em class="sig-param">senders=None</em>, <em class="sig-param">receivers=None</em>, <em class="sig-param">channels=None</em>, <em class="sig-param">message=''</em>, <em class="sig-param">header=''</em>, <em class="sig-param">type=''</em>, <em class="sig-param">lockstring=''</em>, <em class="sig-param">hide_from=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/models.html#TempMsg"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.TempMsg" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></p>
|
||
<p>This is a non-persistent object for sending temporary messages
|
||
that will not be stored. It mimics the “real” Msg object, but
|
||
doesn’t require sender to be given.</p>
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.TempMsg.__init__">
|
||
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">senders=None</em>, <em class="sig-param">receivers=None</em>, <em class="sig-param">channels=None</em>, <em class="sig-param">message=''</em>, <em class="sig-param">header=''</em>, <em class="sig-param">type=''</em>, <em class="sig-param">lockstring=''</em>, <em class="sig-param">hide_from=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/models.html#TempMsg.__init__"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.TempMsg.__init__" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Creates the temp message.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><ul class="simple">
|
||
<li><p><strong>senders</strong> (<em>any</em><em> or </em><em>list</em><em>, </em><em>optional</em>) – Senders of the message.</p></li>
|
||
<li><p><strong>receivers</strong> (<em>Account</em><em>, </em><em>Object</em><em>, </em><em>Channel</em><em> or </em><em>list</em><em>, </em><em>optional</em>) – Receivers of this message.</p></li>
|
||
<li><p><strong>channels</strong> (<em>Channel</em><em> or </em><em>list</em><em>, </em><em>optional</em>) – Channels to send to.</p></li>
|
||
<li><p><strong>message</strong> (<em>str</em><em>, </em><em>optional</em>) – Message to send.</p></li>
|
||
<li><p><strong>header</strong> (<em>str</em><em>, </em><em>optional</em>) – Header of message.</p></li>
|
||
<li><p><strong>type</strong> (<em>str</em><em>, </em><em>optional</em>) – Message class, if any.</p></li>
|
||
<li><p><strong>lockstring</strong> (<em>str</em><em>, </em><em>optional</em>) – Lock for the message.</p></li>
|
||
<li><p><strong>hide_from</strong> (<em>Account</em><em>, </em><em>Object</em><em>, </em><em>Channel</em><em> or </em><em>list</em><em>, </em><em>optional</em>) – Entities to hide this message from.</p></li>
|
||
</ul>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.TempMsg.access">
|
||
<code class="sig-name descname">access</code><span class="sig-paren">(</span><em class="sig-param">accessing_obj</em>, <em class="sig-param">access_type='read'</em>, <em class="sig-param">default=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/models.html#TempMsg.access"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.TempMsg.access" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Checks lock 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><em> or </em><em>Account</em>) – The object trying to gain access.</p></li>
|
||
<li><p><strong>access_type</strong> (<em>str</em><em>, </em><em>optional</em>) – The type of lock access to check.</p></li>
|
||
<li><p><strong>default</strong> (<em>bool</em>) – Fallback to use if <cite>access_type</cite> lock is not defined.</p></li>
|
||
</ul>
|
||
</dd>
|
||
<dt class="field-even">Returns</dt>
|
||
<dd class="field-even"><p>If access was granted or not.</p>
|
||
</dd>
|
||
<dt class="field-odd">Return type</dt>
|
||
<dd class="field-odd"><p>result (bool)</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.TempMsg.locks">
|
||
<code class="sig-name descname">locks</code><a class="reference internal" href="../_modules/evennia/comms/models.html#TempMsg.locks"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.TempMsg.locks" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.TempMsg.remove_receiver">
|
||
<code class="sig-name descname">remove_receiver</code><span class="sig-paren">(</span><em class="sig-param">receiver</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/models.html#TempMsg.remove_receiver"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.TempMsg.remove_receiver" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Remove a receiver or a list of receivers</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>receiver</strong> (<em>Object</em><em>, </em><em>Account</em><em>, </em><em>Channel</em><em>, </em><em>str</em><em> or </em><em>list</em>) – Receivers to remove.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.TempMsg.remove_sender">
|
||
<code class="sig-name descname">remove_sender</code><span class="sig-paren">(</span><em class="sig-param">sender</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/models.html#TempMsg.remove_sender"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.TempMsg.remove_sender" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Remove a sender or a list of senders.</p>
|
||
<dl class="field-list simple">
|
||
<dt class="field-odd">Parameters</dt>
|
||
<dd class="field-odd"><p><strong>sender</strong> (<em>Object</em><em>, </em><em>Account</em><em>, </em><em>str</em><em> or </em><em>list</em>) – Senders to remove.</p>
|
||
</dd>
|
||
</dl>
|
||
</dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
<dl class="class">
|
||
<dt id="evennia.comms.models.ChannelDB">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.models.</code><code class="sig-name descname">ChannelDB</code><span class="sig-paren">(</span><em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/models.html#ChannelDB"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.ChannelDB" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.typeclasses.html#evennia.typeclasses.models.TypedObject" title="evennia.typeclasses.models.TypedObject"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.typeclasses.models.TypedObject</span></code></a></p>
|
||
<p>This is the basis of a comm channel, only implementing
|
||
the very basics of distributing messages.</p>
|
||
<p>The Channel class defines the following database fields
|
||
beyond the ones inherited from TypedObject:</p>
|
||
<blockquote>
|
||
<div><ul class="simple">
|
||
<li><p>db_account_subscriptions: The Account subscriptions.</p></li>
|
||
<li><p>db_object_subscriptions: The Object subscriptions.</p></li>
|
||
</ul>
|
||
</div></blockquote>
|
||
<dl class="exception">
|
||
<dt id="evennia.comms.models.ChannelDB.DoesNotExist">
|
||
<em class="property">exception </em><code class="sig-name descname">DoesNotExist</code><a class="headerlink" href="#evennia.comms.models.ChannelDB.DoesNotExist" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">django.core.exceptions.ObjectDoesNotExist</span></code></p>
|
||
</dd></dl>
|
||
|
||
<dl class="exception">
|
||
<dt id="evennia.comms.models.ChannelDB.MultipleObjectsReturned">
|
||
<em class="property">exception </em><code class="sig-name descname">MultipleObjectsReturned</code><a class="headerlink" href="#evennia.comms.models.ChannelDB.MultipleObjectsReturned" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <code class="xref py py-class docutils literal notranslate"><span class="pre">django.core.exceptions.MultipleObjectsReturned</span></code></p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB._is_deleted">
|
||
<code class="sig-name descname">_is_deleted</code><em class="property"> = False</em><a class="headerlink" href="#evennia.comms.models.ChannelDB._is_deleted" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB._meta">
|
||
<code class="sig-name descname">_meta</code><em class="property"> = <Options for ChannelDB></em><a class="headerlink" href="#evennia.comms.models.ChannelDB._meta" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB.channel_set">
|
||
<code class="sig-name descname">channel_set</code><a class="headerlink" href="#evennia.comms.models.ChannelDB.channel_set" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB.db_account_subscriptions">
|
||
<code class="sig-name descname">db_account_subscriptions</code><a class="headerlink" href="#evennia.comms.models.ChannelDB.db_account_subscriptions" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB.db_attributes">
|
||
<code class="sig-name descname">db_attributes</code><a class="headerlink" href="#evennia.comms.models.ChannelDB.db_attributes" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB.db_object_subscriptions">
|
||
<code class="sig-name descname">db_object_subscriptions</code><a class="headerlink" href="#evennia.comms.models.ChannelDB.db_object_subscriptions" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB.db_tags">
|
||
<code class="sig-name descname">db_tags</code><a class="headerlink" href="#evennia.comms.models.ChannelDB.db_tags" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.ChannelDB.get_next_by_db_date_created">
|
||
<code class="sig-name descname">get_next_by_db_date_created</code><span class="sig-paren">(</span><em class="sig-param">*</em>, <em class="sig-param">field=<django.db.models.fields.DateTimeField: db_date_created></em>, <em class="sig-param">is_next=True</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.ChannelDB.get_next_by_db_date_created" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.models.ChannelDB.get_previous_by_db_date_created">
|
||
<code class="sig-name descname">get_previous_by_db_date_created</code><span class="sig-paren">(</span><em class="sig-param">*</em>, <em class="sig-param">field=<django.db.models.fields.DateTimeField: db_date_created></em>, <em class="sig-param">is_next=False</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#evennia.comms.models.ChannelDB.get_previous_by_db_date_created" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB.hide_from_channels_set">
|
||
<code class="sig-name descname">hide_from_channels_set</code><a class="headerlink" href="#evennia.comms.models.ChannelDB.hide_from_channels_set" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Accessor to the related objects manager on the forward and reverse sides of
|
||
a many-to-many relation.</p>
|
||
<p>In the example:</p>
|
||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Pizza</span><span class="p">(</span><span class="n">Model</span><span class="p">):</span>
|
||
<span class="n">toppings</span> <span class="o">=</span> <span class="n">ManyToManyField</span><span class="p">(</span><span class="n">Topping</span><span class="p">,</span> <span class="n">related_name</span><span class="o">=</span><span class="s1">'pizzas'</span><span class="p">)</span>
|
||
</pre></div>
|
||
</div>
|
||
<p><code class="docutils literal notranslate"><span class="pre">Pizza.toppings</span></code> and <code class="docutils literal notranslate"><span class="pre">Topping.pizzas</span></code> are <code class="docutils literal notranslate"><span class="pre">ManyToManyDescriptor</span></code>
|
||
instances.</p>
|
||
<p>Most of the implementation is delegated to a dynamically defined manager
|
||
class built by <code class="docutils literal notranslate"><span class="pre">create_forward_many_to_many_manager()</span></code> defined below.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB.id">
|
||
<code class="sig-name descname">id</code><a class="headerlink" href="#evennia.comms.models.ChannelDB.id" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>A wrapper for a deferred-loading field. When the value is read from this
|
||
object the first time, the query is executed.</p>
|
||
</dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB.objects">
|
||
<code class="sig-name descname">objects</code><em class="property"> = <evennia.comms.managers.ChannelDBManager object></em><a class="headerlink" href="#evennia.comms.models.ChannelDB.objects" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB.path">
|
||
<code class="sig-name descname">path</code><em class="property"> = 'evennia.comms.models.ChannelDB'</em><a class="headerlink" href="#evennia.comms.models.ChannelDB.path" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB.subscriptions">
|
||
<code class="sig-name descname">subscriptions</code><a class="reference internal" href="../_modules/evennia/comms/models.html#ChannelDB.subscriptions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.models.ChannelDB.subscriptions" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="attribute">
|
||
<dt id="evennia.comms.models.ChannelDB.typename">
|
||
<code class="sig-name descname">typename</code><em class="property"> = 'SharedMemoryModelBase'</em><a class="headerlink" href="#evennia.comms.models.ChannelDB.typename" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
<div class="section" id="module-evennia.comms.tests">
|
||
<span id="evennia-comms-tests-module"></span><h2>evennia.comms.tests module<a class="headerlink" href="#module-evennia.comms.tests" title="Permalink to this headline">¶</a></h2>
|
||
<dl class="class">
|
||
<dt id="evennia.comms.tests.ObjectCreationTest">
|
||
<em class="property">class </em><code class="sig-prename descclassname">evennia.comms.tests.</code><code class="sig-name descname">ObjectCreationTest</code><span class="sig-paren">(</span><em class="sig-param">methodName='runTest'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/tests.html#ObjectCreationTest"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.tests.ObjectCreationTest" title="Permalink to this definition">¶</a></dt>
|
||
<dd><p>Bases: <a class="reference internal" href="evennia.utils.html#evennia.utils.test_resources.EvenniaTest" title="evennia.utils.test_resources.EvenniaTest"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.utils.test_resources.EvenniaTest</span></code></a></p>
|
||
<dl class="method">
|
||
<dt id="evennia.comms.tests.ObjectCreationTest.test_channel_create">
|
||
<code class="sig-name descname">test_channel_create</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/tests.html#ObjectCreationTest.test_channel_create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.tests.ObjectCreationTest.test_channel_create" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
<dl class="method">
|
||
<dt id="evennia.comms.tests.ObjectCreationTest.test_message_create">
|
||
<code class="sig-name descname">test_message_create</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/comms/tests.html#ObjectCreationTest.test_message_create"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.comms.tests.ObjectCreationTest.test_message_create" title="Permalink to this definition">¶</a></dt>
|
||
<dd></dd></dl>
|
||
|
||
</dd></dl>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
|
||
<div class="sphinxsidebarwrapper">
|
||
<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>
|
||
<p><h3><a href="../index.html">Table of Contents</a></h3>
|
||
<ul>
|
||
<li><a class="reference internal" href="#">evennia.comms package</a><ul>
|
||
<li><a class="reference internal" href="#subpackages">Subpackages</a></li>
|
||
<li><a class="reference internal" href="#submodules">Submodules</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.comms.admin">evennia.comms.admin module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.comms.channelhandler">evennia.comms.channelhandler module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.comms.comms">evennia.comms.comms module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.comms.managers">evennia.comms.managers module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.comms.models">evennia.comms.models module</a></li>
|
||
<li><a class="reference internal" href="#module-evennia.comms.tests">evennia.comms.tests module</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
<div class="relations">
|
||
<h3>Related Topics</h3>
|
||
<ul>
|
||
<li><a href="../index.html">Documentation overview</a><ul>
|
||
</ul></li>
|
||
</ul>
|
||
</div>
|
||
<div role="note" aria-label="source link">
|
||
<!--h3>This Page</h3-->
|
||
<ul class="this-page-menu">
|
||
<li><a href="../_sources/api/evennia.comms.rst.txt"
|
||
rel="nofollow">Show Page Source</a></li>
|
||
</ul>
|
||
</div>
|
||
<h3>Versions</h3>
|
||
<ul>
|
||
<li><a href="evennia.comms.html">1.0-dev (develop branch)</a></li>
|
||
<li><a href="../../0.9.1/api/evennia.comms.html">0.9.1 (master branch)</a></li>
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="footer">
|
||
©2020, The Evennia developer community.
|
||
|
||
|
|
||
Powered by <a href="http://sphinx-doc.org/">Sphinx 2.4.4</a>
|
||
& <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
|
||
|
||
|
|
||
<a href="../_sources/api/evennia.comms.rst.txt"
|
||
rel="nofollow">Page source</a>
|
||
</div>
|
||
|
||
|
||
|
||
|
||
</body>
|
||
</html> |