evennia/docs/1.x/api/evennia.commands.default.comms.html
2023-12-20 19:01:27 +01:00

1433 lines
No EOL
103 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.17.1: http://docutils.sourceforge.net/" />
<title>evennia.commands.default.comms &#8212; Evennia 1.0 documentation</title>
<link rel="stylesheet" href="../_static/nature.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
<script src="../_static/jquery.js"></script>
<script src="../_static/underscore.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/language_data.js"></script>
<link rel="shortcut icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="evennia.commands.default.general" href="evennia.commands.default.general.html" />
<link rel="prev" title="evennia.commands.default.cmdset_unloggedin" href="evennia.commands.default.cmdset_unloggedin.html" />
</head><body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.commands.default.general.html" title="evennia.commands.default.general"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="evennia.commands.default.cmdset_unloggedin.html" title="evennia.commands.default.cmdset_unloggedin"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.commands.html" >evennia.commands</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.commands.default.html" accesskey="U">evennia.commands.default</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.commands.default.comms</a></li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/evennia_logo.png" alt="Logo"/>
</a></p>
<div id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" />
<input type="submit" value="Go" />
</form>
</div>
</div>
<script>$('#searchbox').show(0);</script>
<h4>Previous topic</h4>
<p class="topless"><a href="evennia.commands.default.cmdset_unloggedin.html"
title="previous chapter">evennia.commands.default.cmdset_unloggedin</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="evennia.commands.default.general.html"
title="next chapter">evennia.commands.default.general</a></p>
<div role="note" aria-label="source link">
<!--h3>This Page</h3-->
<ul class="this-page-menu">
<li><a href="../_sources/api/evennia.commands.default.comms.md.txt"
rel="nofollow">Show Page Source</a></li>
</ul>
</div><h3>Links</h3>
<ul>
<li><a href="https://www.evennia.com">Home page</a> </li>
<li><a href="https://github.com/evennia/evennia">Evennia Github</a> </li>
<li><a href="http://games.evennia.com">Game Index</a> </li>
<li>
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
<a href="https://evennia.blogspot.com/">Blog</a>
</li>
</ul>
</div>
</div>
<div class="bodywrapper">
<div class="body" role="main">
<section id="module-evennia.commands.default.comms">
<span id="evennia-commands-default-comms"></span><h1>evennia.commands.default.comms<a class="headerlink" href="#module-evennia.commands.default.comms" title="Permalink to this headline"></a></h1>
<p>Communication commands:</p>
<ul class="simple">
<li><p>channel</p></li>
<li><p>page</p></li>
<li><p>irc/rss/grapevine/discord linking</p></li>
</ul>
<dl class="py class">
<dt id="evennia.commands.default.comms.CmdChannel">
<em class="property">class </em><code class="sig-prename descclassname">evennia.commands.default.comms.</code><code class="sig-name descname">CmdChannel</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.default.muxcommand.html#evennia.commands.default.muxcommand.MuxCommand" title="evennia.commands.default.muxcommand.MuxCommand"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.default.muxcommand.MuxCommand</span></code></a></p>
<p>Use and manage in-game channels.</p>
<dl>
<dt>Usage:</dt><dd><p>channel channelname &lt;msg&gt;
channel channel name = &lt;msg&gt;
channel (show all subscription)
channel/all (show available channels)
channel/alias channelname = alias[;alias…]
channel/unalias alias
channel/who channelname
channel/history channelname [= index]
channel/sub channelname [= alias[;alias…]]
channel/unsub channelname[,channelname, …]
channel/mute channelname[,channelname,…]
channel/unmute channelname[,channelname,…]</p>
<p>channel/create channelname[;alias;alias[:typeclass]] [= description]
channel/destroy channelname [= reason]
channel/desc channelname = description
channel/lock channelname = lockstring
channel/unlock channelname = lockstring
channel/ban channelname (list bans)
channel/ban[/quiet] channelname[, channelname, …] = subscribername [: reason]
channel/unban[/quiet] channelname[, channelname, …] = subscribername
channel/boot[/quiet] channelname[,channelname,…] = subscribername [: reason]</p>
</dd>
</dl>
<dl class="simple">
<dt>Usage: channel channelname msg</dt><dd><p>channel channel name = msg (with space in channel name)</p>
</dd>
</dl>
<p>This sends a message to the channel. Note that you will rarely use this
command like this; instead you can use the alias</p>
<blockquote>
<div><p>channelname &lt;msg&gt;
channelalias &lt;msg&gt;</p>
</div></blockquote>
<p>For example</p>
<blockquote>
<div><p>public Hello World
pub Hello World</p>
</div></blockquote>
<p>(this shortcut doesnt work for aliases containing spaces)</p>
<p>See channel/alias for help on setting channel aliases.</p>
<dl class="simple">
<dt>Usage: channel/alias channel = alias[;alias[;alias…]]</dt><dd><p>channel/unalias alias
channel - this will list your subs and aliases to each channel</p>
</dd>
</dl>
<p>Set one or more personal aliases for referencing a channel. For example:</p>
<blockquote>
<div><p>channel/alias warriors guild = warrior;wguild;warchannel;warrior guild</p>
</div></blockquote>
<p>You can now send to the channel using all of these:</p>
<blockquote>
<div><p>warriors guild Hello
warrior Hello
wguild Hello
warchannel Hello</p>
</div></blockquote>
<p>Note that this will not work if the alias has a space in it. So the
warrior guild alias must be used with the <strong>channel</strong> command:</p>
<blockquote>
<div><p>channel warrior guild = Hello</p>
</div></blockquote>
<p>Channel-aliases can be removed one at a time, using the /unalias switch.</p>
<p>Usage: channel/who channelname</p>
<p>List the channels subscribers. Shows who are currently offline or are
muting the channel. Subscribers who are muting will not see messages sent
to the channel (use channel/mute to mute a channel).</p>
<p>Usage: channel/history channel [= index]</p>
<p>This will display the last <a href="#id1"><span class="problematic" id="id2">|</span></a>c20|n lines of channel history. By supplying an
index number, you will step that many lines back before viewing those 20 lines.</p>
<p>For example:</p>
<blockquote>
<div><p>channel/history public = 35</p>
</div></blockquote>
<p>will go back 35 lines and show the previous 20 lines from that point (so
lines -35 to -55).</p>
<dl class="simple">
<dt>Usage: channel/sub channel [=alias[;alias;…]]</dt><dd><p>channel/unsub channel</p>
</dd>
</dl>
<p>This subscribes you to a channel and optionally assigns personal shortcuts
for you to use to send to that channel (see aliases). When you unsub, all
your personal aliases will also be removed.</p>
<dl class="simple">
<dt>Usage: channel/mute channelname</dt><dd><p>channel/unmute channelname</p>
</dd>
</dl>
<p>Muting silences all output from the channel without actually
un-subscribing. Other channel members will see that you are muted in the /who
list. Sending a message to the channel will automatically unmute you.</p>
<dl class="simple">
<dt>Usage: channel/create channelname[;alias;alias[:typeclass]] [= description]</dt><dd><p>channel/destroy channelname [= reason]</p>
</dd>
</dl>
<p>Creates a new channel (or destroys one you control). You will automatically
join the channel you create and everyone will be kicked and loose all aliases
to a destroyed channel.</p>
<dl class="simple">
<dt>Usage: channel/lock channelname = lockstring</dt><dd><p>channel/unlock channelname = lockstring</p>
</dd>
</dl>
<p>Note: this is an admin command.</p>
<p>A lockstring is on the form locktype:lockfunc(). Channels understand three
locktypes:</p>
<blockquote>
<div><p>listen - who may listen or join the channel.
send - who may send messages to the channel
control - who controls the channel. This is usually the one creating</p>
<blockquote>
<div><p>the channel.</p>
</div></blockquote>
</div></blockquote>
<p>Common lockfuncs are all() and perm(). To make a channel everyone can
listen to but only builders can talk on, use this:</p>
<blockquote>
<div><p>listen:all()
send: perm(Builders)</p>
</div></blockquote>
<dl class="simple">
<dt>Usage:</dt><dd><p>channel/boot[/quiet] channelname[,channelname,…] = subscribername [: reason]
channel/ban channelname[, channelname, …] = subscribername [: reason]
channel/unban channelname[, channelname, …] = subscribername
channel/unban channelname
channel/ban channelname (list bans)</p>
</dd>
</dl>
<p>Booting will kick a named subscriber from channel(s) temporarily. The
reason will be passed to the booted user. Unless the /quiet switch is
used, the channel will also be informed of the action. A booted user is
still able to re-connect, but theyll have to set up their aliases again.</p>
<p>Banning will blacklist a user from (re)joining the provided channels. It
will then proceed to boot them from those channels if they were connected.
The reason and <strong>/quiet</strong> works the same as for booting.</p>
<p class="rubric">Example</p>
<p>boot mychannel1 = EvilUser : Kicking you to cool down a bit.
ban mychannel1,mychannel2= EvilUser : Was banned for spamming.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannel.key">
<code class="sig-name descname">key</code><em class="property"> = '&#64;channel'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannel.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['&#64;channels', '&#64;chan']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannel.help_category">
<code class="sig-name descname">help_category</code><em class="property"> = 'comms'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.help_category" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannel.locks">
<code class="sig-name descname">locks</code><em class="property"> = 'cmd:not pperm(channel_banned);admin:all();manage:all();changelocks:perm(Admin)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.locks" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannel.switch_options">
<code class="sig-name descname">switch_options</code><em class="property"> = ('list', 'all', 'history', 'sub', 'unsub', 'mute', 'unmute', 'alias', 'unalias', 'create', 'destroy', 'desc', 'lock', 'unlock', 'boot', 'ban', 'unban', 'who')</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.switch_options" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannel.account_caller">
<code class="sig-name descname">account_caller</code><em class="property"> = True</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.account_caller" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.search_channel">
<code class="sig-name descname">search_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channelname</span></em>, <em class="sig-param"><span class="n">exact</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">handle_errors</span><span class="o">=</span><span class="default_value">True</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.search_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.search_channel" title="Permalink to this definition"></a></dt>
<dd><p>Helper function for searching for a single channel with some error
handling.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>channelname</strong> (<em>str</em>) Name, alias #dbref or partial name/alias to search
for.</p></li>
<li><p><strong>exact</strong> (<em>bool</em><em>, </em><em>optional</em>) If an exact or fuzzy-match of the name should be done.
Note that even for a fuzzy match, an exactly given, unique channel name
will always be returned.</p></li>
<li><p><strong>handle_errors</strong> (<em>bool</em>) If true, use <strong>self.msg</strong> to report errors if
there are non/multiple matches. If so, the return will always be
a single match or None.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>object, list or None</em> </p>
<dl class="simple">
<dt>If <strong>handle_errors</strong> is <strong>True</strong>, this is either a found Channel</dt><dd><p>or <strong>None</strong>. Otherwise its a list of zero, one or more channels found.</p>
</dd>
</dl>
</p>
</dd>
</dl>
<p class="rubric">Notes</p>
<p>The listen and control accesses are checked before returning.</p>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.msg_channel">
<code class="sig-name descname">msg_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">message</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.msg_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.msg_channel" title="Permalink to this definition"></a></dt>
<dd><p>Send a message to a given channel. This will check the send
permission on the channel.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>channel</strong> (<em>Channel</em>) The channel to send to.</p></li>
<li><p><strong>message</strong> (<em>str</em>) The message to send.</p></li>
<li><p><strong>**kwargs</strong> Unused by default. These kwargs will be passed into
all channel messaging hooks for custom overriding.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.get_channel_history">
<code class="sig-name descname">get_channel_history</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">start_index</span><span class="o">=</span><span class="default_value">0</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.get_channel_history"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.get_channel_history" title="Permalink to this definition"></a></dt>
<dd><p>View a channels history.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>channel</strong> (<em>Channel</em>) The channel to access.</p></li>
<li><p><strong>message</strong> (<em>str</em>) The message to send.</p></li>
<li><p><strong>**kwargs</strong> Unused by default. These kwargs will be passed into
all channel messaging hooks for custom overriding.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.sub_to_channel">
<code class="sig-name descname">sub_to_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.sub_to_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.sub_to_channel" title="Permalink to this definition"></a></dt>
<dd><p>Subscribe to a channel. Note that all permissions should
be checked before this step.</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 access.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>bool, str</em> </p>
<dl class="simple">
<dt>True, None if connection failed. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.unsub_from_channel">
<code class="sig-name descname">unsub_from_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.unsub_from_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.unsub_from_channel" title="Permalink to this definition"></a></dt>
<dd><p>Un-Subscribe to a channel. Note that all permissions should
be checked before this step.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>channel</strong> (<em>Channel</em>) The channel to unsub from.</p></li>
<li><p><strong>**kwargs</strong> Passed on to nick removal.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>bool, str</em> </p>
<dl class="simple">
<dt>True, None if un-connection succeeded. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.add_alias">
<code class="sig-name descname">add_alias</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">alias</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.add_alias"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.add_alias" title="Permalink to this definition"></a></dt>
<dd><p>Add a new alias (nick) for the user to use with this channel.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>channel</strong> (<em>Channel</em>) The channel to alias.</p></li>
<li><p><strong>alias</strong> (<em>str</em>) The personal alias to use for this channel.</p></li>
<li><p><strong>**kwargs</strong> If given, passed into nicks.add.</p></li>
</ul>
</dd>
</dl>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>We add two nicks - one is a plain <strong>alias -&gt; channel.key</strong> that
we need to be able to reference this channel easily. The other
is a templated nick to easily be able to send messages to the
channel without needing to give the full <strong>channel</strong> command. The
structure of this nick is given by <strong>self.channel_msg_pattern</strong>
and <strong>self.channel_msg_nick_replacement</strong>. By default it maps
<strong>alias &lt;msg&gt; -&gt; channel &lt;channelname&gt; = &lt;msg&gt;</strong>, so that you can
for example just write <strong>pub Hello</strong> to send a message.</p>
<p>The alias created is <strong>alias $1 -&gt; channel channel = $1</strong>, to allow
for sending to channel using the main channel command.</p>
</div>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.remove_alias">
<code class="sig-name descname">remove_alias</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">alias</span></em>, <em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.remove_alias"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.remove_alias" title="Permalink to this definition"></a></dt>
<dd><p>Remove an alias from a channel.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>alias</strong> (<em>str</em><em>, </em><em>optional</em>) The alias to remove.
The channel will be reverse-determined from the
alias, if it exists.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>bool, str</em> </p>
<dl class="simple">
<dt>True, None if removal succeeded. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
<p><a href="#id3"><span class="problematic" id="id4">**</span></a>kwargs: If given, passed into nicks.get/add.</p>
</p>
</dd>
</dl>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>This will remove two nicks - the plain channel alias and the templated
nick used for easily sending messages to the channel.</p>
</div>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.get_channel_aliases">
<code class="sig-name descname">get_channel_aliases</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.get_channel_aliases"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.get_channel_aliases" title="Permalink to this definition"></a></dt>
<dd><p>Get a users aliases for a given channel. The user is retrieved
through self.caller.</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 act on.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>list</em> A list of zero, one or more alias-strings.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.mute_channel">
<code class="sig-name descname">mute_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.mute_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.mute_channel" title="Permalink to this definition"></a></dt>
<dd><p>Temporarily mute a 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 alias.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>bool, str</em> </p>
<dl class="simple">
<dt>True, None if muting successful. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.unmute_channel">
<code class="sig-name descname">unmute_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.unmute_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.unmute_channel" title="Permalink to this definition"></a></dt>
<dd><p>Unmute a 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 alias.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>bool, str</em> </p>
<dl class="simple">
<dt>True, None if unmuting successful. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.create_channel">
<code class="sig-name descname">create_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">name</span></em>, <em class="sig-param"><span class="n">description</span></em>, <em class="sig-param"><span class="n">typeclass</span><span class="o">=</span><span class="default_value">None</span></em>, <em class="sig-param"><span class="n">aliases</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.create_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.create_channel" title="Permalink to this definition"></a></dt>
<dd><p>Create a new channel. Its name must not previously exist
(users can alias as needed). Will also connect to the
new channel.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>name</strong> (<em>str</em>) The new channel name/key.</p></li>
<li><p><strong>description</strong> (<em>str</em>) This is used in listings.</p></li>
<li><p><strong>aliases</strong> (<em>list</em>) A list of strings - alternative aliases for the channel
(not to be confused with per-user aliases; these are available for
everyone).</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>channel, str</em> </p>
<dl class="simple">
<dt>new_channel, “” if creation successful. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.destroy_channel">
<code class="sig-name descname">destroy_channel</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">message</span><span class="o">=</span><span class="default_value">None</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.destroy_channel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.destroy_channel" title="Permalink to this definition"></a></dt>
<dd><p>Destroy an existing channel. Access should be checked before
calling this function.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>channel</strong> (<em>Channel</em>) The channel to alias.</p></li>
<li><p><strong>message</strong> (<em>str</em><em>, </em><em>optional</em>) Final message to send onto the channel
before destroying it. If not given, a default message is
used. Set to the empty string for no message.</p></li>
</ul>
</dd>
</dl>
<dl class="simple">
<dt>if typeclass:</dt><dd><p>pass</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.set_lock">
<code class="sig-name descname">set_lock</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">lockstring</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.set_lock"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.set_lock" title="Permalink to this definition"></a></dt>
<dd><p>Set a lockstring on a channel. Permissions must have been
checked before this call.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>channel</strong> (<em>Channel</em>) The channel to operate on.</p></li>
<li><p><strong>lockstring</strong> (<em>str</em>) A lockstring on the form type:lockfunc();…’</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>bool, str</em> </p>
<dl class="simple">
<dt>True, None if setting lock was successful. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.unset_lock">
<code class="sig-name descname">unset_lock</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">lockstring</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.unset_lock"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.unset_lock" title="Permalink to this definition"></a></dt>
<dd><p>Remove locks in a lockstring on a channel. Permissions must have been
checked before this call.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>channel</strong> (<em>Channel</em>) The channel to operate on.</p></li>
<li><p><strong>lockstring</strong> (<em>str</em>) A lockstring on the form type:lockfunc();…’</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>bool, str</em> </p>
<dl class="simple">
<dt>True, None if setting lock was successful. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.set_desc">
<code class="sig-name descname">set_desc</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">description</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.set_desc"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.set_desc" title="Permalink to this definition"></a></dt>
<dd><p>Set a channel description. This is shown in listings etc.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>caller</strong> (<em>Object</em><em> or </em><em>Account</em>) The entity performing the action.</p></li>
<li><p><strong>channel</strong> (<em>Channel</em>) The channel to operate on.</p></li>
<li><p><strong>description</strong> (<em>str</em>) A short description of the channel.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>bool, str</em> </p>
<dl class="simple">
<dt>True, None if setting lock was successful. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.boot_user">
<code class="sig-name descname">boot_user</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">target</span></em>, <em class="sig-param"><span class="n">quiet</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">reason</span><span class="o">=</span><span class="default_value">''</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.boot_user"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.boot_user" title="Permalink to this definition"></a></dt>
<dd><p>Boot a user from a channel, with optional reason. This will
also remove all their aliases for this channel.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>channel</strong> (<em>Channel</em>) The channel to operate on.</p></li>
<li><p><strong>target</strong> (<em>Object</em><em> or </em><em>Account</em>) The entity to boot.</p></li>
<li><p><strong>quiet</strong> (<em>bool</em><em>, </em><em>optional</em>) Whether or not to announce to channel.</p></li>
<li><p><strong>reason</strong> (<em>str</em><em>, </em><em>optional</em>) A reason for the boot.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>bool, str</em> </p>
<dl class="simple">
<dt>True, None if setting lock was successful. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.ban_user">
<code class="sig-name descname">ban_user</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">target</span></em>, <em class="sig-param"><span class="n">quiet</span><span class="o">=</span><span class="default_value">False</span></em>, <em class="sig-param"><span class="n">reason</span><span class="o">=</span><span class="default_value">''</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.ban_user"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.ban_user" title="Permalink to this definition"></a></dt>
<dd><p>Ban a user from a channel, by locking them out. This will also
boot them, if they are currently connected.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>channel</strong> (<em>Channel</em>) The channel to operate on.</p></li>
<li><p><strong>target</strong> (<em>Object</em><em> or </em><em>Account</em>) The entity to ban</p></li>
<li><p><strong>quiet</strong> (<em>bool</em><em>, </em><em>optional</em>) Whether or not to announce to channel.</p></li>
<li><p><strong>reason</strong> (<em>str</em><em>, </em><em>optional</em>) A reason for the ban</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>bool, str</em> </p>
<dl class="simple">
<dt>True, None if banning was successful. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.unban_user">
<code class="sig-name descname">unban_user</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em>, <em class="sig-param"><span class="n">target</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.unban_user"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.unban_user" title="Permalink to this definition"></a></dt>
<dd><p>Un-Ban a user from a channel. This will not reconnect them
to the channel, just allow them to connect again (assuming
they have the suitable listen lock like everyone else).</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>channel</strong> (<em>Channel</em>) The channel to operate on.</p></li>
<li><p><strong>target</strong> (<em>Object</em><em> or </em><em>Account</em>) The entity to unban</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>bool, str</em> </p>
<dl class="simple">
<dt>True, None if unbanning was successful. If False,</dt><dd><p>the second part is an error string.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.channel_list_bans">
<code class="sig-name descname">channel_list_bans</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.channel_list_bans"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.channel_list_bans" title="Permalink to this definition"></a></dt>
<dd><p>Show a channels bans.</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 operate on.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>list</em> A list of strings, each the name of a banned user.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.channel_list_who">
<code class="sig-name descname">channel_list_who</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">channel</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.channel_list_who"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.channel_list_who" title="Permalink to this definition"></a></dt>
<dd><p>Show a list of online people is subscribing to a channel. This will check
the control permission of <strong>caller</strong> to determine if only online users
should be returned or everyone.</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 operate on.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>list</em> </p>
<dl class="simple">
<dt>A list of prepared strings, with name + markers for if they are</dt><dd><p>muted or offline.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.list_channels">
<code class="sig-name descname">list_channels</code><span class="sig-paren">(</span><em class="sig-param">channelcls=&lt;class 'evennia.comms.comms.DefaultChannel'&gt;</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.list_channels"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.list_channels" title="Permalink to this definition"></a></dt>
<dd><p>Return a available channels.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>channelcls</strong> (<em>Channel</em><em>, </em><em>optional</em>) The channel-class to query on. Defaults
to the default channel class from settings.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><p><em>tuple</em> </p>
<dl class="simple">
<dt>A tuple <strong>(subbed_chans, available_chans)</strong> with the channels</dt><dd><p>currently subscribed to, and those we have listen access to but
dont actually sub to yet.</p>
</dd>
</dl>
</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.display_subbed_channels">
<code class="sig-name descname">display_subbed_channels</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">subscribed</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.display_subbed_channels"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.display_subbed_channels" title="Permalink to this definition"></a></dt>
<dd><p>Display channels subscribed to.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>subscribed</strong> (<em>list</em>) List of subscribed channels</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>EvTable</em> Table to display.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.display_all_channels">
<code class="sig-name descname">display_all_channels</code><span class="sig-paren">(</span><em class="sig-param"><span class="n">subscribed</span></em>, <em class="sig-param"><span class="n">available</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdChannel.display_all_channels"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.display_all_channels" title="Permalink to this definition"></a></dt>
<dd><p>Display all available channels</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>subscribed</strong> (<em>list</em>) List of subscribed channels</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p><em>EvTable</em> Table to display.</p>
</dd>
</dl>
</dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdChannel.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/commands/default/comms.html#CmdChannel.func"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.func" title="Permalink to this definition"></a></dt>
<dd><p>Main functionality of command.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannel.lock_storage">
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:not pperm(channel_banned);admin:all();manage:all();changelocks:perm(Admin)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.lock_storage" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdChannel.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '&#64;channels &#64;chan', 'category': 'comms', 'key': '&#64;channel', 'no_prefix': 'channel channels chan', 'tags': '', 'text': &quot;\n Use and manage in-game channels.\n\n Usage:\n channel channelname &lt;msg&gt;\n channel channel name = &lt;msg&gt;\n channel (show all subscription)\n channel/all (show available channels)\n channel/alias channelname = alias[;alias...]\n channel/unalias alias\n channel/who channelname\n channel/history channelname [= index]\n channel/sub channelname [= alias[;alias...]]\n channel/unsub channelname[,channelname, ...]\n channel/mute channelname[,channelname,...]\n channel/unmute channelname[,channelname,...]\n\n channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n channel/desc channelname = description\n channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n channel/ban channelname (list bans)\n channel/ban[/quiet] channelname[, channelname, ...] = subscribername [: reason]\n channel/unban[/quiet] channelname[, channelname, ...] = subscribername\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n\n # subtopics\n\n ## sending\n\n Usage: channel channelname msg\n channel channel name = msg (with space in channel name)\n\n This sends a message to the channel. Note that you will rarely use this\n command like this; instead you can use the alias\n\n channelname &lt;msg&gt;\n channelalias &lt;msg&gt;\n\n For example\n\n public Hello World\n pub Hello World\n\n (this shortcut doesn't work for aliases containing spaces)\n\n See channel/alias for help on setting channel aliases.\n\n ## alias and unalias\n\n Usage: channel/alias channel = alias[;alias[;alias...]]\n channel/unalias alias\n channel - this will list your subs and aliases to each channel\n\n Set one or more personal aliases for referencing a channel. For example:\n\n channel/alias warrior's guild = warrior;wguild;warchannel;warrior guild\n\n You can now send to the channel using all of these:\n\n warrior's guild Hello\n warrior Hello\n wguild Hello\n warchannel Hello\n\n Note that this will not work if the alias has a space in it. So the\n 'warrior guild' alias must be used with the `channel` command:\n\n channel warrior guild = Hello\n\n Channel-aliases can be removed one at a time, using the '/unalias' switch.\n\n ## who\n\n Usage: channel/who channelname\n\n List the channel's subscribers. Shows who are currently offline or are\n muting the channel. Subscribers who are 'muting' will not see messages sent\n to the channel (use channel/mute to mute a channel).\n\n ## history\n\n Usage: channel/history channel [= index]\n\n This will display the last |c20|n lines of channel history. By supplying an\n index number, you will step that many lines back before viewing those 20 lines.\n\n For example:\n\n channel/history public = 35\n\n will go back 35 lines and show the previous 20 lines from that point (so\n lines -35 to -55).\n\n ## sub and unsub\n\n Usage: channel/sub channel [=alias[;alias;...]]\n channel/unsub channel\n\n This subscribes you to a channel and optionally assigns personal shortcuts\n for you to use to send to that channel (see aliases). When you unsub, all\n your personal aliases will also be removed.\n\n ## mute and unmute\n\n Usage: channel/mute channelname\n channel/unmute channelname\n\n Muting silences all output from the channel without actually\n un-subscribing. Other channel members will see that you are muted in the /who\n list. Sending a message to the channel will automatically unmute you.\n\n ## create and destroy\n\n Usage: channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n\n Creates a new channel (or destroys one you control). You will automatically\n join the channel you create and everyone will be kicked and loose all aliases\n to a destroyed channel.\n\n ## lock and unlock\n\n Usage: channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n\n Note: this is an admin command.\n\n A lockstring is on the form locktype:lockfunc(). Channels understand three\n locktypes:\n listen - who may listen or join the channel.\n send - who may send messages to the channel\n control - who controls the channel. This is usually the one creating\n the channel.\n\n Common lockfuncs are all() and perm(). To make a channel everyone can\n listen to but only builders can talk on, use this:\n\n listen:all()\n send: perm(Builders)\n\n ## boot and ban\n\n Usage:\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n channel/ban channelname[, channelname, ...] = subscribername [: reason]\n channel/unban channelname[, channelname, ...] = subscribername\n channel/unban channelname\n channel/ban channelname (list bans)\n\n Booting will kick a named subscriber from channel(s) temporarily. The\n 'reason' will be passed to the booted user. Unless the /quiet switch is\n used, the channel will also be informed of the action. A booted user is\n still able to re-connect, but they'll have to set up their aliases again.\n\n Banning will blacklist a user from (re)joining the provided channels. It\n will then proceed to boot them from those channels if they were connected.\n The 'reason' and `/quiet` works the same as for booting.\n\n Example:\n boot mychannel1 = EvilUser : Kicking you to cool down a bit.\n ban mychannel1,mychannel2= EvilUser : Was banned for spamming.\n\n &quot;}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdChannel.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.commands.default.comms.CmdObjectChannel">
<em class="property">class </em><code class="sig-prename descclassname">evennia.commands.default.comms.</code><code class="sig-name descname">CmdObjectChannel</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdObjectChannel"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdObjectChannel" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="#evennia.commands.default.comms.CmdChannel" title="evennia.commands.default.comms.CmdChannel"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.default.comms.CmdChannel</span></code></a></p>
<p>Use and manage in-game channels.</p>
<dl>
<dt>Usage:</dt><dd><p>channel channelname &lt;msg&gt;
channel channel name = &lt;msg&gt;
channel (show all subscription)
channel/all (show available channels)
channel/alias channelname = alias[;alias…]
channel/unalias alias
channel/who channelname
channel/history channelname [= index]
channel/sub channelname [= alias[;alias…]]
channel/unsub channelname[,channelname, …]
channel/mute channelname[,channelname,…]
channel/unmute channelname[,channelname,…]</p>
<p>channel/create channelname[;alias;alias[:typeclass]] [= description]
channel/destroy channelname [= reason]
channel/desc channelname = description
channel/lock channelname = lockstring
channel/unlock channelname = lockstring
channel/ban channelname (list bans)
channel/ban[/quiet] channelname[, channelname, …] = subscribername [: reason]
channel/unban[/quiet] channelname[, channelname, …] = subscribername
channel/boot[/quiet] channelname[,channelname,…] = subscribername [: reason]</p>
</dd>
</dl>
<dl class="simple">
<dt>Usage: channel channelname msg</dt><dd><p>channel channel name = msg (with space in channel name)</p>
</dd>
</dl>
<p>This sends a message to the channel. Note that you will rarely use this
command like this; instead you can use the alias</p>
<blockquote>
<div><p>channelname &lt;msg&gt;
channelalias &lt;msg&gt;</p>
</div></blockquote>
<p>For example</p>
<blockquote>
<div><p>public Hello World
pub Hello World</p>
</div></blockquote>
<p>(this shortcut doesnt work for aliases containing spaces)</p>
<p>See channel/alias for help on setting channel aliases.</p>
<dl class="simple">
<dt>Usage: channel/alias channel = alias[;alias[;alias…]]</dt><dd><p>channel/unalias alias
channel - this will list your subs and aliases to each channel</p>
</dd>
</dl>
<p>Set one or more personal aliases for referencing a channel. For example:</p>
<blockquote>
<div><p>channel/alias warriors guild = warrior;wguild;warchannel;warrior guild</p>
</div></blockquote>
<p>You can now send to the channel using all of these:</p>
<blockquote>
<div><p>warriors guild Hello
warrior Hello
wguild Hello
warchannel Hello</p>
</div></blockquote>
<p>Note that this will not work if the alias has a space in it. So the
warrior guild alias must be used with the <strong>channel</strong> command:</p>
<blockquote>
<div><p>channel warrior guild = Hello</p>
</div></blockquote>
<p>Channel-aliases can be removed one at a time, using the /unalias switch.</p>
<p>Usage: channel/who channelname</p>
<p>List the channels subscribers. Shows who are currently offline or are
muting the channel. Subscribers who are muting will not see messages sent
to the channel (use channel/mute to mute a channel).</p>
<p>Usage: channel/history channel [= index]</p>
<p>This will display the last <a href="#id5"><span class="problematic" id="id6">|</span></a>c20|n lines of channel history. By supplying an
index number, you will step that many lines back before viewing those 20 lines.</p>
<p>For example:</p>
<blockquote>
<div><p>channel/history public = 35</p>
</div></blockquote>
<p>will go back 35 lines and show the previous 20 lines from that point (so
lines -35 to -55).</p>
<dl class="simple">
<dt>Usage: channel/sub channel [=alias[;alias;…]]</dt><dd><p>channel/unsub channel</p>
</dd>
</dl>
<p>This subscribes you to a channel and optionally assigns personal shortcuts
for you to use to send to that channel (see aliases). When you unsub, all
your personal aliases will also be removed.</p>
<dl class="simple">
<dt>Usage: channel/mute channelname</dt><dd><p>channel/unmute channelname</p>
</dd>
</dl>
<p>Muting silences all output from the channel without actually
un-subscribing. Other channel members will see that you are muted in the /who
list. Sending a message to the channel will automatically unmute you.</p>
<dl class="simple">
<dt>Usage: channel/create channelname[;alias;alias[:typeclass]] [= description]</dt><dd><p>channel/destroy channelname [= reason]</p>
</dd>
</dl>
<p>Creates a new channel (or destroys one you control). You will automatically
join the channel you create and everyone will be kicked and loose all aliases
to a destroyed channel.</p>
<dl class="simple">
<dt>Usage: channel/lock channelname = lockstring</dt><dd><p>channel/unlock channelname = lockstring</p>
</dd>
</dl>
<p>Note: this is an admin command.</p>
<p>A lockstring is on the form locktype:lockfunc(). Channels understand three
locktypes:</p>
<blockquote>
<div><p>listen - who may listen or join the channel.
send - who may send messages to the channel
control - who controls the channel. This is usually the one creating</p>
<blockquote>
<div><p>the channel.</p>
</div></blockquote>
</div></blockquote>
<p>Common lockfuncs are all() and perm(). To make a channel everyone can
listen to but only builders can talk on, use this:</p>
<blockquote>
<div><p>listen:all()
send: perm(Builders)</p>
</div></blockquote>
<dl class="simple">
<dt>Usage:</dt><dd><p>channel/boot[/quiet] channelname[,channelname,…] = subscribername [: reason]
channel/ban channelname[, channelname, …] = subscribername [: reason]
channel/unban channelname[, channelname, …] = subscribername
channel/unban channelname
channel/ban channelname (list bans)</p>
</dd>
</dl>
<p>Booting will kick a named subscriber from channel(s) temporarily. The
reason will be passed to the booted user. Unless the /quiet switch is
used, the channel will also be informed of the action. A booted user is
still able to re-connect, but theyll have to set up their aliases again.</p>
<p>Banning will blacklist a user from (re)joining the provided channels. It
will then proceed to boot them from those channels if they were connected.
The reason and <strong>/quiet</strong> works the same as for booting.</p>
<p class="rubric">Example</p>
<p>boot mychannel1 = EvilUser : Kicking you to cool down a bit.
ban mychannel1,mychannel2= EvilUser : Was banned for spamming.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdObjectChannel.account_caller">
<code class="sig-name descname">account_caller</code><em class="property"> = False</em><a class="headerlink" href="#evennia.commands.default.comms.CmdObjectChannel.account_caller" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdObjectChannel.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['&#64;channels', '&#64;chan']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdObjectChannel.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdObjectChannel.help_category">
<code class="sig-name descname">help_category</code><em class="property"> = 'comms'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdObjectChannel.help_category" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdObjectChannel.key">
<code class="sig-name descname">key</code><em class="property"> = '&#64;channel'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdObjectChannel.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdObjectChannel.lock_storage">
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:not pperm(channel_banned);admin:all();manage:all();changelocks:perm(Admin)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdObjectChannel.lock_storage" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdObjectChannel.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '&#64;channels &#64;chan', 'category': 'comms', 'key': '&#64;channel', 'no_prefix': 'channel channels chan', 'tags': '', 'text': &quot;\n Use and manage in-game channels.\n\n Usage:\n channel channelname &lt;msg&gt;\n channel channel name = &lt;msg&gt;\n channel (show all subscription)\n channel/all (show available channels)\n channel/alias channelname = alias[;alias...]\n channel/unalias alias\n channel/who channelname\n channel/history channelname [= index]\n channel/sub channelname [= alias[;alias...]]\n channel/unsub channelname[,channelname, ...]\n channel/mute channelname[,channelname,...]\n channel/unmute channelname[,channelname,...]\n\n channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n channel/desc channelname = description\n channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n channel/ban channelname (list bans)\n channel/ban[/quiet] channelname[, channelname, ...] = subscribername [: reason]\n channel/unban[/quiet] channelname[, channelname, ...] = subscribername\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n\n # subtopics\n\n ## sending\n\n Usage: channel channelname msg\n channel channel name = msg (with space in channel name)\n\n This sends a message to the channel. Note that you will rarely use this\n command like this; instead you can use the alias\n\n channelname &lt;msg&gt;\n channelalias &lt;msg&gt;\n\n For example\n\n public Hello World\n pub Hello World\n\n (this shortcut doesn't work for aliases containing spaces)\n\n See channel/alias for help on setting channel aliases.\n\n ## alias and unalias\n\n Usage: channel/alias channel = alias[;alias[;alias...]]\n channel/unalias alias\n channel - this will list your subs and aliases to each channel\n\n Set one or more personal aliases for referencing a channel. For example:\n\n channel/alias warrior's guild = warrior;wguild;warchannel;warrior guild\n\n You can now send to the channel using all of these:\n\n warrior's guild Hello\n warrior Hello\n wguild Hello\n warchannel Hello\n\n Note that this will not work if the alias has a space in it. So the\n 'warrior guild' alias must be used with the `channel` command:\n\n channel warrior guild = Hello\n\n Channel-aliases can be removed one at a time, using the '/unalias' switch.\n\n ## who\n\n Usage: channel/who channelname\n\n List the channel's subscribers. Shows who are currently offline or are\n muting the channel. Subscribers who are 'muting' will not see messages sent\n to the channel (use channel/mute to mute a channel).\n\n ## history\n\n Usage: channel/history channel [= index]\n\n This will display the last |c20|n lines of channel history. By supplying an\n index number, you will step that many lines back before viewing those 20 lines.\n\n For example:\n\n channel/history public = 35\n\n will go back 35 lines and show the previous 20 lines from that point (so\n lines -35 to -55).\n\n ## sub and unsub\n\n Usage: channel/sub channel [=alias[;alias;...]]\n channel/unsub channel\n\n This subscribes you to a channel and optionally assigns personal shortcuts\n for you to use to send to that channel (see aliases). When you unsub, all\n your personal aliases will also be removed.\n\n ## mute and unmute\n\n Usage: channel/mute channelname\n channel/unmute channelname\n\n Muting silences all output from the channel without actually\n un-subscribing. Other channel members will see that you are muted in the /who\n list. Sending a message to the channel will automatically unmute you.\n\n ## create and destroy\n\n Usage: channel/create channelname[;alias;alias[:typeclass]] [= description]\n channel/destroy channelname [= reason]\n\n Creates a new channel (or destroys one you control). You will automatically\n join the channel you create and everyone will be kicked and loose all aliases\n to a destroyed channel.\n\n ## lock and unlock\n\n Usage: channel/lock channelname = lockstring\n channel/unlock channelname = lockstring\n\n Note: this is an admin command.\n\n A lockstring is on the form locktype:lockfunc(). Channels understand three\n locktypes:\n listen - who may listen or join the channel.\n send - who may send messages to the channel\n control - who controls the channel. This is usually the one creating\n the channel.\n\n Common lockfuncs are all() and perm(). To make a channel everyone can\n listen to but only builders can talk on, use this:\n\n listen:all()\n send: perm(Builders)\n\n ## boot and ban\n\n Usage:\n channel/boot[/quiet] channelname[,channelname,...] = subscribername [: reason]\n channel/ban channelname[, channelname, ...] = subscribername [: reason]\n channel/unban channelname[, channelname, ...] = subscribername\n channel/unban channelname\n channel/ban channelname (list bans)\n\n Booting will kick a named subscriber from channel(s) temporarily. The\n 'reason' will be passed to the booted user. Unless the /quiet switch is\n used, the channel will also be informed of the action. A booted user is\n still able to re-connect, but they'll have to set up their aliases again.\n\n Banning will blacklist a user from (re)joining the provided channels. It\n will then proceed to boot them from those channels if they were connected.\n The 'reason' and `/quiet` works the same as for booting.\n\n Example:\n boot mychannel1 = EvilUser : Kicking you to cool down a bit.\n ban mychannel1,mychannel2= EvilUser : Was banned for spamming.\n\n &quot;}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdObjectChannel.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.commands.default.comms.CmdPage">
<em class="property">class </em><code class="sig-prename descclassname">evennia.commands.default.comms.</code><code class="sig-name descname">CmdPage</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdPage"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdPage" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.default.muxcommand.html#evennia.commands.default.muxcommand.MuxCommand" title="evennia.commands.default.muxcommand.MuxCommand"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.default.muxcommand.MuxCommand</span></code></a></p>
<p>send a private message to another account</p>
<dl class="simple">
<dt>Usage:</dt><dd><p>page &lt;account&gt; &lt;message&gt;
page[/switches] [&lt;account&gt;,&lt;account&gt;,… = &lt;message&gt;]
tell
page &lt;number&gt;</p>
</dd>
<dt>Switches:</dt><dd><p>last - shows who you last messaged
list - show your last &lt;number&gt; of tells/pages (default)</p>
</dd>
</dl>
<p>Send a message to target user (if online). If no argument is given, you
will get a list of your latest messages. The equal sign is needed for
multiple targets or if sending to target with space in the name.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdPage.key">
<code class="sig-name descname">key</code><em class="property"> = 'page'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdPage.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdPage.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['tell']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdPage.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdPage.switch_options">
<code class="sig-name descname">switch_options</code><em class="property"> = ('last', 'list')</em><a class="headerlink" href="#evennia.commands.default.comms.CmdPage.switch_options" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdPage.locks">
<code class="sig-name descname">locks</code><em class="property"> = 'cmd:not pperm(page_banned)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdPage.locks" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdPage.help_category">
<code class="sig-name descname">help_category</code><em class="property"> = 'comms'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdPage.help_category" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdPage.account_caller">
<code class="sig-name descname">account_caller</code><em class="property"> = True</em><a class="headerlink" href="#evennia.commands.default.comms.CmdPage.account_caller" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdPage.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/commands/default/comms.html#CmdPage.func"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdPage.func" title="Permalink to this definition"></a></dt>
<dd><p>Implement function using the Msg methods</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdPage.lock_storage">
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:not pperm(page_banned)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdPage.lock_storage" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdPage.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'tell', 'category': 'comms', 'key': 'page', 'no_prefix': ' tell', 'tags': '', 'text': &quot;\n send a private message to another account\n\n Usage:\n page &lt;account&gt; &lt;message&gt;\n page[/switches] [&lt;account&gt;,&lt;account&gt;,... = &lt;message&gt;]\n tell ''\n page &lt;number&gt;\n\n Switches:\n last - shows who you last messaged\n list - show your last &lt;number&gt; of tells/pages (default)\n\n Send a message to target user (if online). If no argument is given, you\n will get a list of your latest messages. The equal sign is needed for\n multiple targets or if sending to target with space in the name.\n\n &quot;}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdPage.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.commands.default.comms.CmdIRC2Chan">
<em class="property">class </em><code class="sig-prename descclassname">evennia.commands.default.comms.</code><code class="sig-name descname">CmdIRC2Chan</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdIRC2Chan"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdIRC2Chan" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.default.muxcommand.html#evennia.commands.default.muxcommand.MuxCommand" title="evennia.commands.default.muxcommand.MuxCommand"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.default.muxcommand.MuxCommand</span></code></a></p>
<p>Link an evennia channel to an external IRC channel</p>
<dl>
<dt>Usage:</dt><dd><p>irc2chan[/switches] &lt;evennia_channel&gt; = &lt;ircnetwork&gt; &lt;port&gt; &lt;#irchannel&gt; &lt;botname&gt;[:typeclass]
irc2chan/delete botname|#dbid</p>
</dd>
<dt>Switches:</dt><dd><dl class="option-list">
<dt><kbd><span class="option">/delete</span></kbd></dt>
<dd><ul class="simple">
<li><p>this will delete the bot and remove the irc connection</p></li>
</ul>
<p>to the channel. Requires the botname or #dbid as input.</p>
</dd>
<dt><kbd><span class="option">/remove</span></kbd></dt>
<dd><ul class="simple">
<li><p>alias to /delete</p></li>
</ul>
</dd>
</dl>
<p>/disconnect - alias to /delete
/list - show all irc&lt;-&gt;evennia mappings
/ssl - use an SSL-encrypted connection</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>irc2chan myircchan = irc.dalnet.net 6667 #mychannel evennia-bot
irc2chan public = irc.freenode.net 6667 #evgaming #evbot:accounts.mybot.MyBot</p>
<p>This creates an IRC bot that connects to a given IRC network and
channel. If a custom typeclass path is given, this will be used
instead of the default bot class.
The bot will relay everything said in the evennia channel to the
IRC channel and vice versa. The bot will automatically connect at
server start, so this command need only be given once. The
/disconnect switch will permanently delete the bot. To only
temporarily deactivate it, use the <a href="#id7"><span class="problematic" id="id8">|</span></a>wservices|n command instead.
Provide an optional bot class path to use a custom bot.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRC2Chan.key">
<code class="sig-name descname">key</code><em class="property"> = 'irc2chan'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRC2Chan.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRC2Chan.switch_options">
<code class="sig-name descname">switch_options</code><em class="property"> = ('delete', 'remove', 'disconnect', 'list', 'ssl')</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRC2Chan.switch_options" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRC2Chan.locks">
<code class="sig-name descname">locks</code><em class="property"> = 'cmd:serversetting(IRC_ENABLED) and pperm(Developer)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRC2Chan.locks" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRC2Chan.help_category">
<code class="sig-name descname">help_category</code><em class="property"> = 'comms'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRC2Chan.help_category" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdIRC2Chan.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/commands/default/comms.html#CmdIRC2Chan.func"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdIRC2Chan.func" title="Permalink to this definition"></a></dt>
<dd><p>Setup the irc-channel mapping</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRC2Chan.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = []</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRC2Chan.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRC2Chan.lock_storage">
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:serversetting(IRC_ENABLED) and pperm(Developer)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRC2Chan.lock_storage" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRC2Chan.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '', 'category': 'comms', 'key': 'irc2chan', 'no_prefix': ' ', 'tags': '', 'text': '\n Link an evennia channel to an external IRC channel\n\n Usage:\n irc2chan[/switches] &lt;evennia_channel&gt; = &lt;ircnetwork&gt; &lt;port&gt; &lt;#irchannel&gt; &lt;botname&gt;[:typeclass]\n irc2chan/delete botname|#dbid\n\n Switches:\n /delete - this will delete the bot and remove the irc connection\n to the channel. Requires the botname or #dbid as input.\n /remove - alias to /delete\n /disconnect - alias to /delete\n /list - show all irc&lt;-&gt;evennia mappings\n /ssl - use an SSL-encrypted connection\n\n Example:\n irc2chan myircchan = irc.dalnet.net 6667 #mychannel evennia-bot\n irc2chan public = irc.freenode.net 6667 #evgaming #evbot:accounts.mybot.MyBot\n\n This creates an IRC bot that connects to a given IRC network and\n channel. If a custom typeclass path is given, this will be used\n instead of the default bot class.\n The bot will relay everything said in the evennia channel to the\n IRC channel and vice versa. The bot will automatically connect at\n server start, so this command need only be given once. The\n /disconnect switch will permanently delete the bot. To only\n temporarily deactivate it, use the |wservices|n command instead.\n Provide an optional bot class path to use a custom bot.\n '}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRC2Chan.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.commands.default.comms.CmdIRCStatus">
<em class="property">class </em><code class="sig-prename descclassname">evennia.commands.default.comms.</code><code class="sig-name descname">CmdIRCStatus</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdIRCStatus"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdIRCStatus" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.default.muxcommand.html#evennia.commands.default.muxcommand.MuxCommand" title="evennia.commands.default.muxcommand.MuxCommand"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.default.muxcommand.MuxCommand</span></code></a></p>
<p>Check and reboot IRC bot.</p>
<dl class="simple">
<dt>Usage:</dt><dd><p>ircstatus [#dbref ping | nicklist | reconnect]</p>
</dd>
</dl>
<p>If not given arguments, will return a list of all bots (like
irc2chan/list). The ping argument will ping the IRC network to
see if the connection is still responsive. The nicklist argument
(aliases are who and users) will return a list of users on the
remote IRC channel. Finally, reconnect will force the client to
disconnect and reconnect again. This may be a last resort if the
client has silently lost connection (this may happen if the remote
network experience network issues). During the reconnection
messages sent to either channel will be lost.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRCStatus.key">
<code class="sig-name descname">key</code><em class="property"> = 'ircstatus'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRCStatus.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRCStatus.locks">
<code class="sig-name descname">locks</code><em class="property"> = 'cmd:serversetting(IRC_ENABLED) and perm(ircstatus) or perm(Builder))'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRCStatus.locks" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRCStatus.help_category">
<code class="sig-name descname">help_category</code><em class="property"> = 'comms'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRCStatus.help_category" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdIRCStatus.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/commands/default/comms.html#CmdIRCStatus.func"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdIRCStatus.func" title="Permalink to this definition"></a></dt>
<dd><p>Handles the functioning of the command.</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRCStatus.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = []</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRCStatus.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRCStatus.lock_storage">
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:serversetting(IRC_ENABLED) and perm(ircstatus) or perm(Builder))'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRCStatus.lock_storage" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdIRCStatus.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '', 'category': 'comms', 'key': 'ircstatus', 'no_prefix': ' ', 'tags': '', 'text': &quot;\n Check and reboot IRC bot.\n\n Usage:\n ircstatus [#dbref ping | nicklist | reconnect]\n\n If not given arguments, will return a list of all bots (like\n irc2chan/list). The 'ping' argument will ping the IRC network to\n see if the connection is still responsive. The 'nicklist' argument\n (aliases are 'who' and 'users') will return a list of users on the\n remote IRC channel. Finally, 'reconnect' will force the client to\n disconnect and reconnect again. This may be a last resort if the\n client has silently lost connection (this may happen if the remote\n network experience network issues). During the reconnection\n messages sent to either channel will be lost.\n\n &quot;}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdIRCStatus.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.commands.default.comms.CmdRSS2Chan">
<em class="property">class </em><code class="sig-prename descclassname">evennia.commands.default.comms.</code><code class="sig-name descname">CmdRSS2Chan</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdRSS2Chan"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdRSS2Chan" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.default.muxcommand.html#evennia.commands.default.muxcommand.MuxCommand" title="evennia.commands.default.muxcommand.MuxCommand"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.default.muxcommand.MuxCommand</span></code></a></p>
<p>link an evennia channel to an external RSS feed</p>
<dl>
<dt>Usage:</dt><dd><p>rss2chan[/switches] &lt;evennia_channel&gt; = &lt;rss_url&gt;</p>
</dd>
<dt>Switches:</dt><dd><dl class="simple">
<dt>/disconnect - this will stop the feed and remove the connection to the</dt><dd><p>channel.</p>
</dd>
</dl>
<dl class="option-list">
<dt><kbd><span class="option">/remove</span></kbd></dt>
<dd><ul class="simple">
<li><p></p></li>
</ul>
</dd>
<dt><kbd><span class="option">/list</span></kbd></dt>
<dd><ul class="simple">
<li><p>show all rss-&gt;evennia mappings</p></li>
</ul>
</dd>
</dl>
</dd>
</dl>
<p class="rubric">Example</p>
<p>rss2chan rsschan = <a class="reference external" href="http://code.google.com/feeds/p/evennia/updates/basic">http://code.google.com/feeds/p/evennia/updates/basic</a></p>
<p>This creates an RSS reader that connects to a given RSS feed url. Updates
will be echoed as a title and news link to the given channel. The rate of
updating is set with the RSS_UPDATE_INTERVAL variable in settings (default
is every 10 minutes).</p>
<p>When disconnecting you need to supply both the channel and url again so as
to identify the connection uniquely.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdRSS2Chan.key">
<code class="sig-name descname">key</code><em class="property"> = 'rss2chan'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdRSS2Chan.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdRSS2Chan.switch_options">
<code class="sig-name descname">switch_options</code><em class="property"> = ('disconnect', 'remove', 'list')</em><a class="headerlink" href="#evennia.commands.default.comms.CmdRSS2Chan.switch_options" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdRSS2Chan.locks">
<code class="sig-name descname">locks</code><em class="property"> = 'cmd:serversetting(RSS_ENABLED) and pperm(Developer)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdRSS2Chan.locks" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdRSS2Chan.help_category">
<code class="sig-name descname">help_category</code><em class="property"> = 'comms'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdRSS2Chan.help_category" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdRSS2Chan.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/commands/default/comms.html#CmdRSS2Chan.func"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdRSS2Chan.func" title="Permalink to this definition"></a></dt>
<dd><p>Setup the rss-channel mapping</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdRSS2Chan.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = []</em><a class="headerlink" href="#evennia.commands.default.comms.CmdRSS2Chan.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdRSS2Chan.lock_storage">
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:serversetting(RSS_ENABLED) and pperm(Developer)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdRSS2Chan.lock_storage" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdRSS2Chan.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '', 'category': 'comms', 'key': 'rss2chan', 'no_prefix': ' ', 'tags': '', 'text': '\n link an evennia channel to an external RSS feed\n\n Usage:\n rss2chan[/switches] &lt;evennia_channel&gt; = &lt;rss_url&gt;\n\n Switches:\n /disconnect - this will stop the feed and remove the connection to the\n channel.\n /remove - &quot;\n /list - show all rss-&gt;evennia mappings\n\n Example:\n rss2chan rsschan = http://code.google.com/feeds/p/evennia/updates/basic\n\n This creates an RSS reader that connects to a given RSS feed url. Updates\n will be echoed as a title and news link to the given channel. The rate of\n updating is set with the RSS_UPDATE_INTERVAL variable in settings (default\n is every 10 minutes).\n\n When disconnecting you need to supply both the channel and url again so as\n to identify the connection uniquely.\n '}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdRSS2Chan.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.commands.default.comms.CmdGrapevine2Chan">
<em class="property">class </em><code class="sig-prename descclassname">evennia.commands.default.comms.</code><code class="sig-name descname">CmdGrapevine2Chan</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdGrapevine2Chan"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdGrapevine2Chan" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.default.muxcommand.html#evennia.commands.default.muxcommand.MuxCommand" title="evennia.commands.default.muxcommand.MuxCommand"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.default.muxcommand.MuxCommand</span></code></a></p>
<p>Link an Evennia channel to an external Grapevine channel</p>
<dl>
<dt>Usage:</dt><dd><p>grapevine2chan[/switches] &lt;evennia_channel&gt; = &lt;grapevine_channel&gt;
grapevine2chan/disconnect &lt;connection #id&gt;</p>
</dd>
<dt>Switches:</dt><dd><dl class="option-list">
<dt><kbd><span class="option">/list</span></kbd></dt>
<dd><ul class="simple">
<li><p>(or no switch): show existing grapevine &lt;-&gt; Evennia</p></li>
</ul>
<p>mappings and available grapevine chans</p>
</dd>
<dt><kbd><span class="option">/remove</span></kbd></dt>
<dd><ul class="simple">
<li><p>alias to disconnect</p></li>
</ul>
</dd>
<dt><kbd><span class="option">/delete</span></kbd></dt>
<dd><ul class="simple">
<li><p>alias to disconnect</p></li>
</ul>
</dd>
</dl>
</dd>
</dl>
<p class="rubric">Example</p>
<p>grapevine2chan mygrapevine = gossip</p>
<p>This creates a link between an in-game Evennia channel and an external
Grapevine channel. The game must be registered with the Grapevine network
(register at <a class="reference external" href="https://grapevine.haus">https://grapevine.haus</a>) and the GRAPEVINE_* auth information
must be added to game settings.</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdGrapevine2Chan.key">
<code class="sig-name descname">key</code><em class="property"> = 'grapevine2chan'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdGrapevine2Chan.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdGrapevine2Chan.switch_options">
<code class="sig-name descname">switch_options</code><em class="property"> = ('disconnect', 'remove', 'delete', 'list')</em><a class="headerlink" href="#evennia.commands.default.comms.CmdGrapevine2Chan.switch_options" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdGrapevine2Chan.locks">
<code class="sig-name descname">locks</code><em class="property"> = 'cmd:serversetting(GRAPEVINE_ENABLED) and pperm(Developer)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdGrapevine2Chan.locks" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdGrapevine2Chan.help_category">
<code class="sig-name descname">help_category</code><em class="property"> = 'comms'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdGrapevine2Chan.help_category" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdGrapevine2Chan.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/commands/default/comms.html#CmdGrapevine2Chan.func"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdGrapevine2Chan.func" title="Permalink to this definition"></a></dt>
<dd><p>Setup the Grapevine channel mapping</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdGrapevine2Chan.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = []</em><a class="headerlink" href="#evennia.commands.default.comms.CmdGrapevine2Chan.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdGrapevine2Chan.lock_storage">
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:serversetting(GRAPEVINE_ENABLED) and pperm(Developer)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdGrapevine2Chan.lock_storage" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdGrapevine2Chan.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': '', 'category': 'comms', 'key': 'grapevine2chan', 'no_prefix': ' ', 'tags': '', 'text': '\n Link an Evennia channel to an external Grapevine channel\n\n Usage:\n grapevine2chan[/switches] &lt;evennia_channel&gt; = &lt;grapevine_channel&gt;\n grapevine2chan/disconnect &lt;connection #id&gt;\n\n Switches:\n /list - (or no switch): show existing grapevine &lt;-&gt; Evennia\n mappings and available grapevine chans\n /remove - alias to disconnect\n /delete - alias to disconnect\n\n Example:\n grapevine2chan mygrapevine = gossip\n\n This creates a link between an in-game Evennia channel and an external\n Grapevine channel. The game must be registered with the Grapevine network\n (register at https://grapevine.haus) and the GRAPEVINE_* auth information\n must be added to game settings.\n '}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdGrapevine2Chan.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt id="evennia.commands.default.comms.CmdDiscord2Chan">
<em class="property">class </em><code class="sig-prename descclassname">evennia.commands.default.comms.</code><code class="sig-name descname">CmdDiscord2Chan</code><span class="sig-paren">(</span><em class="sig-param"><span class="o">**</span><span class="n">kwargs</span></em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/evennia/commands/default/comms.html#CmdDiscord2Chan"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdDiscord2Chan" title="Permalink to this definition"></a></dt>
<dd><p>Bases: <a class="reference internal" href="evennia.commands.default.muxcommand.html#evennia.commands.default.muxcommand.MuxCommand" title="evennia.commands.default.muxcommand.MuxCommand"><code class="xref py py-class docutils literal notranslate"><span class="pre">evennia.commands.default.muxcommand.MuxCommand</span></code></a></p>
<p>Link an Evennia channel to an external Discord channel</p>
<dl>
<dt>Usage:</dt><dd><p>discord2chan[/switches]
discord2chan[/switches] &lt;evennia_channel&gt; [= &lt;discord_channel_id&gt;]</p>
</dd>
<dt>Switches:</dt><dd><dl class="option-list">
<dt><kbd><span class="option">/list</span></kbd></dt>
<dd><ul class="simple">
<li><p>(or no switch) show existing Evennia &lt;-&gt; Discord links</p></li>
</ul>
</dd>
<dt><kbd><span class="option">/remove</span></kbd></dt>
<dd><ul class="simple">
<li><p>remove an existing link by link ID</p></li>
</ul>
</dd>
<dt><kbd><span class="option">/delete</span></kbd></dt>
<dd><ul class="simple">
<li><p>alias to remove</p></li>
</ul>
</dd>
<dt><kbd><span class="option">/guild</span></kbd></dt>
<dd><ul class="simple">
<li><p>toggle the Discord server tag on/off</p></li>
</ul>
</dd>
</dl>
<p>/channel - toggle the Evennia/Discord channel tags on/off</p>
</dd>
</dl>
<p class="rubric">Example</p>
<p>discord2chan mydiscord = 555555555555555</p>
<p>This creates a link between an in-game Evennia channel and an external
Discord channel. You must have a valid Discord bot application
( <a class="reference external" href="https://discord.com/developers/applications">https://discord.com/developers/applications</a> ) and your DISCORD_BOT_TOKEN
must be added to settings. (Please put it in secret_settings !)</p>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdDiscord2Chan.key">
<code class="sig-name descname">key</code><em class="property"> = 'discord2chan'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDiscord2Chan.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdDiscord2Chan.aliases">
<code class="sig-name descname">aliases</code><em class="property"> = ['discord']</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDiscord2Chan.aliases" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdDiscord2Chan.switch_options">
<code class="sig-name descname">switch_options</code><em class="property"> = ('channel', 'delete', 'guild', 'list', 'remove')</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDiscord2Chan.switch_options" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdDiscord2Chan.locks">
<code class="sig-name descname">locks</code><em class="property"> = 'cmd:serversetting(DISCORD_ENABLED) and pperm(Developer)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDiscord2Chan.locks" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdDiscord2Chan.help_category">
<code class="sig-name descname">help_category</code><em class="property"> = 'comms'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDiscord2Chan.help_category" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py method">
<dt id="evennia.commands.default.comms.CmdDiscord2Chan.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/commands/default/comms.html#CmdDiscord2Chan.func"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#evennia.commands.default.comms.CmdDiscord2Chan.func" title="Permalink to this definition"></a></dt>
<dd><p>Manage the Evennia&lt;-&gt;Discord channel links</p>
</dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdDiscord2Chan.lock_storage">
<code class="sig-name descname">lock_storage</code><em class="property"> = 'cmd:serversetting(DISCORD_ENABLED) and pperm(Developer)'</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDiscord2Chan.lock_storage" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="py attribute">
<dt id="evennia.commands.default.comms.CmdDiscord2Chan.search_index_entry">
<code class="sig-name descname">search_index_entry</code><em class="property"> = {'aliases': 'discord', 'category': 'comms', 'key': 'discord2chan', 'no_prefix': ' discord', 'tags': '', 'text': '\n Link an Evennia channel to an external Discord channel\n\n Usage:\n discord2chan[/switches]\n discord2chan[/switches] &lt;evennia_channel&gt; [= &lt;discord_channel_id&gt;]\n\n Switches:\n /list - (or no switch) show existing Evennia &lt;-&gt; Discord links\n /remove - remove an existing link by link ID\n /delete - alias to remove\n /guild - toggle the Discord server tag on/off\n /channel - toggle the Evennia/Discord channel tags on/off\n\n Example:\n discord2chan mydiscord = 555555555555555\n\n This creates a link between an in-game Evennia channel and an external\n Discord channel. You must have a valid Discord bot application\n ( https://discord.com/developers/applications ) and your DISCORD_BOT_TOKEN\n must be added to settings. (Please put it in secret_settings !)\n '}</em><a class="headerlink" href="#evennia.commands.default.comms.CmdDiscord2Chan.search_index_entry" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</section>
</div>
</div>
</div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="evennia.commands.default.general.html" title="evennia.commands.default.general"
>next</a> |</li>
<li class="right" >
<a href="evennia.commands.default.cmdset_unloggedin.html" title="evennia.commands.default.cmdset_unloggedin"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Evennia 1.0</a> &#187;</li>
<li class="nav-item nav-item-1"><a href="../Evennia-API.html" >API Summary</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="evennia-api.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-3"><a href="evennia.html" >evennia</a> &#187;</li>
<li class="nav-item nav-item-4"><a href="evennia.commands.html" >evennia.commands</a> &#187;</li>
<li class="nav-item nav-item-5"><a href="evennia.commands.default.html" >evennia.commands.default</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">evennia.commands.default.comms</a></li>
</ul>
</div>
<div class="footer" role="contentinfo">
&#169; Copyright 2022, The Evennia developer community.
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 3.2.1.
</div>
</body>
</html>