1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-23 19:44:20 +00:00

Merge branch 'callcommand'

This commit is contained in:
Steffo 2019-08-25 17:47:26 +02:00
commit 330217bdb2
33 changed files with 1487 additions and 1274 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -289,6 +289,12 @@ img.align-center, .figure.align-center, object.align-center {
margin-right: auto;
}
img.align-default, .figure.align-default {
display: block;
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left;
}
@ -297,6 +303,10 @@ img.align-center, .figure.align-center, object.align-center {
text-align: center;
}
.align-default {
text-align: center;
}
.align-right {
text-align: right;
}
@ -368,6 +378,11 @@ table.align-center {
margin-right: auto;
}
table.align-default {
margin-left: auto;
margin-right: auto;
}
table caption span.caption-number {
font-style: italic;
}
@ -505,14 +520,15 @@ dl.citation > dd:after {
}
dl.field-list {
display: flex;
flex-wrap: wrap;
display: grid;
grid-template-columns: fit-content(30%) auto;
}
dl.field-list > dt {
flex-basis: 20%;
font-weight: bold;
word-break: break-word;
padding-left: 0.5em;
padding-right: 5px;
}
dl.field-list > dt:after {
@ -520,8 +536,8 @@ dl.field-list > dt:after {
}
dl.field-list > dd {
flex-basis: 70%;
padding-left: 1em;
padding-left: 0.5em;
margin-top: 0em;
margin-left: 0em;
margin-bottom: 0em;
}

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,3 @@
.wy-side-nav-search, .wy-nav-top {
background-color: #0d193b !important;
}

View file

@ -319,12 +319,13 @@ var Search = {
for (var prefix in objects) {
for (var name in objects[prefix]) {
var fullname = (prefix ? prefix + '.' : '') + name;
if (fullname.toLowerCase().indexOf(object) > -1) {
var fullnameLower = fullname.toLowerCase()
if (fullnameLower.indexOf(object) > -1) {
var score = 0;
var parts = fullname.split('.');
var parts = fullnameLower.split('.');
// check for different match types: exact matches of full name or
// "last name" (i.e. last dotted part)
if (fullname == object || parts[parts.length - 1] == object) {
if (fullnameLower == object || parts[parts.length - 1] == object) {
score += Scorer.objNameMatch;
// matches in last name
} else if (parts[parts.length - 1].indexOf(object) > -1) {

View file

@ -33,6 +33,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="royalnet.bots" href="bots.html" />
@ -162,11 +163,11 @@
<span class="target" id="module-royalnet.audio"></span><p>Video and audio downloading related classes, mainly used for Discord voice bots.</p>
<dl class="class">
<dt id="royalnet.audio.YtdlInfo">
<em class="property">class </em><code class="descclassname">royalnet.audio.</code><code class="descname">YtdlInfo</code><span class="sig-paren">(</span><em>info: Dict[str, Any]</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlInfo" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.audio.</code><code class="sig-name descname">YtdlInfo</code><span class="sig-paren">(</span><em class="sig-param">info: Dict[str, Any]</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlInfo" title="Permalink to this definition"></a></dt>
<dd><p>A wrapper around youtube_dl extracted info.</p>
<dl class="method">
<dt id="royalnet.audio.YtdlInfo.__init__">
<code class="descname">__init__</code><span class="sig-paren">(</span><em>info: Dict[str, Any]</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlInfo.__init__" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">info: Dict[str, Any]</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlInfo.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Create a YtdlInfo from the dict returned by the <code class="xref py py-func docutils literal notranslate"><span class="pre">youtube_dl.YoutubeDL.extract_info()</span></code> function.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
@ -176,12 +177,12 @@
<dl class="attribute">
<dt id="royalnet.audio.YtdlInfo._default_ytdl_args">
<code class="descname">_default_ytdl_args</code><em class="property"> = {'no_warnings': True, 'noplaylist': True, 'outtmpl': '%(title)s-%(id)s.%(ext)s', 'quiet': True}</em><a class="headerlink" href="#royalnet.audio.YtdlInfo._default_ytdl_args" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">_default_ytdl_args</code><em class="property"> = {'ignoreerrors': True, 'no_warnings': True, 'noplaylist': True, 'outtmpl': '%(title)s-%(id)s.%(ext)s', 'quiet': True}</em><a class="headerlink" href="#royalnet.audio.YtdlInfo._default_ytdl_args" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="classmethod">
<dl class="method">
<dt id="royalnet.audio.YtdlInfo.retrieve_for_url">
<em class="property">classmethod </em><code class="descname">retrieve_for_url</code><span class="sig-paren">(</span><em>url</em>, <em>**ytdl_args</em><span class="sig-paren">)</span> &#x2192; List[royalnet.audio.ytdlinfo.YtdlInfo]<a class="headerlink" href="#royalnet.audio.YtdlInfo.retrieve_for_url" title="Permalink to this definition"></a></dt>
<em class="property">classmethod </em><code class="sig-name descname">retrieve_for_url</code><span class="sig-paren">(</span><em class="sig-param">url</em>, <em class="sig-param">**ytdl_args</em><span class="sig-paren">)</span> &#x2192; List[royalnet.audio.ytdlinfo.YtdlInfo]<a class="headerlink" href="#royalnet.audio.YtdlInfo.retrieve_for_url" title="Permalink to this definition"></a></dt>
<dd><p>Fetch the info for an url through YoutubeDL.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -192,7 +193,7 @@
<dl class="method">
<dt id="royalnet.audio.YtdlInfo.to_discord_embed">
<code class="descname">to_discord_embed</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; discord.embeds.Embed<a class="headerlink" href="#royalnet.audio.YtdlInfo.to_discord_embed" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">to_discord_embed</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; discord.embeds.Embed<a class="headerlink" href="#royalnet.audio.YtdlInfo.to_discord_embed" title="Permalink to this definition"></a></dt>
<dd><p>Return this info as a <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Embed" title="(in discord.py v1.3.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">discord.Embed</span></code></a>.</p>
</dd></dl>
@ -200,53 +201,53 @@
<dl class="class">
<dt id="royalnet.audio.YtdlFile">
<em class="property">class </em><code class="descclassname">royalnet.audio.</code><code class="descname">YtdlFile</code><span class="sig-paren">(</span><em>url: str</em>, <em>info: Optional[royalnet.audio.ytdlinfo.YtdlInfo] = None</em>, <em>filename: Optional[str] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlFile" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.audio.</code><code class="sig-name descname">YtdlFile</code><span class="sig-paren">(</span><em class="sig-param">url: str</em>, <em class="sig-param">info: Optional[royalnet.audio.ytdlinfo.YtdlInfo] = None</em>, <em class="sig-param">filename: Optional[str] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlFile" title="Permalink to this definition"></a></dt>
<dd><p>Information about a youtube-dl downloaded file.</p>
<dl class="attribute">
<dt id="royalnet.audio.YtdlFile._default_ytdl_args">
<code class="descname">_default_ytdl_args</code><em class="property"> = {'no_warnings': True, 'noplaylist': True, 'outtmpl': '%(title)s-%(id)s.%(ext)s', 'quiet': True}</em><a class="headerlink" href="#royalnet.audio.YtdlFile._default_ytdl_args" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">_default_ytdl_args</code><em class="property"> = {'ignoreerrors': True, 'no_warnings': True, 'noplaylist': True, 'outtmpl': '%(epoch)s-%(title)s-%(id)s.%(ext)s', 'quiet': True}</em><a class="headerlink" href="#royalnet.audio.YtdlFile._default_ytdl_args" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlFile.delete">
<code class="descname">delete</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlFile.delete" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">delete</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlFile.delete" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlFile.download_file">
<code class="descname">download_file</code><span class="sig-paren">(</span><em>**ytdl_args</em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.audio.YtdlFile.download_file" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">download_file</code><span class="sig-paren">(</span><em class="sig-param">**ytdl_args</em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.audio.YtdlFile.download_file" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="classmethod">
<dl class="method">
<dt id="royalnet.audio.YtdlFile.download_from_url">
<em class="property">classmethod </em><code class="descname">download_from_url</code><span class="sig-paren">(</span><em>url: str</em>, <em>**ytdl_args</em><span class="sig-paren">)</span> &#x2192; List[royalnet.audio.ytdlfile.YtdlFile]<a class="headerlink" href="#royalnet.audio.YtdlFile.download_from_url" title="Permalink to this definition"></a></dt>
<em class="property">classmethod </em><code class="sig-name descname">download_from_url</code><span class="sig-paren">(</span><em class="sig-param">url: str</em>, <em class="sig-param">**ytdl_args</em><span class="sig-paren">)</span> &#x2192; List[royalnet.audio.ytdlfile.YtdlFile]<a class="headerlink" href="#royalnet.audio.YtdlFile.download_from_url" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlFile.has_info">
<code class="descname">has_info</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; bool<a class="headerlink" href="#royalnet.audio.YtdlFile.has_info" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">has_info</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; bool<a class="headerlink" href="#royalnet.audio.YtdlFile.has_info" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlFile.is_downloaded">
<code class="descname">is_downloaded</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; bool<a class="headerlink" href="#royalnet.audio.YtdlFile.is_downloaded" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">is_downloaded</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; bool<a class="headerlink" href="#royalnet.audio.YtdlFile.is_downloaded" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlFile.open">
<code class="descname">open</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlFile.open" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">open</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlFile.open" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlFile.update_info">
<code class="descname">update_info</code><span class="sig-paren">(</span><em>**ytdl_args</em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.audio.YtdlFile.update_info" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">update_info</code><span class="sig-paren">(</span><em class="sig-param">**ytdl_args</em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.audio.YtdlFile.update_info" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.audio.FileAudioSource">
<em class="property">class </em><code class="descclassname">royalnet.audio.</code><code class="descname">FileAudioSource</code><span class="sig-paren">(</span><em>file</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.FileAudioSource" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.audio.</code><code class="sig-name descname">FileAudioSource</code><span class="sig-paren">(</span><em class="sig-param">file</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.FileAudioSource" title="Permalink to this definition"></a></dt>
<dd><p>A <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.AudioSource" title="(in discord.py v1.3.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">discord.AudioSource</span></code></a> that uses a <a class="reference external" href="https://docs.python.org/3.7/library/io.html#io.BufferedIOBase" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">io.BufferedIOBase</span></code></a> as an input instead of memory.</p>
<p>The stream should be in the usual PCM encoding.</p>
<div class="admonition warning">
@ -255,7 +256,7 @@
</div>
<dl class="method">
<dt id="royalnet.audio.FileAudioSource.is_opus">
<code class="descname">is_opus</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.FileAudioSource.is_opus" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">is_opus</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.FileAudioSource.is_opus" title="Permalink to this definition"></a></dt>
<dd><p>This audio file isnt Opus-encoded, but PCM-encoded.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -266,7 +267,7 @@
<dl class="method">
<dt id="royalnet.audio.FileAudioSource.read">
<code class="descname">read</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.FileAudioSource.read" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">read</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.FileAudioSource.read" title="Permalink to this definition"></a></dt>
<dd><p>Reads 20ms worth of audio.</p>
<p>If the audio is complete, then returning an empty <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#bytes" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bytes</span></code></a>-like object to signal this is the way to do so.</p>
</dd></dl>
@ -275,45 +276,85 @@
<dl class="class">
<dt id="royalnet.audio.YtdlDiscord">
<em class="property">class </em><code class="descclassname">royalnet.audio.</code><code class="descname">YtdlDiscord</code><span class="sig-paren">(</span><em>ytdl_file: royalnet.audio.ytdlfile.YtdlFile</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlDiscord" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.audio.</code><code class="sig-name descname">YtdlDiscord</code><span class="sig-paren">(</span><em class="sig-param">ytdl_file: royalnet.audio.ytdlfile.YtdlFile</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlDiscord" title="Permalink to this definition"></a></dt>
<dd><dl class="method">
<dt id="royalnet.audio.YtdlDiscord.convert_to_pcm">
<code class="descname">convert_to_pcm</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.audio.YtdlDiscord.convert_to_pcm" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">convert_to_pcm</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.audio.YtdlDiscord.convert_to_pcm" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="classmethod">
<dl class="method">
<dt id="royalnet.audio.YtdlDiscord.create_and_ready_from_url">
<em class="property">classmethod </em><code class="descname">create_and_ready_from_url</code><span class="sig-paren">(</span><em>url</em>, <em>**ytdl_args</em><span class="sig-paren">)</span> &#x2192; List[royalnet.audio.ytdldiscord.YtdlDiscord]<a class="headerlink" href="#royalnet.audio.YtdlDiscord.create_and_ready_from_url" title="Permalink to this definition"></a></dt>
<em class="property">classmethod </em><code class="sig-name descname">create_and_ready_from_url</code><span class="sig-paren">(</span><em class="sig-param">url</em>, <em class="sig-param">**ytdl_args</em><span class="sig-paren">)</span> &#x2192; List[royalnet.audio.ytdldiscord.YtdlDiscord]<a class="headerlink" href="#royalnet.audio.YtdlDiscord.create_and_ready_from_url" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="classmethod">
<dl class="method">
<dt id="royalnet.audio.YtdlDiscord.create_from_url">
<em class="property">classmethod </em><code class="descname">create_from_url</code><span class="sig-paren">(</span><em>url</em>, <em>**ytdl_args</em><span class="sig-paren">)</span> &#x2192; List[royalnet.audio.ytdldiscord.YtdlDiscord]<a class="headerlink" href="#royalnet.audio.YtdlDiscord.create_from_url" title="Permalink to this definition"></a></dt>
<em class="property">classmethod </em><code class="sig-name descname">create_from_url</code><span class="sig-paren">(</span><em class="sig-param">url</em>, <em class="sig-param">**ytdl_args</em><span class="sig-paren">)</span> &#x2192; List[royalnet.audio.ytdldiscord.YtdlDiscord]<a class="headerlink" href="#royalnet.audio.YtdlDiscord.create_from_url" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlDiscord.delete">
<code class="descname">delete</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.audio.YtdlDiscord.delete" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">delete</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.audio.YtdlDiscord.delete" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dl class="method">
<dt id="royalnet.audio.YtdlDiscord.info">
<code class="descname">info</code><a class="headerlink" href="#royalnet.audio.YtdlDiscord.info" title="Permalink to this definition"></a></dt>
<em class="property">property </em><code class="sig-name descname">info</code><a class="headerlink" href="#royalnet.audio.YtdlDiscord.info" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlDiscord.pcm_available">
<code class="descname">pcm_available</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlDiscord.pcm_available" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">pcm_available</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlDiscord.pcm_available" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlDiscord.ready_up">
<code class="descname">ready_up</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlDiscord.ready_up" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">ready_up</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlDiscord.ready_up" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlDiscord.spawn_audiosource">
<code class="descname">spawn_audiosource</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; royalnet.audio.fileaudiosource.FileAudioSource<a class="headerlink" href="#royalnet.audio.YtdlDiscord.spawn_audiosource" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">spawn_audiosource</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; royalnet.audio.fileaudiosource.FileAudioSource<a class="headerlink" href="#royalnet.audio.YtdlDiscord.spawn_audiosource" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.audio.YtdlMp3">
<em class="property">class </em><code class="sig-prename descclassname">royalnet.audio.</code><code class="sig-name descname">YtdlMp3</code><span class="sig-paren">(</span><em class="sig-param">ytdl_file: royalnet.audio.ytdlfile.YtdlFile</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlMp3" title="Permalink to this definition"></a></dt>
<dd><dl class="method">
<dt id="royalnet.audio.YtdlMp3.convert_to_mp3">
<code class="sig-name descname">convert_to_mp3</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.audio.YtdlMp3.convert_to_mp3" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlMp3.create_and_ready_from_url">
<em class="property">classmethod </em><code class="sig-name descname">create_and_ready_from_url</code><span class="sig-paren">(</span><em class="sig-param">url</em>, <em class="sig-param">**ytdl_args</em><span class="sig-paren">)</span> &#x2192; List[royalnet.audio.ytdlmp3.YtdlMp3]<a class="headerlink" href="#royalnet.audio.YtdlMp3.create_and_ready_from_url" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlMp3.create_from_url">
<em class="property">classmethod </em><code class="sig-name descname">create_from_url</code><span class="sig-paren">(</span><em class="sig-param">url</em>, <em class="sig-param">**ytdl_args</em><span class="sig-paren">)</span> &#x2192; List[royalnet.audio.ytdlmp3.YtdlMp3]<a class="headerlink" href="#royalnet.audio.YtdlMp3.create_from_url" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlMp3.delete">
<code class="sig-name descname">delete</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.audio.YtdlMp3.delete" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlMp3.info">
<em class="property">property </em><code class="sig-name descname">info</code><a class="headerlink" href="#royalnet.audio.YtdlMp3.info" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlMp3.pcm_available">
<code class="sig-name descname">pcm_available</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlMp3.pcm_available" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.audio.YtdlMp3.ready_up">
<code class="sig-name descname">ready_up</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.audio.YtdlMp3.ready_up" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -33,6 +33,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="royalnet.commands" href="commands.html" />
@ -162,44 +163,37 @@
<span class="target" id="module-royalnet.bots"></span><p>Various bot interfaces, and a generic class to create new ones.</p>
<dl class="class">
<dt id="royalnet.bots.TelegramBot">
<em class="property">class </em><code class="descclassname">royalnet.bots.</code><code class="descname">TelegramBot</code><span class="sig-paren">(</span><em>*</em>, <em>telegram_config: royalnet.bots.telegram.TelegramConfig</em>, <em>royalnet_config: Optional[royalnet.network.royalnetconfig.RoyalnetConfig] = None</em>, <em>database_config: Optional[royalnet.database.databaseconfig.DatabaseConfig] = None</em>, <em>command_prefix: str = '/'</em>, <em>commands: List[Type[royalnet.utils.command.Command]] = None</em>, <em>missing_command: Type[royalnet.utils.command.Command] = &lt;class 'royalnet.commands.null.NullCommand'&gt;</em>, <em>error_command: Type[royalnet.utils.command.Command] = &lt;class 'royalnet.commands.null.NullCommand'&gt;</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.TelegramBot" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.bots.</code><code class="sig-name descname">TelegramBot</code><span class="sig-paren">(</span><em class="sig-param">*</em>, <em class="sig-param">telegram_config: royalnet.bots.telegram.TelegramConfig</em>, <em class="sig-param">royalnet_config: Optional[royalnet.network.royalnetconfig.RoyalnetConfig] = None</em>, <em class="sig-param">database_config: Optional[royalnet.database.databaseconfig.DatabaseConfig] = None</em>, <em class="sig-param">commands: List[Type[royalnet.commands.command.Command]] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.TelegramBot" title="Permalink to this definition"></a></dt>
<dd><p>A bot that connects to <a class="reference external" href="https://telegram.org/">Telegram</a>.</p>
<dl class="method">
<dt id="royalnet.bots.TelegramBot._call_factory">
<code class="descname">_call_factory</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Type[royalnet.utils.call.Call]<a class="headerlink" href="#royalnet.bots.TelegramBot._call_factory" title="Permalink to this definition"></a></dt>
<dd><p>Create the TelegramCall class, representing a command call. It should inherit from <a class="reference internal" href="utils.html#royalnet.utils.Call" title="royalnet.utils.Call"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.utils.Call</span></code></a>.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>The created TelegramCall class.</p>
</dd>
</dl>
</dd></dl>
<dt id="royalnet.bots.TelegramBot._data_factory">
<code class="sig-name descname">_data_factory</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Type[royalnet.commands.commanddata.CommandData]<a class="headerlink" href="#royalnet.bots.TelegramBot._data_factory" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.bots.TelegramBot._handle_update">
<code class="descname">_handle_update</code><span class="sig-paren">(</span><em>update: telegram.update.Update</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.TelegramBot._handle_update" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">_handle_update</code><span class="sig-paren">(</span><em class="sig-param">update: telegram.update.Update</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.TelegramBot._handle_update" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.bots.TelegramBot._init_client">
<code class="descname">_init_client</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.TelegramBot._init_client" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">_init_client</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.TelegramBot._init_client" title="Permalink to this definition"></a></dt>
<dd><p>Create the <a class="reference external" href="https://python-telegram-bot.readthedocs.io/en/stable/telegram.bot.html#telegram.Bot" title="(in Python Telegram Bot v11.1)"><code class="xref py py-class docutils literal notranslate"><span class="pre">telegram.Bot</span></code></a>, and set the starting offset.</p>
</dd></dl>
<dl class="attribute">
<dt id="royalnet.bots.TelegramBot.botfather_command_string">
<code class="descname">botfather_command_string</code><a class="headerlink" href="#royalnet.bots.TelegramBot.botfather_command_string" title="Permalink to this definition"></a></dt>
<dd><p>Generate a string to be pasted in the “Edit Commands” BotFather prompt.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.bots.TelegramBot._interface_factory">
<code class="sig-name descname">_interface_factory</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Type[royalnet.commands.commandinterface.CommandInterface]<a class="headerlink" href="#royalnet.bots.TelegramBot._interface_factory" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.bots.TelegramBot.interface_name">
<code class="descname">interface_name</code><em class="property"> = 'telegram'</em><a class="headerlink" href="#royalnet.bots.TelegramBot.interface_name" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">interface_name</code><em class="property"> = 'telegram'</em><a class="headerlink" href="#royalnet.bots.TelegramBot.interface_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.bots.TelegramBot.run">
<code class="descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.TelegramBot.run" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.TelegramBot.run" title="Permalink to this definition"></a></dt>
<dd><p>A blocking coroutine that should make the bot start listening to commands and requests.</p>
</dd></dl>
@ -207,69 +201,68 @@
<dl class="class">
<dt id="royalnet.bots.TelegramConfig">
<em class="property">class </em><code class="descclassname">royalnet.bots.</code><code class="descname">TelegramConfig</code><span class="sig-paren">(</span><em>token: str</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.TelegramConfig" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.bots.</code><code class="sig-name descname">TelegramConfig</code><span class="sig-paren">(</span><em class="sig-param">token: str</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.TelegramConfig" title="Permalink to this definition"></a></dt>
<dd><p>The specific configuration to be used for <code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.database.TelegramBot</span></code>.</p>
</dd></dl>
<dl class="class">
<dt id="royalnet.bots.DiscordBot">
<em class="property">class </em><code class="descclassname">royalnet.bots.</code><code class="descname">DiscordBot</code><span class="sig-paren">(</span><em>*</em>, <em>discord_config: royalnet.bots.discord.DiscordConfig</em>, <em>royalnet_config: Optional[royalnet.network.royalnetconfig.RoyalnetConfig] = None</em>, <em>database_config: Optional[royalnet.database.databaseconfig.DatabaseConfig] = None</em>, <em>command_prefix: str = '!'</em>, <em>commands: List[Type[royalnet.utils.command.Command]] = None</em>, <em>missing_command: Type[royalnet.utils.command.Command] = &lt;class 'royalnet.commands.null.NullCommand'&gt;</em>, <em>error_command: Type[royalnet.utils.command.Command] = &lt;class 'royalnet.commands.null.NullCommand'&gt;</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.bots.</code><code class="sig-name descname">DiscordBot</code><span class="sig-paren">(</span><em class="sig-param">*</em>, <em class="sig-param">discord_config: royalnet.bots.discord.DiscordConfig</em>, <em class="sig-param">royalnet_config: Optional[royalnet.network.royalnetconfig.RoyalnetConfig] = None</em>, <em class="sig-param">database_config: Optional[royalnet.database.databaseconfig.DatabaseConfig] = None</em>, <em class="sig-param">commands: List[Type[royalnet.commands.command.Command]] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot" title="Permalink to this definition"></a></dt>
<dd><p>A bot that connects to <a class="reference external" href="https://discordapp.com/">Discord</a>.</p>
<dl class="method">
<dt id="royalnet.bots.DiscordBot._bot_factory">
<code class="descname">_bot_factory</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Type[discord.client.Client]<a class="headerlink" href="#royalnet.bots.DiscordBot._bot_factory" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">_bot_factory</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Type[discord.client.Client]<a class="headerlink" href="#royalnet.bots.DiscordBot._bot_factory" title="Permalink to this definition"></a></dt>
<dd><p>Create a custom DiscordClient class inheriting from <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Client" title="(in discord.py v1.3.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">discord.Client</span></code></a>.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.bots.DiscordBot._call_factory">
<code class="descname">_call_factory</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Type[royalnet.utils.call.Call]<a class="headerlink" href="#royalnet.bots.DiscordBot._call_factory" title="Permalink to this definition"></a></dt>
<dd><p>Create the TelegramCall class, representing a command call. It should inherit from <a class="reference internal" href="utils.html#royalnet.utils.Call" title="royalnet.utils.Call"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.utils.Call</span></code></a>.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>The created TelegramCall class.</p>
</dd>
</dl>
</dd></dl>
<dt id="royalnet.bots.DiscordBot._data_factory">
<code class="sig-name descname">_data_factory</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Type[royalnet.commands.commanddata.CommandData]<a class="headerlink" href="#royalnet.bots.DiscordBot._data_factory" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.bots.DiscordBot._init_client">
<code class="descname">_init_client</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot._init_client" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">_init_client</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot._init_client" title="Permalink to this definition"></a></dt>
<dd><p>Create an instance of the DiscordClient class created in <a class="reference internal" href="#royalnet.bots.DiscordBot._bot_factory" title="royalnet.bots.DiscordBot._bot_factory"><code class="xref py py-func docutils literal notranslate"><span class="pre">royalnet.bots.DiscordBot._bot_factory()</span></code></a>.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.bots.DiscordBot._init_voice">
<code class="descname">_init_voice</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot._init_voice" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">_init_voice</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot._init_voice" title="Permalink to this definition"></a></dt>
<dd><p>Initialize the variables needed for the connection to voice chat.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.bots.DiscordBot._interface_factory">
<code class="sig-name descname">_interface_factory</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Type[royalnet.commands.commandinterface.CommandInterface]<a class="headerlink" href="#royalnet.bots.DiscordBot._interface_factory" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.bots.DiscordBot.add_to_music_data">
<code class="descname">add_to_music_data</code><span class="sig-paren">(</span><em>dfiles: List[royalnet.audio.ytdldiscord.YtdlDiscord], guild: discord.guild.Guild</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot.add_to_music_data" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">add_to_music_data</code><span class="sig-paren">(</span><em class="sig-param">dfiles: List[royalnet.audio.ytdldiscord.YtdlDiscord], guild: discord.guild.Guild</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot.add_to_music_data" title="Permalink to this definition"></a></dt>
<dd><p>Add a list of <a class="reference internal" href="audio.html#royalnet.audio.YtdlDiscord" title="royalnet.audio.YtdlDiscord"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.audio.YtdlDiscord</span></code></a> to the corresponding music_data object.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.bots.DiscordBot.advance_music_data">
<code class="descname">advance_music_data</code><span class="sig-paren">(</span><em>guild: discord.guild.Guild</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot.advance_music_data" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">advance_music_data</code><span class="sig-paren">(</span><em class="sig-param">guild: discord.guild.Guild</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot.advance_music_data" title="Permalink to this definition"></a></dt>
<dd><p>Try to play the next song, while it exists. Otherwise, just return.</p>
</dd></dl>
<dl class="attribute">
<dt id="royalnet.bots.DiscordBot.interface_name">
<code class="descname">interface_name</code><em class="property"> = 'discord'</em><a class="headerlink" href="#royalnet.bots.DiscordBot.interface_name" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">interface_name</code><em class="property"> = 'discord'</em><a class="headerlink" href="#royalnet.bots.DiscordBot.interface_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.bots.DiscordBot.run">
<code class="descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot.run" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot.run" title="Permalink to this definition"></a></dt>
<dd><p>Login to Discord, then run the bot.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.bots.DiscordBot.update_activity_with_source_title">
<code class="descname">update_activity_with_source_title</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot.update_activity_with_source_title" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">update_activity_with_source_title</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordBot.update_activity_with_source_title" title="Permalink to this definition"></a></dt>
<dd><p>Change the bots presence (using <code class="xref py py-func docutils literal notranslate"><span class="pre">discord.Client.change_presence()</span></code>) to match the current listening status.</p>
<p>If multiple guilds are using the bot, the bot will always have an empty presence.</p>
</dd></dl>
@ -278,46 +271,48 @@
<dl class="class">
<dt id="royalnet.bots.DiscordConfig">
<em class="property">class </em><code class="descclassname">royalnet.bots.</code><code class="descname">DiscordConfig</code><span class="sig-paren">(</span><em>token: str</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordConfig" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.bots.</code><code class="sig-name descname">DiscordConfig</code><span class="sig-paren">(</span><em class="sig-param">token: str</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.DiscordConfig" title="Permalink to this definition"></a></dt>
<dd><p>The specific configuration to be used for <a class="reference internal" href="#royalnet.bots.DiscordBot" title="royalnet.bots.DiscordBot"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.bots.DiscordBot</span></code></a>.</p>
</dd></dl>
<dl class="class">
<dt id="royalnet.bots.GenericBot">
<em class="property">class </em><code class="descclassname">royalnet.bots.</code><code class="descname">GenericBot</code><span class="sig-paren">(</span><em>*</em>, <em>royalnet_config: Optional[royalnet.network.royalnetconfig.RoyalnetConfig] = None</em>, <em>database_config: Optional[royalnet.database.databaseconfig.DatabaseConfig] = None</em>, <em>command_prefix: str</em>, <em>commands: List[Type[royalnet.utils.command.Command]] = None</em>, <em>missing_command: Type[royalnet.utils.command.Command] = &lt;class 'royalnet.commands.null.NullCommand'&gt;</em>, <em>error_command: Type[royalnet.utils.command.Command] = &lt;class 'royalnet.commands.null.NullCommand'&gt;</em>, <em>loop: asyncio.events.AbstractEventLoop = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.GenericBot" title="Permalink to this definition"></a></dt>
<dd><p>A generic bot class, to be used as base for the other more specific classes, such as <span class="xref std std-ref">royalnet.bots.TelegramBot</span> and <span class="xref std std-ref">royalnet.bots.DiscordBot</span>.</p>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.bots.</code><code class="sig-name descname">GenericBot</code><span class="sig-paren">(</span><em class="sig-param">*</em>, <em class="sig-param">royalnet_config: Optional[royalnet.network.royalnetconfig.RoyalnetConfig] = None</em>, <em class="sig-param">database_config: Optional[royalnet.database.databaseconfig.DatabaseConfig] = None</em>, <em class="sig-param">commands: List[Type[royalnet.commands.command.Command]] = None</em>, <em class="sig-param">loop: asyncio.events.AbstractEventLoop = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.GenericBot" title="Permalink to this definition"></a></dt>
<dd><p>A generic bot class, to be used as base for the other more specific classes, such as
<span class="xref std std-ref">royalnet.bots.TelegramBot</span> and <span class="xref std std-ref">royalnet.bots.DiscordBot</span>.</p>
<dl class="method">
<dt id="royalnet.bots.GenericBot._call_factory">
<code class="descname">_call_factory</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Type[royalnet.utils.call.Call]<a class="headerlink" href="#royalnet.bots.GenericBot._call_factory" title="Permalink to this definition"></a></dt>
<dd><p>Create the TelegramCall class, representing a command call. It should inherit from <a class="reference internal" href="utils.html#royalnet.utils.Call" title="royalnet.utils.Call"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.utils.Call</span></code></a>.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>The created TelegramCall class.</p>
</dd>
</dl>
</dd></dl>
<dt id="royalnet.bots.GenericBot._data_factory">
<code class="sig-name descname">_data_factory</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Type[royalnet.commands.commanddata.CommandData]<a class="headerlink" href="#royalnet.bots.GenericBot._data_factory" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.bots.GenericBot._init_commands">
<code class="descname">_init_commands</code><span class="sig-paren">(</span><em>command_prefix: str, commands: List[Type[royalnet.utils.command.Command]], missing_command: Type[royalnet.utils.command.Command], error_command: Type[royalnet.utils.command.Command]</em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.bots.GenericBot._init_commands" title="Permalink to this definition"></a></dt>
<dd><p>Generate the <code class="docutils literal notranslate"><span class="pre">commands</span></code> dictionary required to handle incoming messages, and the <code class="docutils literal notranslate"><span class="pre">network_handlers</span></code> dictionary required to handle incoming requests.</p>
<code class="sig-name descname">_init_commands</code><span class="sig-paren">(</span><em class="sig-param">commands: List[Type[royalnet.commands.command.Command]]</em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.bots.GenericBot._init_commands" title="Permalink to this definition"></a></dt>
<dd><p>Generate the <code class="docutils literal notranslate"><span class="pre">commands</span></code> dictionary required to handle incoming messages, and the <code class="docutils literal notranslate"><span class="pre">network_handlers</span></code>
dictionary required to handle incoming requests.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.bots.GenericBot._init_database">
<code class="descname">_init_database</code><span class="sig-paren">(</span><em>commands: List[Type[royalnet.utils.command.Command]], database_config: royalnet.database.databaseconfig.DatabaseConfig</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.GenericBot._init_database" title="Permalink to this definition"></a></dt>
<dd><p>Create an <a class="reference internal" href="database.html#royalnet.database.Alchemy" title="royalnet.database.Alchemy"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.database.Alchemy</span></code></a> with the tables required by the commands. Then, find the chain that links the <code class="docutils literal notranslate"><span class="pre">master_table</span></code> to the <code class="docutils literal notranslate"><span class="pre">identity_table</span></code>.</p>
<code class="sig-name descname">_init_database</code><span class="sig-paren">(</span><em class="sig-param">commands: List[Type[royalnet.commands.command.Command]], database_config: royalnet.database.databaseconfig.DatabaseConfig</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.GenericBot._init_database" title="Permalink to this definition"></a></dt>
<dd><p>Create an <a class="reference internal" href="database.html#royalnet.database.Alchemy" title="royalnet.database.Alchemy"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.database.Alchemy</span></code></a> with the tables required by the commands. Then,
find the chain that links the <code class="docutils literal notranslate"><span class="pre">master_table</span></code> to the <code class="docutils literal notranslate"><span class="pre">identity_table</span></code>.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.bots.GenericBot._init_royalnet">
<code class="descname">_init_royalnet</code><span class="sig-paren">(</span><em>royalnet_config: royalnet.network.royalnetconfig.RoyalnetConfig</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.GenericBot._init_royalnet" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">_init_royalnet</code><span class="sig-paren">(</span><em class="sig-param">royalnet_config: royalnet.network.royalnetconfig.RoyalnetConfig</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.GenericBot._init_royalnet" title="Permalink to this definition"></a></dt>
<dd><p>Create a <a class="reference internal" href="network.html#royalnet.network.RoyalnetLink" title="royalnet.network.RoyalnetLink"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetLink</span></code></a>, and run it as a <a class="reference external" href="https://docs.python.org/3.7/library/asyncio-task.html#asyncio.Task" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">asyncio.Task</span></code></a>.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.bots.GenericBot._interface_factory">
<code class="sig-name descname">_interface_factory</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; Type[royalnet.commands.commandinterface.CommandInterface]<a class="headerlink" href="#royalnet.bots.GenericBot._interface_factory" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.bots.GenericBot._network_handler">
<code class="descname">_network_handler</code><span class="sig-paren">(</span><em>request_dict: dict</em><span class="sig-paren">)</span> &#x2192; dict<a class="headerlink" href="#royalnet.bots.GenericBot._network_handler" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">_network_handler</code><span class="sig-paren">(</span><em class="sig-param">request_dict: dict</em><span class="sig-paren">)</span> &#x2192; dict<a class="headerlink" href="#royalnet.bots.GenericBot._network_handler" title="Permalink to this definition"></a></dt>
<dd><p>Handle a single <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a> received from the <a class="reference internal" href="network.html#royalnet.network.RoyalnetLink" title="royalnet.network.RoyalnetLink"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetLink</span></code></a>.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns</dt>
@ -326,22 +321,14 @@
</dl>
</dd></dl>
<dl class="method">
<dt id="royalnet.bots.GenericBot.call">
<code class="descname">call</code><span class="sig-paren">(</span><em>command_name: str</em>, <em>channel</em>, <em>parameters: List[str] = None</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.GenericBot.call" title="Permalink to this definition"></a></dt>
<dd><p>Call the command with the specified name.</p>
<p>If it doesnt exist, call <code class="docutils literal notranslate"><span class="pre">self.missing_command</span></code>.</p>
<p>If an exception is raised during the execution of the command, call <code class="docutils literal notranslate"><span class="pre">self.error_command</span></code>.</p>
</dd></dl>
<dl class="attribute">
<dt id="royalnet.bots.GenericBot.interface_name">
<code class="descname">interface_name</code><em class="property"> = NotImplemented</em><a class="headerlink" href="#royalnet.bots.GenericBot.interface_name" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">interface_name</code><em class="property"> = NotImplemented</em><a class="headerlink" href="#royalnet.bots.GenericBot.interface_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.bots.GenericBot.run">
<code class="descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.GenericBot.run" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.bots.GenericBot.run" title="Permalink to this definition"></a></dt>
<dd><p>A blocking coroutine that should make the bot start listening to commands and requests.</p>
</dd></dl>

View file

@ -33,6 +33,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="royalnet.database" href="database.html" />
@ -159,137 +160,79 @@
<h1>royalnet.commands<a class="headerlink" href="#royalnet-commands" title="Permalink to this headline"></a></h1>
<div class="toctree-wrapper compound">
</div>
<span class="target" id="module-royalnet.commands"></span><p>Commands that can be used in bots.</p>
<p>These probably wont suit your needs, as they are tailored for the bots of the Royal Games gaming community, but they may be useful to develop new ones.</p>
<dl class="class">
<dt id="royalnet.commands.NullCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">NullCommand</code><a class="headerlink" href="#royalnet.commands.NullCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<span class="target" id="module-royalnet.commands"></span><dl class="class">
<dt id="royalnet.commands.CommandArgs">
<em class="property">class </em><code class="sig-prename descclassname">royalnet.commands.</code><code class="sig-name descname">CommandArgs</code><a class="headerlink" href="#royalnet.commands.CommandArgs" title="Permalink to this definition"></a></dt>
<dd><p>An interface to access the arguments of a command with ease.</p>
<dl class="method">
<dt id="royalnet.commands.CommandArgs.__getitem__">
<code class="sig-name descname">__getitem__</code><span class="sig-paren">(</span><em class="sig-param">item</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.commands.CommandArgs.__getitem__" title="Permalink to this definition"></a></dt>
<dd><p>Arguments can be accessed with an array notation, such as <code class="docutils literal notranslate"><span class="pre">args[0]</span></code>.</p>
<dl class="field-list simple">
<dt class="field-odd">Raises</dt>
<dd class="field-odd"><p><a class="reference internal" href="error.html#royalnet.error.InvalidInputError" title="royalnet.error.InvalidInputError"><strong>royalnet.error.InvalidInputError</strong></a> if the requested argument does not exist.</p>
</dd>
</dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.commands.PingCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">PingCommand</code><a class="headerlink" href="#royalnet.commands.PingCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.commands.CommandArgs.__weakref__">
<code class="sig-name descname">__weakref__</code><a class="headerlink" href="#royalnet.commands.CommandArgs.__weakref__" title="Permalink to this definition"></a></dt>
<dd><p>list of weak references to the object (if defined)</p>
</dd></dl>
<dl class="class">
<dt id="royalnet.commands.ShipCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">ShipCommand</code><a class="headerlink" href="#royalnet.commands.ShipCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.commands.CommandArgs.joined">
<code class="sig-name descname">joined</code><span class="sig-paren">(</span><em class="sig-param">*</em>, <em class="sig-param">require_at_least=0</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.commands.CommandArgs.joined" title="Permalink to this definition"></a></dt>
<dd><p>Get the arguments as a space-joined string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>require_at_least</strong> the minimum amount of arguments required, will raise <a class="reference internal" href="error.html#royalnet.error.InvalidInputError" title="royalnet.error.InvalidInputError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">royalnet.error.InvalidInputError</span></code></a> if the requirement is not fullfilled.</p>
</dd>
<dt class="field-even">Raises</dt>
<dd class="field-even"><p><a class="reference internal" href="error.html#royalnet.error.InvalidInputError" title="royalnet.error.InvalidInputError"><strong>royalnet.error.InvalidInputError</strong></a> if there are less than <code class="docutils literal notranslate"><span class="pre">require_at_least</span></code> arguments.</p>
</dd>
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>The space-joined string.</p>
</dd>
</dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.commands.SmecdsCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">SmecdsCommand</code><a class="headerlink" href="#royalnet.commands.SmecdsCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.commands.CommandArgs.match">
<code class="sig-name descname">match</code><span class="sig-paren">(</span><em class="sig-param">pattern: Union[str, Pattern]</em><span class="sig-paren">)</span> &#x2192; Sequence[AnyStr]<a class="headerlink" href="#royalnet.commands.CommandArgs.match" title="Permalink to this definition"></a></dt>
<dd><p>Match the <code class="xref py py-func docutils literal notranslate"><span class="pre">royalnet.utils.commandargs.joined()</span></code> to a regex pattern.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>pattern</strong> The regex pattern to be passed to <a class="reference external" href="https://docs.python.org/3.7/library/re.html#re.match" title="(in Python v3.7)"><code class="xref py py-func docutils literal notranslate"><span class="pre">re.match()</span></code></a>.</p>
</dd>
<dt class="field-even">Raises</dt>
<dd class="field-even"><p><a class="reference internal" href="error.html#royalnet.error.InvalidInputError" title="royalnet.error.InvalidInputError"><strong>royalnet.error.InvalidInputError</strong></a> if the pattern doesnt match.</p>
</dd>
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>The matched groups, as returned by <code class="xref py py-func docutils literal notranslate"><span class="pre">re.Match.groups()</span></code>.</p>
</dd>
</dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.commands.CiaoruoziCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">CiaoruoziCommand</code><a class="headerlink" href="#royalnet.commands.CiaoruoziCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.commands.CommandArgs.optional">
<code class="sig-name descname">optional</code><span class="sig-paren">(</span><em class="sig-param">index: int</em>, <em class="sig-param">default=None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.commands.CommandArgs.optional" title="Permalink to this definition"></a></dt>
<dd><p>Get the argument at a specific index, but dont raise an error if nothing is found, instead returning the <code class="docutils literal notranslate"><span class="pre">default</span></code> value.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>index</strong> The index of the argument you want to retrieve.</p></li>
<li><p><strong>default</strong> The value returned if the argument is missing.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>Either the argument or the <code class="docutils literal notranslate"><span class="pre">default</span></code> value, defaulting to <code class="docutils literal notranslate"><span class="pre">None</span></code>.</p>
</dd>
</dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.commands.ColorCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">ColorCommand</code><a class="headerlink" href="#royalnet.commands.ColorCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.SyncCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">SyncCommand</code><a class="headerlink" href="#royalnet.commands.SyncCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.DiarioCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">DiarioCommand</code><a class="headerlink" href="#royalnet.commands.DiarioCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.RageCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">RageCommand</code><a class="headerlink" href="#royalnet.commands.RageCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.DateparserCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">DateparserCommand</code><a class="headerlink" href="#royalnet.commands.DateparserCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.AuthorCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">AuthorCommand</code><a class="headerlink" href="#royalnet.commands.AuthorCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.ReminderCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">ReminderCommand</code><a class="headerlink" href="#royalnet.commands.ReminderCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.KvactiveCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">KvactiveCommand</code><a class="headerlink" href="#royalnet.commands.KvactiveCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.KvCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">KvCommand</code><a class="headerlink" href="#royalnet.commands.KvCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.KvrollCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">KvrollCommand</code><a class="headerlink" href="#royalnet.commands.KvrollCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.VideoinfoCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">VideoinfoCommand</code><a class="headerlink" href="#royalnet.commands.VideoinfoCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.SummonCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">SummonCommand</code><a class="headerlink" href="#royalnet.commands.SummonCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.PlayCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">PlayCommand</code><a class="headerlink" href="#royalnet.commands.PlayCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.SkipCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">SkipCommand</code><a class="headerlink" href="#royalnet.commands.SkipCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.PlaymodeCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">PlaymodeCommand</code><a class="headerlink" href="#royalnet.commands.PlaymodeCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.VideochannelCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">VideochannelCommand</code><a class="headerlink" href="#royalnet.commands.VideochannelCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.MissingCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">MissingCommand</code><a class="headerlink" href="#royalnet.commands.MissingCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.CvCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">CvCommand</code><a class="headerlink" href="#royalnet.commands.CvCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.PauseCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">PauseCommand</code><a class="headerlink" href="#royalnet.commands.PauseCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.QueueCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">QueueCommand</code><a class="headerlink" href="#royalnet.commands.QueueCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="class">
<dt id="royalnet.commands.RoyalnetprofileCommand">
<em class="property">class </em><code class="descclassname">royalnet.commands.</code><code class="descname">RoyalnetprofileCommand</code><a class="headerlink" href="#royalnet.commands.RoyalnetprofileCommand" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
</div>

View file

@ -33,6 +33,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="royalnet.network" href="network.html" />
@ -163,11 +164,11 @@
<span class="target" id="module-royalnet.database"></span><p>Relational database classes and methods.</p>
<dl class="class">
<dt id="royalnet.database.Alchemy">
<em class="property">class </em><code class="descclassname">royalnet.database.</code><code class="descname">Alchemy</code><span class="sig-paren">(</span><em>database_uri: str, tables: Set[T]</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.Alchemy" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.</code><code class="sig-name descname">Alchemy</code><span class="sig-paren">(</span><em class="sig-param">database_uri: str</em>, <em class="sig-param">tables: Set</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.Alchemy" title="Permalink to this definition"></a></dt>
<dd><p>A wrapper around SQLAlchemy declarative that allows to use multiple databases at once while maintaining a single table-class for both of them.</p>
<dl class="method">
<dt id="royalnet.database.Alchemy.__init__">
<code class="descname">__init__</code><span class="sig-paren">(</span><em>database_uri: str, tables: Set[T]</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.Alchemy.__init__" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">database_uri: str</em>, <em class="sig-param">tables: Set</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.Alchemy.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Create a new Alchemy object.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -181,18 +182,18 @@
<dl class="method">
<dt id="royalnet.database.Alchemy._create_tables">
<code class="descname">_create_tables</code><span class="sig-paren">(</span><em>tables: Set[T]</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.Alchemy._create_tables" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">_create_tables</code><span class="sig-paren">(</span><em class="sig-param">tables: Set</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.Alchemy._create_tables" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.database.Alchemy.session_acm">
<code class="descname">session_acm</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.Alchemy.session_acm" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">session_acm</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.Alchemy.session_acm" title="Permalink to this definition"></a></dt>
<dd><p>Use Alchemy as a asyncronous context manager (to be used in async with statements).</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.database.Alchemy.session_cm">
<code class="descname">session_cm</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.Alchemy.session_cm" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">session_cm</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.Alchemy.session_cm" title="Permalink to this definition"></a></dt>
<dd><p>Use Alchemy as a context manager (to be used in with statements).</p>
</dd></dl>
@ -200,13 +201,13 @@
<dl class="function">
<dt id="royalnet.database.relationshiplinkchain">
<code class="descclassname">royalnet.database.</code><code class="descname">relationshiplinkchain</code><span class="sig-paren">(</span><em>starting_class</em>, <em>ending_class</em><span class="sig-paren">)</span> &#x2192; Optional[tuple]<a class="headerlink" href="#royalnet.database.relationshiplinkchain" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">royalnet.database.</code><code class="sig-name descname">relationshiplinkchain</code><span class="sig-paren">(</span><em class="sig-param">starting_class</em>, <em class="sig-param">ending_class</em><span class="sig-paren">)</span> &#x2192; Optional[tuple]<a class="headerlink" href="#royalnet.database.relationshiplinkchain" title="Permalink to this definition"></a></dt>
<dd><p>Find the path to follow to get from the starting table to the ending table.</p>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.DatabaseConfig">
<em class="property">class </em><code class="descclassname">royalnet.database.</code><code class="descname">DatabaseConfig</code><span class="sig-paren">(</span><em>database_uri: str, master_table: Type[CT_co], identity_table: Type[CT_co], identity_column_name: str</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.DatabaseConfig" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.</code><code class="sig-name descname">DatabaseConfig</code><span class="sig-paren">(</span><em class="sig-param">database_uri: str</em>, <em class="sig-param">master_table: Type</em>, <em class="sig-param">identity_table: Type</em>, <em class="sig-param">identity_column_name: str</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.DatabaseConfig" title="Permalink to this definition"></a></dt>
<dd><p>The configuration to be used for the <span class="xref std std-ref">royalnet.database.Alchemy</span> component of <span class="xref std std-ref">royalnet.bots.GenericBot</span>.</p>
</dd></dl>
@ -214,297 +215,297 @@
<span id="tables"></span><h2>Tables<a class="headerlink" href="#module-royalnet.database.tables" title="Permalink to this headline"></a></h2>
<dl class="class">
<dt id="royalnet.database.tables.Royal">
<em class="property">class </em><code class="descclassname">royalnet.database.tables.</code><code class="descname">Royal</code><a class="headerlink" href="#royalnet.database.tables.Royal" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">Royal</code><a class="headerlink" href="#royalnet.database.tables.Royal" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.Royal.avatar">
<code class="descname">avatar</code><em class="property"> = Column(None, LargeBinary(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Royal.avatar" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">avatar</code><em class="property"> = Column(None, LargeBinary(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Royal.avatar" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Royal.password">
<code class="descname">password</code><em class="property"> = Column(None, LargeBinary(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Royal.password" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">password</code><em class="property"> = Column(None, LargeBinary(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Royal.password" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Royal.role">
<code class="descname">role</code><em class="property"> = Column(None, String(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Royal.role" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">role</code><em class="property"> = Column(None, String(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Royal.role" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Royal.uid">
<code class="descname">uid</code><em class="property"> = Column(None, Integer(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Royal.uid" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">uid</code><em class="property"> = Column(None, Integer(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Royal.uid" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Royal.username">
<code class="descname">username</code><em class="property"> = Column(None, String(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Royal.username" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">username</code><em class="property"> = Column(None, String(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Royal.username" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.Telegram">
<em class="property">class </em><code class="descclassname">royalnet.database.tables.</code><code class="descname">Telegram</code><a class="headerlink" href="#royalnet.database.tables.Telegram" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">Telegram</code><a class="headerlink" href="#royalnet.database.tables.Telegram" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.Telegram.first_name">
<code class="descname">first_name</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Telegram.first_name" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">first_name</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Telegram.first_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Telegram.last_name">
<code class="descname">last_name</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Telegram.last_name" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">last_name</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Telegram.last_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.database.tables.Telegram.mention">
<code class="descname">mention</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.database.tables.Telegram.mention" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">mention</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.database.tables.Telegram.mention" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Telegram.royal">
<code class="descname">royal</code><em class="property"> = &lt;RelationshipProperty at 0x7f63c90; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Telegram.royal" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">royal</code><em class="property"> = &lt;RelationshipProperty at 0x77b4108; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Telegram.royal" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Telegram.royal_id">
<code class="descname">royal_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Telegram.royal_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">royal_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Telegram.royal_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Telegram.tg_id">
<code class="descname">tg_id</code><em class="property"> = Column(None, BigInteger(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Telegram.tg_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">tg_id</code><em class="property"> = Column(None, BigInteger(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Telegram.tg_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Telegram.username">
<code class="descname">username</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Telegram.username" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">username</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Telegram.username" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.Diario">
<em class="property">class </em><code class="descclassname">royalnet.database.tables.</code><code class="descname">Diario</code><a class="headerlink" href="#royalnet.database.tables.Diario" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">Diario</code><a class="headerlink" href="#royalnet.database.tables.Diario" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.Diario.context">
<code class="descname">context</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.context" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">context</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.context" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Diario.creator">
<code class="descname">creator</code><em class="property"> = &lt;RelationshipProperty at 0x7f63810; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Diario.creator" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">creator</code><em class="property"> = &lt;RelationshipProperty at 0x77b4348; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Diario.creator" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Diario.creator_id">
<code class="descname">creator_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.creator_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">creator_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.creator_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Diario.diario_id">
<code class="descname">diario_id</code><em class="property"> = Column(None, Integer(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Diario.diario_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">diario_id</code><em class="property"> = Column(None, Integer(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Diario.diario_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Diario.media_url">
<code class="descname">media_url</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.media_url" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">media_url</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.media_url" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Diario.quoted">
<code class="descname">quoted</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.quoted" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">quoted</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.quoted" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Diario.quoted_account">
<code class="descname">quoted_account</code><em class="property"> = &lt;RelationshipProperty at 0x7f73270; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Diario.quoted_account" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">quoted_account</code><em class="property"> = &lt;RelationshipProperty at 0x77b45d0; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Diario.quoted_account" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Diario.quoted_account_id">
<code class="descname">quoted_account_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.quoted_account_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">quoted_account_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.quoted_account_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Diario.spoiler">
<code class="descname">spoiler</code><em class="property"> = Column(None, Boolean(), table=None, default=ColumnDefault(False))</em><a class="headerlink" href="#royalnet.database.tables.Diario.spoiler" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">spoiler</code><em class="property"> = Column(None, Boolean(), table=None, default=ColumnDefault(False))</em><a class="headerlink" href="#royalnet.database.tables.Diario.spoiler" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Diario.text">
<code class="descname">text</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.text" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">text</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Diario.text" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Diario.timestamp">
<code class="descname">timestamp</code><em class="property"> = Column(None, DateTime(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Diario.timestamp" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">timestamp</code><em class="property"> = Column(None, DateTime(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Diario.timestamp" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.Alias">
<em class="property">class </em><code class="descclassname">royalnet.database.tables.</code><code class="descname">Alias</code><a class="headerlink" href="#royalnet.database.tables.Alias" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">Alias</code><a class="headerlink" href="#royalnet.database.tables.Alias" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.Alias.alias">
<code class="descname">alias</code><em class="property"> = Column(None, String(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Alias.alias" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">alias</code><em class="property"> = Column(None, String(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Alias.alias" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Alias.royal">
<code class="descname">royal</code><em class="property"> = &lt;RelationshipProperty at 0x7f637c8; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Alias.royal" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">royal</code><em class="property"> = &lt;RelationshipProperty at 0x77b4300; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Alias.royal" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Alias.royal_id">
<code class="descname">royal_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Alias.royal_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">royal_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Alias.royal_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.ActiveKvGroup">
<em class="property">class </em><code class="descclassname">royalnet.database.tables.</code><code class="descname">ActiveKvGroup</code><a class="headerlink" href="#royalnet.database.tables.ActiveKvGroup" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">ActiveKvGroup</code><a class="headerlink" href="#royalnet.database.tables.ActiveKvGroup" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.ActiveKvGroup.group">
<code class="descname">group</code><em class="property"> = &lt;RelationshipProperty at 0x7f63978; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.ActiveKvGroup.group" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">group</code><em class="property"> = &lt;RelationshipProperty at 0x7733f18; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.ActiveKvGroup.group" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.ActiveKvGroup.group_name">
<code class="descname">group_name</code><em class="property"> = Column(None, String(), ForeignKey('keygroups.group_name'), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.ActiveKvGroup.group_name" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">group_name</code><em class="property"> = Column(None, String(), ForeignKey('keygroups.group_name'), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.ActiveKvGroup.group_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.ActiveKvGroup.royal">
<code class="descname">royal</code><em class="property"> = &lt;RelationshipProperty at 0x7f63660; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.ActiveKvGroup.royal" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">royal</code><em class="property"> = &lt;RelationshipProperty at 0x77b4300; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.ActiveKvGroup.royal" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.ActiveKvGroup.royal_id">
<code class="descname">royal_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.ActiveKvGroup.royal_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">royal_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.ActiveKvGroup.royal_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.Keyvalue">
<em class="property">class </em><code class="descclassname">royalnet.database.tables.</code><code class="descname">Keyvalue</code><a class="headerlink" href="#royalnet.database.tables.Keyvalue" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">Keyvalue</code><a class="headerlink" href="#royalnet.database.tables.Keyvalue" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.Keyvalue.group">
<code class="descname">group</code><em class="property"> = &lt;RelationshipProperty at 0x7f63fa8; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Keyvalue.group" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">group</code><em class="property"> = &lt;RelationshipProperty at 0x77b4660; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Keyvalue.group" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Keyvalue.group_name">
<code class="descname">group_name</code><em class="property"> = Column(None, String(), ForeignKey('keygroups.group_name'), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Keyvalue.group_name" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">group_name</code><em class="property"> = Column(None, String(), ForeignKey('keygroups.group_name'), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Keyvalue.group_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Keyvalue.key">
<code class="descname">key</code><em class="property"> = Column(None, String(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Keyvalue.key" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">key</code><em class="property"> = Column(None, String(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Keyvalue.key" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Keyvalue.value">
<code class="descname">value</code><em class="property"> = Column(None, String(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Keyvalue.value" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">value</code><em class="property"> = Column(None, String(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Keyvalue.value" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.Keygroup">
<em class="property">class </em><code class="descclassname">royalnet.database.tables.</code><code class="descname">Keygroup</code><a class="headerlink" href="#royalnet.database.tables.Keygroup" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">Keygroup</code><a class="headerlink" href="#royalnet.database.tables.Keygroup" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.Keygroup.group_name">
<code class="descname">group_name</code><em class="property"> = Column(None, String(), ForeignKey('keygroups.group_name'), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Keygroup.group_name" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">group_name</code><em class="property"> = Column(None, String(), ForeignKey('keygroups.group_name'), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Keygroup.group_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.Discord">
<em class="property">class </em><code class="descclassname">royalnet.database.tables.</code><code class="descname">Discord</code><a class="headerlink" href="#royalnet.database.tables.Discord" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">Discord</code><a class="headerlink" href="#royalnet.database.tables.Discord" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.Discord.avatar_hash">
<code class="descname">avatar_hash</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Discord.avatar_hash" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">avatar_hash</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Discord.avatar_hash" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Discord.discord_id">
<code class="descname">discord_id</code><em class="property"> = Column(None, BigInteger(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Discord.discord_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">discord_id</code><em class="property"> = Column(None, BigInteger(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Discord.discord_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Discord.discriminator">
<code class="descname">discriminator</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Discord.discriminator" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">discriminator</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Discord.discriminator" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.database.tables.Discord.full_username">
<code class="descname">full_username</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.tables.Discord.full_username" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">full_username</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.database.tables.Discord.full_username" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Discord.royal">
<code class="descname">royal</code><em class="property"> = &lt;RelationshipProperty at 0x7f63e40; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Discord.royal" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">royal</code><em class="property"> = &lt;RelationshipProperty at 0x77b45d0; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Discord.royal" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Discord.royal_id">
<code class="descname">royal_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Discord.royal_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">royal_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Discord.royal_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Discord.username">
<code class="descname">username</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Discord.username" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">username</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Discord.username" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.WikiPage">
<em class="property">class </em><code class="descclassname">royalnet.database.tables.</code><code class="descname">WikiPage</code><a class="headerlink" href="#royalnet.database.tables.WikiPage" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">WikiPage</code><a class="headerlink" href="#royalnet.database.tables.WikiPage" title="Permalink to this definition"></a></dt>
<dd><p>Wiki page properties.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Requires PostgreSQL!</p>
</div>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiPage.content">
<code class="descname">content</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.WikiPage.content" title="Permalink to this definition"></a></dt>
<dt id="royalnet.database.tables.WikiPage.contents">
<code class="sig-name descname">contents</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.WikiPage.contents" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiPage.css">
<code class="descname">css</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.WikiPage.css" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">css</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.WikiPage.css" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiPage.format">
<code class="descname">format</code><em class="property"> = Column(None, String(), table=None, nullable=False, default=ColumnDefault('markdown'))</em><a class="headerlink" href="#royalnet.database.tables.WikiPage.format" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">format</code><em class="property"> = Column(None, String(), table=None, nullable=False, default=ColumnDefault('markdown'))</em><a class="headerlink" href="#royalnet.database.tables.WikiPage.format" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiPage.page_id">
<code class="descname">page_id</code><em class="property"> = Column(None, UUID(as_uuid=True), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiPage.page_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">page_id</code><em class="property"> = Column(None, UUID(as_uuid=True), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiPage.page_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dl class="method">
<dt id="royalnet.database.tables.WikiPage.page_short_id">
<code class="descname">page_short_id</code><a class="headerlink" href="#royalnet.database.tables.WikiPage.page_short_id" title="Permalink to this definition"></a></dt>
<em class="property">property </em><code class="sig-name descname">page_short_id</code><a class="headerlink" href="#royalnet.database.tables.WikiPage.page_short_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiPage.title">
<code class="descname">title</code><em class="property"> = Column(None, String(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiPage.title" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">title</code><em class="property"> = Column(None, String(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiPage.title" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.WikiRevision">
<em class="property">class </em><code class="descclassname">royalnet.database.tables.</code><code class="descname">WikiRevision</code><a class="headerlink" href="#royalnet.database.tables.WikiRevision" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">WikiRevision</code><a class="headerlink" href="#royalnet.database.tables.WikiRevision" title="Permalink to this definition"></a></dt>
<dd><p>A wiki page revision.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
@ -512,42 +513,172 @@
</div>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiRevision.author">
<code class="descname">author</code><em class="property"> = &lt;RelationshipProperty at 0x7f63c48; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.author" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">author</code><em class="property"> = &lt;RelationshipProperty at 0x77b4738; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.author" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiRevision.author_id">
<code class="descname">author_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.author_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">author_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.author_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiRevision.diff">
<code class="descname">diff</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.diff" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">diff</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.diff" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiRevision.page">
<code class="descname">page</code><em class="property"> = &lt;RelationshipProperty at 0x7f732b8; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.page" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">page</code><em class="property"> = &lt;RelationshipProperty at 0x77b4150; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.page" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiRevision.page_id">
<code class="descname">page_id</code><em class="property"> = Column(None, UUID(as_uuid=True), ForeignKey('wikipages.page_id'), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.page_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">page_id</code><em class="property"> = Column(None, UUID(as_uuid=True), ForeignKey('wikipages.page_id'), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.page_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiRevision.reason">
<code class="descname">reason</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.reason" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">reason</code><em class="property"> = Column(None, Text(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.reason" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiRevision.revision_id">
<code class="descname">revision_id</code><em class="property"> = Column(None, UUID(as_uuid=True), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.revision_id" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">revision_id</code><em class="property"> = Column(None, UUID(as_uuid=True), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.revision_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.WikiRevision.timestamp">
<code class="descname">timestamp</code><em class="property"> = Column(None, DateTime(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.timestamp" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">timestamp</code><em class="property"> = Column(None, DateTime(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.WikiRevision.timestamp" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.Medal">
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">Medal</code><a class="headerlink" href="#royalnet.database.tables.Medal" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.Medal.classes">
<code class="sig-name descname">classes</code><em class="property"> = Column(None, String(), table=None, nullable=False, default=ColumnDefault(''))</em><a class="headerlink" href="#royalnet.database.tables.Medal.classes" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Medal.description">
<code class="sig-name descname">description</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Medal.description" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Medal.icon">
<code class="sig-name descname">icon</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Medal.icon" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Medal.mid">
<code class="sig-name descname">mid</code><em class="property"> = Column(None, Integer(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Medal.mid" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Medal.name">
<code class="sig-name descname">name</code><em class="property"> = Column(None, String(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Medal.name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Medal.score">
<code class="sig-name descname">score</code><em class="property"> = Column(None, Integer(), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Medal.score" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.MedalAward">
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">MedalAward</code><a class="headerlink" href="#royalnet.database.tables.MedalAward" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.MedalAward.award_id">
<code class="sig-name descname">award_id</code><em class="property"> = Column(None, Integer(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.MedalAward.award_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.MedalAward.date">
<code class="sig-name descname">date</code><em class="property"> = Column(None, DateTime(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.MedalAward.date" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.MedalAward.medal">
<code class="sig-name descname">medal</code><em class="property"> = &lt;RelationshipProperty at 0x77b4858; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.MedalAward.medal" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.MedalAward.medal_id">
<code class="sig-name descname">medal_id</code><em class="property"> = Column(None, Integer(), ForeignKey('medals.mid'), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.MedalAward.medal_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.MedalAward.royal">
<code class="sig-name descname">royal</code><em class="property"> = &lt;RelationshipProperty at 0x77b43d8; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.MedalAward.royal" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.MedalAward.royal_id">
<code class="sig-name descname">royal_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royal.uid'), table=None, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.MedalAward.royal_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.Bio">
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">Bio</code><a class="headerlink" href="#royalnet.database.tables.Bio" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.Bio.contents">
<code class="sig-name descname">contents</code><em class="property"> = Column(None, Text(), table=None, nullable=False, default=ColumnDefault(''))</em><a class="headerlink" href="#royalnet.database.tables.Bio.contents" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Bio.royal">
<code class="sig-name descname">royal</code><em class="property"> = &lt;RelationshipProperty at 0x77b4300; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Bio.royal" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Bio.royal_id">
<code class="sig-name descname">royal_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Bio.royal_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.database.tables.Reminder">
<em class="property">class </em><code class="sig-prename descclassname">royalnet.database.tables.</code><code class="sig-name descname">Reminder</code><a class="headerlink" href="#royalnet.database.tables.Reminder" title="Permalink to this definition"></a></dt>
<dd><dl class="attribute">
<dt id="royalnet.database.tables.Reminder.creator">
<code class="sig-name descname">creator</code><em class="property"> = &lt;RelationshipProperty at 0x77b4c00; no key&gt;</em><a class="headerlink" href="#royalnet.database.tables.Reminder.creator" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Reminder.creator_id">
<code class="sig-name descname">creator_id</code><em class="property"> = Column(None, Integer(), ForeignKey('royals.uid'), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Reminder.creator_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Reminder.datetime">
<code class="sig-name descname">datetime</code><em class="property"> = Column(None, DateTime(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Reminder.datetime" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Reminder.interface_data">
<code class="sig-name descname">interface_data</code><em class="property"> = Column(None, LargeBinary(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Reminder.interface_data" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Reminder.interface_name">
<code class="sig-name descname">interface_name</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Reminder.interface_name" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Reminder.message">
<code class="sig-name descname">message</code><em class="property"> = Column(None, String(), table=None)</em><a class="headerlink" href="#royalnet.database.tables.Reminder.message" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt id="royalnet.database.tables.Reminder.reminder_id">
<code class="sig-name descname">reminder_id</code><em class="property"> = Column(None, Integer(), table=None, primary_key=True, nullable=False)</em><a class="headerlink" href="#royalnet.database.tables.Reminder.reminder_id" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>

View file

@ -33,6 +33,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="royalnet.web" href="web.html" />
@ -161,68 +162,68 @@
</div>
<span class="target" id="module-royalnet.error"></span><dl class="exception">
<dt id="royalnet.error.CurrentlyDisabledError">
<em class="property">exception </em><code class="descclassname">royalnet.error.</code><code class="descname">CurrentlyDisabledError</code><a class="headerlink" href="#royalnet.error.CurrentlyDisabledError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.error.</code><code class="sig-name descname">CurrentlyDisabledError</code><a class="headerlink" href="#royalnet.error.CurrentlyDisabledError" title="Permalink to this definition"></a></dt>
<dd><p>This feature is temporarely disabled and is not available right now.</p>
</dd></dl>
<dl class="exception">
<dt id="royalnet.error.ExternalError">
<em class="property">exception </em><code class="descclassname">royalnet.error.</code><code class="descname">ExternalError</code><a class="headerlink" href="#royalnet.error.ExternalError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.error.</code><code class="sig-name descname">ExternalError</code><a class="headerlink" href="#royalnet.error.ExternalError" title="Permalink to this definition"></a></dt>
<dd><p>Something went wrong in a non-Royalnet component and the command execution cannot be completed.</p>
</dd></dl>
<dl class="exception">
<dt id="royalnet.error.FileTooBigError">
<em class="property">exception </em><code class="descclassname">royalnet.error.</code><code class="descname">FileTooBigError</code><a class="headerlink" href="#royalnet.error.FileTooBigError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.error.</code><code class="sig-name descname">FileTooBigError</code><a class="headerlink" href="#royalnet.error.FileTooBigError" title="Permalink to this definition"></a></dt>
<dd><p>The file to be downloaded would be too big to store; therefore, it has been skipped.</p>
</dd></dl>
<dl class="exception">
<dt id="royalnet.error.InvalidConfigError">
<em class="property">exception </em><code class="descclassname">royalnet.error.</code><code class="descname">InvalidConfigError</code><a class="headerlink" href="#royalnet.error.InvalidConfigError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.error.</code><code class="sig-name descname">InvalidConfigError</code><a class="headerlink" href="#royalnet.error.InvalidConfigError" title="Permalink to this definition"></a></dt>
<dd><p>The bot has not been configured correctly, therefore the command can not function.</p>
</dd></dl>
<dl class="exception">
<dt id="royalnet.error.InvalidInputError">
<em class="property">exception </em><code class="descclassname">royalnet.error.</code><code class="descname">InvalidInputError</code><a class="headerlink" href="#royalnet.error.InvalidInputError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.error.</code><code class="sig-name descname">InvalidInputError</code><a class="headerlink" href="#royalnet.error.InvalidInputError" title="Permalink to this definition"></a></dt>
<dd><p>The command has received invalid input and cannot complete.</p>
</dd></dl>
<dl class="exception">
<dt id="royalnet.error.NoneFoundError">
<em class="property">exception </em><code class="descclassname">royalnet.error.</code><code class="descname">NoneFoundError</code><a class="headerlink" href="#royalnet.error.NoneFoundError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.error.</code><code class="sig-name descname">NoneFoundError</code><a class="headerlink" href="#royalnet.error.NoneFoundError" title="Permalink to this definition"></a></dt>
<dd><p>The element that was being looked for was not found.</p>
</dd></dl>
<dl class="exception">
<dt id="royalnet.error.RoyalnetRequestError">
<em class="property">exception </em><code class="descclassname">royalnet.error.</code><code class="descname">RoyalnetRequestError</code><span class="sig-paren">(</span><em>error: ResponseError</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.error.RoyalnetRequestError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.error.</code><code class="sig-name descname">RoyalnetRequestError</code><span class="sig-paren">(</span><em class="sig-param">error: ResponseError</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.error.RoyalnetRequestError" title="Permalink to this definition"></a></dt>
<dd><p>An error was raised while handling the Royalnet request.</p>
<p>This exception contains the <a class="reference internal" href="network.html#royalnet.network.ResponseError" title="royalnet.network.ResponseError"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.ResponseError</span></code></a> that was returned by the other Link.</p>
</dd></dl>
<dl class="exception">
<dt id="royalnet.error.RoyalnetResponseError">
<em class="property">exception </em><code class="descclassname">royalnet.error.</code><code class="descname">RoyalnetResponseError</code><a class="headerlink" href="#royalnet.error.RoyalnetResponseError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.error.</code><code class="sig-name descname">RoyalnetResponseError</code><a class="headerlink" href="#royalnet.error.RoyalnetResponseError" title="Permalink to this definition"></a></dt>
<dd><p>The <a class="reference internal" href="network.html#royalnet.network.Response" title="royalnet.network.Response"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.Response</span></code></a> that was received is invalid.</p>
</dd></dl>
<dl class="exception">
<dt id="royalnet.error.TooManyFoundError">
<em class="property">exception </em><code class="descclassname">royalnet.error.</code><code class="descname">TooManyFoundError</code><a class="headerlink" href="#royalnet.error.TooManyFoundError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.error.</code><code class="sig-name descname">TooManyFoundError</code><a class="headerlink" href="#royalnet.error.TooManyFoundError" title="Permalink to this definition"></a></dt>
<dd><p>Multiple elements matching the request were found, and only one was expected.</p>
</dd></dl>
<dl class="exception">
<dt id="royalnet.error.UnregisteredError">
<em class="property">exception </em><code class="descclassname">royalnet.error.</code><code class="descname">UnregisteredError</code><a class="headerlink" href="#royalnet.error.UnregisteredError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.error.</code><code class="sig-name descname">UnregisteredError</code><a class="headerlink" href="#royalnet.error.UnregisteredError" title="Permalink to this definition"></a></dt>
<dd><p>The command required a registered user, and the user was not registered.</p>
</dd></dl>
<dl class="exception">
<dt id="royalnet.error.UnsupportedError">
<em class="property">exception </em><code class="descclassname">royalnet.error.</code><code class="descname">UnsupportedError</code><a class="headerlink" href="#royalnet.error.UnsupportedError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.error.</code><code class="sig-name descname">UnsupportedError</code><a class="headerlink" href="#royalnet.error.UnsupportedError" title="Permalink to this definition"></a></dt>
<dd><p>The command is not supported for the specified interface.</p>
</dd></dl>

View file

@ -34,6 +34,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="#" />
<link rel="search" title="Search" href="search.html" />
</head>
@ -184,7 +185,7 @@
<h2 id="_">_</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="utils.html#royalnet.utils.CommandArgs.__getitem__">__getitem__() (royalnet.utils.CommandArgs method)</a>
<li><a href="commands.html#royalnet.commands.CommandArgs.__getitem__">__getitem__() (royalnet.commands.CommandArgs method)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlInfo.__init__">__init__() (royalnet.audio.YtdlInfo method)</a>
@ -192,30 +193,30 @@
<li><a href="database.html#royalnet.database.Alchemy.__init__">(royalnet.database.Alchemy method)</a>
</li>
<li><a href="network.html#royalnet.network.Package.__init__">(royalnet.network.Package method)</a>
</li>
<li><a href="utils.html#royalnet.utils.Call.__init__">(royalnet.utils.Call method)</a>
</li>
</ul></li>
<li><a href="commands.html#royalnet.commands.CommandArgs.__weakref__">__weakref__ (royalnet.commands.CommandArgs attribute)</a>
</li>
<li><a href="bots.html#royalnet.bots.DiscordBot._bot_factory">_bot_factory() (royalnet.bots.DiscordBot method)</a>
</li>
<li><a href="bots.html#royalnet.bots.DiscordBot._call_factory">_call_factory() (royalnet.bots.DiscordBot method)</a>
<ul>
<li><a href="bots.html#royalnet.bots.GenericBot._call_factory">(royalnet.bots.GenericBot method)</a>
</li>
<li><a href="bots.html#royalnet.bots.TelegramBot._call_factory">(royalnet.bots.TelegramBot method)</a>
</li>
</ul></li>
<li><a href="database.html#royalnet.database.Alchemy._create_tables">_create_tables() (royalnet.database.Alchemy method)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="bots.html#royalnet.bots.DiscordBot._data_factory">_data_factory() (royalnet.bots.DiscordBot method)</a>
<ul>
<li><a href="bots.html#royalnet.bots.GenericBot._data_factory">(royalnet.bots.GenericBot method)</a>
</li>
<li><a href="bots.html#royalnet.bots.TelegramBot._data_factory">(royalnet.bots.TelegramBot method)</a>
</li>
</ul></li>
<li><a href="audio.html#royalnet.audio.YtdlFile._default_ytdl_args">_default_ytdl_args (royalnet.audio.YtdlFile attribute)</a>
<ul>
<li><a href="audio.html#royalnet.audio.YtdlInfo._default_ytdl_args">(royalnet.audio.YtdlInfo attribute)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="bots.html#royalnet.bots.TelegramBot._handle_update">_handle_update() (royalnet.bots.TelegramBot method)</a>
</li>
<li><a href="bots.html#royalnet.bots.DiscordBot._init_client">_init_client() (royalnet.bots.DiscordBot method)</a>
@ -232,9 +233,15 @@
</li>
<li><a href="bots.html#royalnet.bots.DiscordBot._init_voice">_init_voice() (royalnet.bots.DiscordBot method)</a>
</li>
<li><a href="bots.html#royalnet.bots.GenericBot._network_handler">_network_handler() (royalnet.bots.GenericBot method)</a>
<li><a href="bots.html#royalnet.bots.DiscordBot._interface_factory">_interface_factory() (royalnet.bots.DiscordBot method)</a>
<ul>
<li><a href="bots.html#royalnet.bots.GenericBot._interface_factory">(royalnet.bots.GenericBot method)</a>
</li>
<li><a href="utils.html#royalnet.utils.Call._session_init">_session_init() (royalnet.utils.Call method)</a>
<li><a href="bots.html#royalnet.bots.TelegramBot._interface_factory">(royalnet.bots.TelegramBot method)</a>
</li>
</ul></li>
<li><a href="bots.html#royalnet.bots.GenericBot._network_handler">_network_handler() (royalnet.bots.GenericBot method)</a>
</li>
</ul></td>
</tr></table>
@ -249,8 +256,6 @@
<li><a href="bots.html#royalnet.bots.DiscordBot.advance_music_data">advance_music_data() (royalnet.bots.DiscordBot method)</a>
</li>
<li><a href="database.html#royalnet.database.Alchemy">Alchemy (class in royalnet.database)</a>
</li>
<li><a href="utils.html#royalnet.utils.Call.alchemy">alchemy (royalnet.utils.Call attribute)</a>, <a href="utils.html#royalnet.utils.Call.alchemy">[1]</a>
</li>
<li><a href="database.html#royalnet.database.tables.Alias">Alias (class in royalnet.database.tables)</a>
</li>
@ -265,12 +270,12 @@
<li><a href="database.html#royalnet.database.tables.WikiRevision.author">author (royalnet.database.tables.WikiRevision attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.WikiRevision.author_id">author_id (royalnet.database.tables.WikiRevision attribute)</a>
</li>
<li><a href="commands.html#royalnet.commands.AuthorCommand">AuthorCommand (class in royalnet.commands)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Royal.avatar">avatar (royalnet.database.tables.Royal attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Discord.avatar_hash">avatar_hash (royalnet.database.tables.Discord attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.MedalAward.award_id">award_id (royalnet.database.tables.MedalAward attribute)</a>
</li>
</ul></td>
</tr></table>
@ -278,7 +283,7 @@
<h2 id="B">B</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="bots.html#royalnet.bots.TelegramBot.botfather_command_string">botfather_command_string (royalnet.bots.TelegramBot attribute)</a>
<li><a href="database.html#royalnet.database.tables.Bio">Bio (class in royalnet.database.tables)</a>
</li>
</ul></td>
</tr></table>
@ -286,55 +291,59 @@
<h2 id="C">C</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="utils.html#royalnet.utils.Call">Call (class in royalnet.utils)</a>
</li>
<li><a href="bots.html#royalnet.bots.GenericBot.call">call() (royalnet.bots.GenericBot method)</a>
</li>
<li><a href="utils.html#royalnet.utils.cdj">cdj() (in module royalnet.utils)</a>
</li>
<li><a href="commands.html#royalnet.commands.CiaoruoziCommand">CiaoruoziCommand (class in royalnet.commands)</a>
<li><a href="database.html#royalnet.database.tables.Medal.classes">classes (royalnet.database.tables.Medal attribute)</a>
</li>
<li><a href="commands.html#royalnet.commands.ColorCommand">ColorCommand (class in royalnet.commands)</a>
</li>
<li><a href="utils.html#royalnet.utils.Command">Command (class in royalnet.utils)</a>
</li>
<li><a href="utils.html#royalnet.utils.Command.command_description">command_description (royalnet.utils.Command attribute)</a>, <a href="utils.html#royalnet.utils.Command.command_description">[1]</a>
</li>
<li><a href="utils.html#royalnet.utils.Command.command_name">command_name (royalnet.utils.Command attribute)</a>, <a href="utils.html#royalnet.utils.Command.command_name">[1]</a>
</li>
<li><a href="utils.html#royalnet.utils.Command.command_syntax">command_syntax (royalnet.utils.Command attribute)</a>, <a href="utils.html#royalnet.utils.Command.command_syntax">[1]</a>
</li>
<li><a href="utils.html#royalnet.utils.CommandArgs">CommandArgs (class in royalnet.utils)</a>
</li>
<li><a href="utils.html#royalnet.utils.Command.common">common() (royalnet.utils.Command class method)</a>
<li><a href="commands.html#royalnet.commands.CommandArgs">CommandArgs (class in royalnet.commands)</a>
</li>
<li><a href="network.html#royalnet.network.RoyalnetLink.connect">connect() (royalnet.network.RoyalnetLink method)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="network.html#royalnet.network.ConnectionClosedError">ConnectionClosedError</a>
</li>
<li><a href="database.html#royalnet.database.tables.WikiPage.content">content (royalnet.database.tables.WikiPage attribute)</a>
<li><a href="database.html#royalnet.database.tables.Bio.contents">contents (royalnet.database.tables.Bio attribute)</a>
<ul>
<li><a href="database.html#royalnet.database.tables.WikiPage.contents">(royalnet.database.tables.WikiPage attribute)</a>
</li>
</ul></li>
<li><a href="database.html#royalnet.database.tables.Diario.context">context (royalnet.database.tables.Diario attribute)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlMp3.convert_to_mp3">convert_to_mp3() (royalnet.audio.YtdlMp3 method)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlDiscord.convert_to_pcm">convert_to_pcm() (royalnet.audio.YtdlDiscord method)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="audio.html#royalnet.audio.YtdlDiscord.create_and_ready_from_url">create_and_ready_from_url() (royalnet.audio.YtdlDiscord class method)</a>
<ul>
<li><a href="audio.html#royalnet.audio.YtdlMp3.create_and_ready_from_url">(royalnet.audio.YtdlMp3 class method)</a>
</li>
</ul></li>
<li><a href="web.html#royalnet.web.create_app">create_app() (in module royalnet.web)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlDiscord.create_from_url">create_from_url() (royalnet.audio.YtdlDiscord class method)</a>
<ul>
<li><a href="audio.html#royalnet.audio.YtdlMp3.create_from_url">(royalnet.audio.YtdlMp3 class method)</a>
</li>
</ul></li>
<li><a href="database.html#royalnet.database.tables.Diario.creator">creator (royalnet.database.tables.Diario attribute)</a>
<ul>
<li><a href="database.html#royalnet.database.tables.Reminder.creator">(royalnet.database.tables.Reminder attribute)</a>
</li>
</ul></li>
<li><a href="database.html#royalnet.database.tables.Diario.creator_id">creator_id (royalnet.database.tables.Diario attribute)</a>
<ul>
<li><a href="database.html#royalnet.database.tables.Reminder.creator_id">(royalnet.database.tables.Reminder attribute)</a>
</li>
</ul></li>
<li><a href="database.html#royalnet.database.tables.WikiPage.css">css (royalnet.database.tables.WikiPage attribute)</a>
</li>
<li><a href="error.html#royalnet.error.CurrentlyDisabledError">CurrentlyDisabledError</a>
</li>
<li><a href="commands.html#royalnet.commands.CvCommand">CvCommand (class in royalnet.commands)</a>
</li>
</ul></td>
</tr></table>
@ -344,24 +353,28 @@
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="database.html#royalnet.database.DatabaseConfig">DatabaseConfig (class in royalnet.database)</a>
</li>
<li><a href="commands.html#royalnet.commands.DateparserCommand">DateparserCommand (class in royalnet.commands)</a>
<li><a href="database.html#royalnet.database.tables.MedalAward.date">date (royalnet.database.tables.MedalAward attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Reminder.datetime">datetime (royalnet.database.tables.Reminder attribute)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlDiscord.delete">delete() (royalnet.audio.YtdlDiscord method)</a>
<ul>
<li><a href="audio.html#royalnet.audio.YtdlFile.delete">(royalnet.audio.YtdlFile method)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlMp3.delete">(royalnet.audio.YtdlMp3 method)</a>
</li>
</ul></li>
<li><a href="database.html#royalnet.database.tables.Medal.description">description (royalnet.database.tables.Medal attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Diario">Diario (class in royalnet.database.tables)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Diario.diario_id">diario_id (royalnet.database.tables.Diario attribute)</a>
</li>
<li><a href="commands.html#royalnet.commands.DiarioCommand">DiarioCommand (class in royalnet.commands)</a>
</li>
<li><a href="database.html#royalnet.database.tables.WikiRevision.diff">diff (royalnet.database.tables.WikiRevision attribute)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="database.html#royalnet.database.tables.WikiRevision.diff">diff (royalnet.database.tables.WikiRevision attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Discord">Discord (class in royalnet.database.tables)</a>
</li>
<li><a href="utils.html#royalnet.utils.discord_escape">discord_escape() (in module royalnet.utils)</a>
@ -429,8 +442,6 @@
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="bots.html#royalnet.bots.GenericBot">GenericBot (class in royalnet.bots)</a>
</li>
<li><a href="utils.html#royalnet.utils.Call.get_author">get_author() (royalnet.utils.Call method)</a>
</li>
<li><a href="database.html#royalnet.database.tables.ActiveKvGroup.group">group (royalnet.database.tables.ActiveKvGroup attribute)</a>
@ -462,9 +473,17 @@
<h2 id="I">I</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="database.html#royalnet.database.tables.Medal.icon">icon (royalnet.database.tables.Medal attribute)</a>
</li>
<li><a href="network.html#royalnet.network.RoyalnetLink.identify">identify() (royalnet.network.RoyalnetLink method)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlDiscord.info">info (royalnet.audio.YtdlDiscord attribute)</a>
<li><a href="audio.html#royalnet.audio.YtdlDiscord.info">info() (royalnet.audio.YtdlDiscord property)</a>
<ul>
<li><a href="audio.html#royalnet.audio.YtdlMp3.info">(royalnet.audio.YtdlMp3 property)</a>
</li>
</ul></li>
<li><a href="database.html#royalnet.database.tables.Reminder.interface_data">interface_data (royalnet.database.tables.Reminder attribute)</a>
</li>
<li><a href="bots.html#royalnet.bots.DiscordBot.interface_name">interface_name (royalnet.bots.DiscordBot attribute)</a>
@ -473,15 +492,11 @@
</li>
<li><a href="bots.html#royalnet.bots.TelegramBot.interface_name">(royalnet.bots.TelegramBot attribute)</a>
</li>
<li><a href="utils.html#royalnet.utils.Call.interface_name">(royalnet.utils.Call attribute)</a>, <a href="utils.html#royalnet.utils.Call.interface_name">[1]</a>
<li><a href="database.html#royalnet.database.tables.Reminder.interface_name">(royalnet.database.tables.Reminder attribute)</a>
</li>
</ul></li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="utils.html#royalnet.utils.Call.interface_obj">interface_obj (royalnet.utils.Call attribute)</a>, <a href="utils.html#royalnet.utils.Call.interface_obj">[1]</a>
</li>
<li><a href="utils.html#royalnet.utils.Call.interface_prefix">interface_prefix (royalnet.utils.Call attribute)</a>, <a href="utils.html#royalnet.utils.Call.interface_prefix">[1]</a>
</li>
<li><a href="error.html#royalnet.error.InvalidConfigError">InvalidConfigError</a>
</li>
<li><a href="error.html#royalnet.error.InvalidInputError">InvalidInputError</a>
@ -496,7 +511,7 @@
<h2 id="J">J</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="utils.html#royalnet.utils.CommandArgs.joined">joined() (royalnet.utils.CommandArgs method)</a>
<li><a href="commands.html#royalnet.commands.CommandArgs.joined">joined() (royalnet.commands.CommandArgs method)</a>
</li>
</ul></td>
</tr></table>
@ -506,17 +521,11 @@
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="database.html#royalnet.database.tables.Keyvalue.key">key (royalnet.database.tables.Keyvalue attribute)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="database.html#royalnet.database.tables.Keygroup">Keygroup (class in royalnet.database.tables)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Keyvalue">Keyvalue (class in royalnet.database.tables)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="commands.html#royalnet.commands.KvactiveCommand">KvactiveCommand (class in royalnet.commands)</a>
</li>
<li><a href="commands.html#royalnet.commands.KvCommand">KvCommand (class in royalnet.commands)</a>
</li>
<li><a href="commands.html#royalnet.commands.KvrollCommand">KvrollCommand (class in royalnet.commands)</a>
</li>
</ul></td>
</tr></table>
@ -536,17 +545,27 @@
<h2 id="M">M</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="utils.html#royalnet.utils.CommandArgs.match">match() (royalnet.utils.CommandArgs method)</a>
<li><a href="commands.html#royalnet.commands.CommandArgs.match">match() (royalnet.commands.CommandArgs method)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Diario.media_url">media_url (royalnet.database.tables.Diario attribute)</a>
<li><a href="database.html#royalnet.database.tables.Medal">Medal (class in royalnet.database.tables)</a>
</li>
<li><a href="database.html#royalnet.database.tables.MedalAward.medal">medal (royalnet.database.tables.MedalAward attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.MedalAward.medal_id">medal_id (royalnet.database.tables.MedalAward attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.MedalAward">MedalAward (class in royalnet.database.tables)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="database.html#royalnet.database.tables.Diario.media_url">media_url (royalnet.database.tables.Diario attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Telegram.mention">mention() (royalnet.database.tables.Telegram method)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Reminder.message">message (royalnet.database.tables.Reminder attribute)</a>
</li>
<li><a href="utils.html#royalnet.utils.NetworkHandler.message_type">message_type (royalnet.utils.NetworkHandler attribute)</a>
</li>
<li><a href="commands.html#royalnet.commands.MissingCommand">MissingCommand (class in royalnet.commands)</a>
<li><a href="database.html#royalnet.database.tables.Medal.mid">mid (royalnet.database.tables.Medal attribute)</a>
</li>
</ul></td>
</tr></table>
@ -554,11 +573,7 @@
<h2 id="N">N</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="utils.html#royalnet.utils.Call.net_request">net_request() (royalnet.utils.Call method)</a>
</li>
<li><a href="utils.html#royalnet.utils.Command.network_handler_dict">network_handler_dict() (royalnet.utils.Command class method)</a>
</li>
<li><a href="utils.html#royalnet.utils.Command.network_handlers">network_handlers (royalnet.utils.Command attribute)</a>, <a href="utils.html#royalnet.utils.Command.network_handlers">[1]</a>
<li><a href="database.html#royalnet.database.tables.Medal.name">name (royalnet.database.tables.Medal attribute)</a>
</li>
<li><a href="network.html#royalnet.network.NetworkError">NetworkError</a>
</li>
@ -571,8 +586,6 @@
<li><a href="network.html#royalnet.network.NotConnectedError">NotConnectedError</a>
</li>
<li><a href="network.html#royalnet.network.NotIdentifiedError">NotIdentifiedError</a>
</li>
<li><a href="commands.html#royalnet.commands.NullCommand">NullCommand (class in royalnet.commands)</a>
</li>
<li><a href="utils.html#royalnet.utils.numberemojiformat">numberemojiformat() (in module royalnet.utils)</a>
</li>
@ -586,7 +599,7 @@
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="utils.html#royalnet.utils.CommandArgs.optional">optional() (royalnet.utils.CommandArgs method)</a>
<li><a href="commands.html#royalnet.commands.CommandArgs.optional">optional() (royalnet.commands.CommandArgs method)</a>
</li>
</ul></td>
</tr></table>
@ -604,22 +617,18 @@
<li><a href="database.html#royalnet.database.tables.WikiRevision.page_id">(royalnet.database.tables.WikiRevision attribute)</a>
</li>
</ul></li>
<li><a href="database.html#royalnet.database.tables.WikiPage.page_short_id">page_short_id (royalnet.database.tables.WikiPage attribute)</a>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="database.html#royalnet.database.tables.WikiPage.page_short_id">page_short_id() (royalnet.database.tables.WikiPage property)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Royal.password">password (royalnet.database.tables.Royal attribute)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="commands.html#royalnet.commands.PauseCommand">PauseCommand (class in royalnet.commands)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlDiscord.pcm_available">pcm_available() (royalnet.audio.YtdlDiscord method)</a>
<ul>
<li><a href="audio.html#royalnet.audio.YtdlMp3.pcm_available">(royalnet.audio.YtdlMp3 method)</a>
</li>
<li><a href="commands.html#royalnet.commands.PingCommand">PingCommand (class in royalnet.commands)</a>
</li>
<li><a href="commands.html#royalnet.commands.PlayCommand">PlayCommand (class in royalnet.commands)</a>
</li>
<li><a href="commands.html#royalnet.commands.PlaymodeCommand">PlaymodeCommand (class in royalnet.commands)</a>
</li>
</ul></li>
<li><a href="utils.html#royalnet.utils.plusformat">plusformat() (in module royalnet.utils)</a>, <a href="utils.html#royalnet.utils.plusformat">[1]</a>
</li>
</ul></td>
@ -628,8 +637,6 @@
<h2 id="Q">Q</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="commands.html#royalnet.commands.QueueCommand">QueueCommand (class in royalnet.commands)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Diario.quoted">quoted (royalnet.database.tables.Diario attribute)</a>
</li>
</ul></td>
@ -644,8 +651,6 @@
<h2 id="R">R</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="commands.html#royalnet.commands.RageCommand">RageCommand (class in royalnet.commands)</a>
</li>
<li><a href="network.html#royalnet.network.Response.raise_on_error">raise_on_error() (royalnet.network.Response method)</a>
<ul>
@ -657,26 +662,26 @@
<li><a href="audio.html#royalnet.audio.FileAudioSource.read">read() (royalnet.audio.FileAudioSource method)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlDiscord.ready_up">ready_up() (royalnet.audio.YtdlDiscord method)</a>
<ul>
<li><a href="audio.html#royalnet.audio.YtdlMp3.ready_up">(royalnet.audio.YtdlMp3 method)</a>
</li>
</ul></li>
<li><a href="database.html#royalnet.database.tables.WikiRevision.reason">reason (royalnet.database.tables.WikiRevision attribute)</a>
</li>
<li><a href="network.html#royalnet.network.RoyalnetLink.receive">receive() (royalnet.network.RoyalnetLink method)</a>
</li>
<li><a href="database.html#royalnet.database.relationshiplinkchain">relationshiplinkchain() (in module royalnet.database)</a>
</li>
<li><a href="commands.html#royalnet.commands.ReminderCommand">ReminderCommand (class in royalnet.commands)</a>
<li><a href="database.html#royalnet.database.tables.Reminder">Reminder (class in royalnet.database.tables)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Reminder.reminder_id">reminder_id (royalnet.database.tables.Reminder attribute)</a>
</li>
<li><a href="network.html#royalnet.network.Package.reply">reply() (royalnet.network.Package method)</a>
<ul>
<li><a href="utils.html#royalnet.utils.Call.reply">(royalnet.utils.Call method)</a>
</li>
</ul></li>
<li><a href="network.html#royalnet.network.Request">Request (class in royalnet.network)</a>
</li>
<li><a href="network.html#royalnet.network.RoyalnetLink.request">request() (royalnet.network.RoyalnetLink method)</a>
</li>
<li><a href="utils.html#royalnet.utils.Command.require_alchemy_tables">require_alchemy_tables (royalnet.utils.Command attribute)</a>, <a href="utils.html#royalnet.utils.Command.require_alchemy_tables">[1]</a>
</li>
<li><a href="network.html#royalnet.network.Response">Response (class in royalnet.network)</a>
</li>
@ -698,8 +703,12 @@
<ul>
<li><a href="database.html#royalnet.database.tables.Alias.royal">(royalnet.database.tables.Alias attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Bio.royal">(royalnet.database.tables.Bio attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Discord.royal">(royalnet.database.tables.Discord attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.MedalAward.royal">(royalnet.database.tables.MedalAward attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Telegram.royal">(royalnet.database.tables.Telegram attribute)</a>
</li>
@ -710,8 +719,12 @@
<ul>
<li><a href="database.html#royalnet.database.tables.Alias.royal_id">(royalnet.database.tables.Alias attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Bio.royal_id">(royalnet.database.tables.Bio attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Discord.royal_id">(royalnet.database.tables.Discord attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.MedalAward.royal_id">(royalnet.database.tables.MedalAward attribute)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Telegram.royal_id">(royalnet.database.tables.Telegram attribute)</a>
</li>
@ -739,8 +752,6 @@
<li><a href="network.html#royalnet.network.RoyalnetConfig">RoyalnetConfig (class in royalnet.network)</a>
</li>
<li><a href="network.html#royalnet.network.RoyalnetLink">RoyalnetLink (class in royalnet.network)</a>
</li>
<li><a href="commands.html#royalnet.commands.RoyalnetprofileCommand">RoyalnetprofileCommand (class in royalnet.commands)</a>
</li>
<li><a href="error.html#royalnet.error.RoyalnetRequestError">RoyalnetRequestError</a>
</li>
@ -758,8 +769,6 @@
<li><a href="bots.html#royalnet.bots.TelegramBot.run">(royalnet.bots.TelegramBot method)</a>
</li>
<li><a href="network.html#royalnet.network.RoyalnetLink.run">(royalnet.network.RoyalnetLink method)</a>
</li>
<li><a href="utils.html#royalnet.utils.Call.run">(royalnet.utils.Call method)</a>
</li>
</ul></li>
</ul></td>
@ -769,36 +778,26 @@
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="utils.html#royalnet.utils.safeformat">safeformat() (in module royalnet.utils)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Medal.score">score (royalnet.database.tables.Medal attribute)</a>
</li>
<li><a href="network.html#royalnet.network.RoyalnetLink.send">send() (royalnet.network.RoyalnetLink method)</a>
</li>
<li><a href="network.html#royalnet.network.RoyalnetServer.serve">serve() (royalnet.network.RoyalnetServer method)</a>
</li>
<li><a href="database.html#royalnet.database.Alchemy.session_acm">session_acm() (royalnet.database.Alchemy method)</a>
</li>
<li><a href="database.html#royalnet.database.Alchemy.session_cm">session_cm() (royalnet.database.Alchemy method)</a>
</li>
<li><a href="utils.html#royalnet.utils.Call.session_end">session_end() (royalnet.utils.Call method)</a>
</li>
<li><a href="commands.html#royalnet.commands.ShipCommand">ShipCommand (class in royalnet.commands)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="commands.html#royalnet.commands.SkipCommand">SkipCommand (class in royalnet.commands)</a>
<li><a href="database.html#royalnet.database.Alchemy.session_cm">session_cm() (royalnet.database.Alchemy method)</a>
</li>
<li><a href="utils.html#royalnet.utils.sleep_until">sleep_until() (in module royalnet.utils)</a>
</li>
<li><a href="commands.html#royalnet.commands.SmecdsCommand">SmecdsCommand (class in royalnet.commands)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlDiscord.spawn_audiosource">spawn_audiosource() (royalnet.audio.YtdlDiscord method)</a>
</li>
<li><a href="database.html#royalnet.database.tables.Diario.spoiler">spoiler (royalnet.database.tables.Diario attribute)</a>
</li>
<li><a href="network.html#royalnet.network.RoyalnetServer.start">start() (royalnet.network.RoyalnetServer method)</a>
</li>
<li><a href="commands.html#royalnet.commands.SummonCommand">SummonCommand (class in royalnet.commands)</a>
</li>
<li><a href="commands.html#royalnet.commands.SyncCommand">SyncCommand (class in royalnet.commands)</a>
</li>
</ul></td>
</tr></table>
@ -877,12 +876,6 @@
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="database.html#royalnet.database.tables.Keyvalue.value">value (royalnet.database.tables.Keyvalue attribute)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="commands.html#royalnet.commands.VideochannelCommand">VideochannelCommand (class in royalnet.commands)</a>
</li>
<li><a href="commands.html#royalnet.commands.VideoinfoCommand">VideoinfoCommand (class in royalnet.commands)</a>
</li>
</ul></td>
</tr></table>
@ -911,6 +904,8 @@
<li><a href="audio.html#royalnet.audio.YtdlFile">YtdlFile (class in royalnet.audio)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlInfo">YtdlInfo (class in royalnet.audio)</a>
</li>
<li><a href="audio.html#royalnet.audio.YtdlMp3">YtdlMp3 (class in royalnet.audio)</a>
</li>
</ul></td>
</tr></table>

View file

@ -33,6 +33,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="royalnet.audio" href="audio.html" />

View file

@ -33,6 +33,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="royalnet.utils" href="utils.html" />
@ -162,21 +163,21 @@
<span class="target" id="module-royalnet.network"></span><p>Royalnet (websocket) related classes.</p>
<dl class="class">
<dt id="royalnet.network.RoyalnetLink">
<em class="property">class </em><code class="descclassname">royalnet.network.</code><code class="descname">RoyalnetLink</code><span class="sig-paren">(</span><em>master_uri: str</em>, <em>secret: str</em>, <em>link_type: str</em>, <em>request_handler</em>, <em>*</em>, <em>loop: asyncio.events.AbstractEventLoop = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetLink" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">RoyalnetLink</code><span class="sig-paren">(</span><em class="sig-param">master_uri: str</em>, <em class="sig-param">secret: str</em>, <em class="sig-param">link_type: str</em>, <em class="sig-param">request_handler</em>, <em class="sig-param">*</em>, <em class="sig-param">loop: asyncio.events.AbstractEventLoop = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetLink" title="Permalink to this definition"></a></dt>
<dd><dl class="method">
<dt id="royalnet.network.RoyalnetLink.connect">
<code class="descname">connect</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetLink.connect" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">connect</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetLink.connect" title="Permalink to this definition"></a></dt>
<dd><p>Connect to the <a class="reference internal" href="#royalnet.network.RoyalnetServer" title="royalnet.network.RoyalnetServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetServer</span></code></a> at <code class="docutils literal notranslate"><span class="pre">self.master_uri</span></code>.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.network.RoyalnetLink.identify">
<code class="descname">identify</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.network.RoyalnetLink.identify" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">identify</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.network.RoyalnetLink.identify" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.network.RoyalnetLink.receive">
<code class="descname">receive</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; royalnet.network.package.Package<a class="headerlink" href="#royalnet.network.RoyalnetLink.receive" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">receive</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; royalnet.network.package.Package<a class="headerlink" href="#royalnet.network.RoyalnetLink.receive" title="Permalink to this definition"></a></dt>
<dd><p>Recieve a <a class="reference internal" href="#royalnet.network.Package" title="royalnet.network.Package"><code class="xref py py-class docutils literal notranslate"><span class="pre">Package</span></code></a> from the <a class="reference internal" href="#royalnet.network.RoyalnetServer" title="royalnet.network.RoyalnetServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetServer</span></code></a>.</p>
<dl class="field-list simple">
<dt class="field-odd">Raises</dt>
@ -187,47 +188,47 @@
<dl class="method">
<dt id="royalnet.network.RoyalnetLink.request">
<code class="descname">request</code><span class="sig-paren">(</span><em>message</em>, <em>destination</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetLink.request" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">request</code><span class="sig-paren">(</span><em class="sig-param">message</em>, <em class="sig-param">destination</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetLink.request" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.network.RoyalnetLink.run">
<code class="descname">run</code><span class="sig-paren">(</span><em>loops: numbers.Real = inf</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetLink.run" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">run</code><span class="sig-paren">(</span><em class="sig-param">loops: numbers.Real = inf</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetLink.run" title="Permalink to this definition"></a></dt>
<dd><p>Blockingly run the Link.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.network.RoyalnetLink.send">
<code class="descname">send</code><span class="sig-paren">(</span><em>package: royalnet.network.package.Package</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetLink.send" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">send</code><span class="sig-paren">(</span><em class="sig-param">package: royalnet.network.package.Package</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetLink.send" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="exception">
<dt id="royalnet.network.NetworkError">
<em class="property">exception </em><code class="descclassname">royalnet.network.</code><code class="descname">NetworkError</code><span class="sig-paren">(</span><em>error_data: dict</em>, <em>*args</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.NetworkError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">NetworkError</code><span class="sig-paren">(</span><em class="sig-param">error_data: dict</em>, <em class="sig-param">*args</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.NetworkError" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="exception">
<dt id="royalnet.network.NotConnectedError">
<em class="property">exception </em><code class="descclassname">royalnet.network.</code><code class="descname">NotConnectedError</code><a class="headerlink" href="#royalnet.network.NotConnectedError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">NotConnectedError</code><a class="headerlink" href="#royalnet.network.NotConnectedError" title="Permalink to this definition"></a></dt>
<dd><p>The <a class="reference internal" href="#royalnet.network.RoyalnetLink" title="royalnet.network.RoyalnetLink"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetLink</span></code></a> is not connected to a <a class="reference internal" href="#royalnet.network.RoyalnetServer" title="royalnet.network.RoyalnetServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetServer</span></code></a>.</p>
</dd></dl>
<dl class="exception">
<dt id="royalnet.network.NotIdentifiedError">
<em class="property">exception </em><code class="descclassname">royalnet.network.</code><code class="descname">NotIdentifiedError</code><a class="headerlink" href="#royalnet.network.NotIdentifiedError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">NotIdentifiedError</code><a class="headerlink" href="#royalnet.network.NotIdentifiedError" title="Permalink to this definition"></a></dt>
<dd><p>The <a class="reference internal" href="#royalnet.network.RoyalnetLink" title="royalnet.network.RoyalnetLink"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetLink</span></code></a> has not identified yet to a <a class="reference internal" href="#royalnet.network.RoyalnetServer" title="royalnet.network.RoyalnetServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetServer</span></code></a>.</p>
</dd></dl>
<dl class="class">
<dt id="royalnet.network.Package">
<em class="property">class </em><code class="descclassname">royalnet.network.</code><code class="descname">Package</code><span class="sig-paren">(</span><em>data: dict</em>, <em>*</em>, <em>source: str</em>, <em>destination: str</em>, <em>source_conv_id: Optional[str] = None</em>, <em>destination_conv_id: Optional[str] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Package" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">Package</code><span class="sig-paren">(</span><em class="sig-param">data: dict</em>, <em class="sig-param">*</em>, <em class="sig-param">source: str</em>, <em class="sig-param">destination: str</em>, <em class="sig-param">source_conv_id: Optional[str] = None</em>, <em class="sig-param">destination_conv_id: Optional[str] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Package" title="Permalink to this definition"></a></dt>
<dd><p>A Royalnet package, the data type with which a <a class="reference internal" href="#royalnet.network.RoyalnetLink" title="royalnet.network.RoyalnetLink"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetLink</span></code></a> communicates with a <a class="reference internal" href="#royalnet.network.RoyalnetServer" title="royalnet.network.RoyalnetServer"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetServer</span></code></a> or another link.
Contains info about the source and the destination.</p>
<dl class="method">
<dt id="royalnet.network.Package.__init__">
<code class="descname">__init__</code><span class="sig-paren">(</span><em>data: dict</em>, <em>*</em>, <em>source: str</em>, <em>destination: str</em>, <em>source_conv_id: Optional[str] = None</em>, <em>destination_conv_id: Optional[str] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Package.__init__" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">__init__</code><span class="sig-paren">(</span><em class="sig-param">data: dict</em>, <em class="sig-param">*</em>, <em class="sig-param">source: str</em>, <em class="sig-param">destination: str</em>, <em class="sig-param">source_conv_id: Optional[str] = None</em>, <em class="sig-param">destination_conv_id: Optional[str] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Package.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Create a Package.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -242,27 +243,27 @@ Contains info about the source and the destination.</p>
</dl>
</dd></dl>
<dl class="staticmethod">
<dl class="method">
<dt id="royalnet.network.Package.from_dict">
<em class="property">static </em><code class="descname">from_dict</code><span class="sig-paren">(</span><em>d</em><span class="sig-paren">)</span> &#x2192; royalnet.network.package.Package<a class="headerlink" href="#royalnet.network.Package.from_dict" title="Permalink to this definition"></a></dt>
<em class="property">static </em><code class="sig-name descname">from_dict</code><span class="sig-paren">(</span><em class="sig-param">d</em><span class="sig-paren">)</span> &#x2192; royalnet.network.package.Package<a class="headerlink" href="#royalnet.network.Package.from_dict" title="Permalink to this definition"></a></dt>
<dd><p>Create a Package from a dictionary.</p>
</dd></dl>
<dl class="staticmethod">
<dl class="method">
<dt id="royalnet.network.Package.from_json_bytes">
<em class="property">static </em><code class="descname">from_json_bytes</code><span class="sig-paren">(</span><em>b: bytes</em><span class="sig-paren">)</span> &#x2192; royalnet.network.package.Package<a class="headerlink" href="#royalnet.network.Package.from_json_bytes" title="Permalink to this definition"></a></dt>
<em class="property">static </em><code class="sig-name descname">from_json_bytes</code><span class="sig-paren">(</span><em class="sig-param">b: bytes</em><span class="sig-paren">)</span> &#x2192; royalnet.network.package.Package<a class="headerlink" href="#royalnet.network.Package.from_json_bytes" title="Permalink to this definition"></a></dt>
<dd><p>Create a Package from UTF8-encoded JSON bytes.</p>
</dd></dl>
<dl class="staticmethod">
<dl class="method">
<dt id="royalnet.network.Package.from_json_string">
<em class="property">static </em><code class="descname">from_json_string</code><span class="sig-paren">(</span><em>string: str</em><span class="sig-paren">)</span> &#x2192; royalnet.network.package.Package<a class="headerlink" href="#royalnet.network.Package.from_json_string" title="Permalink to this definition"></a></dt>
<em class="property">static </em><code class="sig-name descname">from_json_string</code><span class="sig-paren">(</span><em class="sig-param">string: str</em><span class="sig-paren">)</span> &#x2192; royalnet.network.package.Package<a class="headerlink" href="#royalnet.network.Package.from_json_string" title="Permalink to this definition"></a></dt>
<dd><p>Create a Package from a JSON string.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.network.Package.reply">
<code class="descname">reply</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span> &#x2192; royalnet.network.package.Package<a class="headerlink" href="#royalnet.network.Package.reply" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">reply</code><span class="sig-paren">(</span><em class="sig-param">data</em><span class="sig-paren">)</span> &#x2192; royalnet.network.package.Package<a class="headerlink" href="#royalnet.network.Package.reply" title="Permalink to this definition"></a></dt>
<dd><p>Reply to this Package with another Package.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -276,19 +277,19 @@ Contains info about the source and the destination.</p>
<dl class="method">
<dt id="royalnet.network.Package.to_dict">
<code class="descname">to_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; dict<a class="headerlink" href="#royalnet.network.Package.to_dict" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">to_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; dict<a class="headerlink" href="#royalnet.network.Package.to_dict" title="Permalink to this definition"></a></dt>
<dd><p>Convert the Package into a dictionary.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.network.Package.to_json_bytes">
<code class="descname">to_json_bytes</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; bytes<a class="headerlink" href="#royalnet.network.Package.to_json_bytes" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">to_json_bytes</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; bytes<a class="headerlink" href="#royalnet.network.Package.to_json_bytes" title="Permalink to this definition"></a></dt>
<dd><p>Convert the Package into UTF8-encoded JSON bytes.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.network.Package.to_json_string">
<code class="descname">to_json_string</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.network.Package.to_json_string" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">to_json_string</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.network.Package.to_json_string" title="Permalink to this definition"></a></dt>
<dd><p>Convert the Package into a JSON string.</p>
</dd></dl>
@ -296,15 +297,15 @@ Contains info about the source and the destination.</p>
<dl class="class">
<dt id="royalnet.network.RoyalnetServer">
<em class="property">class </em><code class="descclassname">royalnet.network.</code><code class="descname">RoyalnetServer</code><span class="sig-paren">(</span><em>address: str</em>, <em>port: int</em>, <em>required_secret: str</em>, <em>*</em>, <em>loop: asyncio.events.AbstractEventLoop = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetServer" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">RoyalnetServer</code><span class="sig-paren">(</span><em class="sig-param">address: str</em>, <em class="sig-param">port: int</em>, <em class="sig-param">required_secret: str</em>, <em class="sig-param">*</em>, <em class="sig-param">loop: asyncio.events.AbstractEventLoop = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetServer" title="Permalink to this definition"></a></dt>
<dd><dl class="method">
<dt id="royalnet.network.RoyalnetServer.find_client">
<code class="descname">find_client</code><span class="sig-paren">(</span><em>*</em>, <em>nid: str = None</em>, <em>link_type: str = None</em><span class="sig-paren">)</span> &#x2192; List[royalnet.network.royalnetserver.ConnectedClient]<a class="headerlink" href="#royalnet.network.RoyalnetServer.find_client" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">find_client</code><span class="sig-paren">(</span><em class="sig-param">*</em>, <em class="sig-param">nid: str = None</em>, <em class="sig-param">link_type: str = None</em><span class="sig-paren">)</span> &#x2192; List[royalnet.network.royalnetserver.ConnectedClient]<a class="headerlink" href="#royalnet.network.RoyalnetServer.find_client" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.network.RoyalnetServer.find_destination">
<code class="descname">find_destination</code><span class="sig-paren">(</span><em>package: royalnet.network.package.Package</em><span class="sig-paren">)</span> &#x2192; List[royalnet.network.royalnetserver.ConnectedClient]<a class="headerlink" href="#royalnet.network.RoyalnetServer.find_destination" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">find_destination</code><span class="sig-paren">(</span><em class="sig-param">package: royalnet.network.package.Package</em><span class="sig-paren">)</span> &#x2192; List[royalnet.network.royalnetserver.ConnectedClient]<a class="headerlink" href="#royalnet.network.RoyalnetServer.find_destination" title="Permalink to this definition"></a></dt>
<dd><p>Find a list of destinations for the package.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -318,74 +319,74 @@ Contains info about the source and the destination.</p>
<dl class="method">
<dt id="royalnet.network.RoyalnetServer.listener">
<code class="descname">listener</code><span class="sig-paren">(</span><em>websocket: websockets.server.WebSocketServerProtocol</em>, <em>path</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetServer.listener" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">listener</code><span class="sig-paren">(</span><em class="sig-param">websocket: websockets.server.WebSocketServerProtocol</em>, <em class="sig-param">path</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetServer.listener" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.network.RoyalnetServer.route_package">
<code class="descname">route_package</code><span class="sig-paren">(</span><em>package: royalnet.network.package.Package</em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.network.RoyalnetServer.route_package" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">route_package</code><span class="sig-paren">(</span><em class="sig-param">package: royalnet.network.package.Package</em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.network.RoyalnetServer.route_package" title="Permalink to this definition"></a></dt>
<dd><p>Executed every time a package is received and must be routed somewhere.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.network.RoyalnetServer.serve">
<code class="descname">serve</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetServer.serve" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">serve</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetServer.serve" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.network.RoyalnetServer.start">
<code class="descname">start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetServer.start" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-name descname">start</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetServer.start" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.network.RoyalnetConfig">
<em class="property">class </em><code class="descclassname">royalnet.network.</code><code class="descname">RoyalnetConfig</code><span class="sig-paren">(</span><em>master_uri: str</em>, <em>master_secret: str</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetConfig" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">RoyalnetConfig</code><span class="sig-paren">(</span><em class="sig-param">master_uri: str</em>, <em class="sig-param">master_secret: str</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.RoyalnetConfig" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="exception">
<dt id="royalnet.network.ConnectionClosedError">
<em class="property">exception </em><code class="descclassname">royalnet.network.</code><code class="descname">ConnectionClosedError</code><a class="headerlink" href="#royalnet.network.ConnectionClosedError" title="Permalink to this definition"></a></dt>
<em class="property">exception </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">ConnectionClosedError</code><a class="headerlink" href="#royalnet.network.ConnectionClosedError" title="Permalink to this definition"></a></dt>
<dd><p>The <a class="reference internal" href="#royalnet.network.RoyalnetLink" title="royalnet.network.RoyalnetLink"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetLink</span></code></a>s connection was closed unexpectedly. The link cant be used anymore.</p>
</dd></dl>
<dl class="class">
<dt id="royalnet.network.Request">
<em class="property">class </em><code class="descclassname">royalnet.network.</code><code class="descname">Request</code><span class="sig-paren">(</span><em>handler: str</em>, <em>data: dict</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Request" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">Request</code><span class="sig-paren">(</span><em class="sig-param">handler: str</em>, <em class="sig-param">data: dict</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Request" title="Permalink to this definition"></a></dt>
<dd><p>A request sent from a <a class="reference internal" href="#royalnet.network.RoyalnetLink" title="royalnet.network.RoyalnetLink"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetLink</span></code></a> to another.</p>
<p>It contains the name of the requested handler, in addition to the data.</p>
<dl class="staticmethod">
<dl class="method">
<dt id="royalnet.network.Request.from_dict">
<em class="property">static </em><code class="descname">from_dict</code><span class="sig-paren">(</span><em>d: dict</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Request.from_dict" title="Permalink to this definition"></a></dt>
<em class="property">static </em><code class="sig-name descname">from_dict</code><span class="sig-paren">(</span><em class="sig-param">d: dict</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Request.from_dict" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.network.Request.to_dict">
<code class="descname">to_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Request.to_dict" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">to_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Request.to_dict" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.network.Response">
<em class="property">class </em><code class="descclassname">royalnet.network.</code><code class="descname">Response</code><a class="headerlink" href="#royalnet.network.Response" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">Response</code><a class="headerlink" href="#royalnet.network.Response" title="Permalink to this definition"></a></dt>
<dd><p>A base class to be inherited by all other response types.</p>
<dl class="classmethod">
<dl class="method">
<dt id="royalnet.network.Response.from_dict">
<em class="property">classmethod </em><code class="descname">from_dict</code><span class="sig-paren">(</span><em>d: dict</em><span class="sig-paren">)</span> &#x2192; royalnet.network.response.Response<a class="headerlink" href="#royalnet.network.Response.from_dict" title="Permalink to this definition"></a></dt>
<em class="property">classmethod </em><code class="sig-name descname">from_dict</code><span class="sig-paren">(</span><em class="sig-param">d: dict</em><span class="sig-paren">)</span> &#x2192; royalnet.network.response.Response<a class="headerlink" href="#royalnet.network.Response.from_dict" title="Permalink to this definition"></a></dt>
<dd><p>Recreate the response from a received <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a>.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.network.Response.raise_on_error">
<code class="descname">raise_on_error</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Response.raise_on_error" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">raise_on_error</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.Response.raise_on_error" title="Permalink to this definition"></a></dt>
<dd><p>Raise an <a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#Exception" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a> if the Response is an error, do nothing otherwise.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.network.Response.to_dict">
<code class="descname">to_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; dict<a class="headerlink" href="#royalnet.network.Response.to_dict" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">to_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span> &#x2192; dict<a class="headerlink" href="#royalnet.network.Response.to_dict" title="Permalink to this definition"></a></dt>
<dd><p>Prepare the Response to be sent by converting it to a JSONable <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#dict" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a>.</p>
</dd></dl>
@ -393,11 +394,11 @@ Contains info about the source and the destination.</p>
<dl class="class">
<dt id="royalnet.network.ResponseSuccess">
<em class="property">class </em><code class="descclassname">royalnet.network.</code><code class="descname">ResponseSuccess</code><span class="sig-paren">(</span><em>data: Optional[dict] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.ResponseSuccess" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">ResponseSuccess</code><span class="sig-paren">(</span><em class="sig-param">data: Optional[dict] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.ResponseSuccess" title="Permalink to this definition"></a></dt>
<dd><p>A response to a successful <a class="reference internal" href="#royalnet.network.Request" title="royalnet.network.Request"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.Request</span></code></a>.</p>
<dl class="method">
<dt id="royalnet.network.ResponseSuccess.raise_on_error">
<code class="descname">raise_on_error</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.ResponseSuccess.raise_on_error" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">raise_on_error</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.ResponseSuccess.raise_on_error" title="Permalink to this definition"></a></dt>
<dd><p>Raise an <a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#Exception" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a> if the Response is an error, do nothing otherwise.</p>
</dd></dl>
@ -405,11 +406,11 @@ Contains info about the source and the destination.</p>
<dl class="class">
<dt id="royalnet.network.ResponseError">
<em class="property">class </em><code class="descclassname">royalnet.network.</code><code class="descname">ResponseError</code><span class="sig-paren">(</span><em>name: str</em>, <em>description: str</em>, <em>extra_info: Optional[dict] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.ResponseError" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.network.</code><code class="sig-name descname">ResponseError</code><span class="sig-paren">(</span><em class="sig-param">name: str</em>, <em class="sig-param">description: str</em>, <em class="sig-param">extra_info: Optional[dict] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.ResponseError" title="Permalink to this definition"></a></dt>
<dd><p>A response to a invalid <a class="reference internal" href="#royalnet.network.Request" title="royalnet.network.Request"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.Request</span></code></a>.</p>
<dl class="method">
<dt id="royalnet.network.ResponseError.raise_on_error">
<code class="descname">raise_on_error</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.ResponseError.raise_on_error" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">raise_on_error</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.network.ResponseError.raise_on_error" title="Permalink to this definition"></a></dt>
<dd><p>Raise an <a class="reference external" href="https://docs.python.org/3.7/library/exceptions.html#Exception" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a> if the Response is an error, do nothing otherwise.</p>
</dd></dl>

Binary file not shown.

View file

@ -33,6 +33,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />

View file

@ -34,6 +34,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="#" />
</head>

File diff suppressed because one or more lines are too long

View file

@ -33,6 +33,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="royalnet.error" href="error.html" />
@ -162,7 +163,7 @@
<span class="target" id="module-royalnet.utils"></span><p>Miscellaneous useful functions and classes.</p>
<dl class="function">
<dt id="royalnet.utils.asyncify">
<code class="descclassname">royalnet.utils.</code><code class="descname">asyncify</code><span class="sig-paren">(</span><em>function: Callable</em>, <em>*args</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.asyncify" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">asyncify</code><span class="sig-paren">(</span><em class="sig-param">function: Callable</em>, <em class="sig-param">*args</em>, <em class="sig-param">**kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.asyncify" title="Permalink to this definition"></a></dt>
<dd><p>Convert a function into a coroutine.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
@ -170,204 +171,9 @@
</div>
</dd></dl>
<dl class="class">
<dt id="royalnet.utils.Call">
<em class="property">class </em><code class="descclassname">royalnet.utils.</code><code class="descname">Call</code><span class="sig-paren">(</span><em>channel, command: Type[royalnet.utils.command.Command], command_args: List[str] = None, loop: asyncio.events.AbstractEventLoop = None, **kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.Call" title="Permalink to this definition"></a></dt>
<dd><p>A command call. An abstract class, sub-bots should create a new call class from this.</p>
<dl class="attribute">
<dt id="royalnet.utils.Call.interface_name">
<code class="descname">interface_name</code><a class="headerlink" href="#royalnet.utils.Call.interface_name" title="Permalink to this definition"></a></dt>
<dd><p>The name of the interface that is calling the command. For example, <code class="docutils literal notranslate"><span class="pre">telegram</span></code>, or <code class="docutils literal notranslate"><span class="pre">discord</span></code>.</p>
</dd></dl>
<dl class="attribute">
<dt id="royalnet.utils.Call.interface_obj">
<code class="descname">interface_obj</code><a class="headerlink" href="#royalnet.utils.Call.interface_obj" title="Permalink to this definition"></a></dt>
<dd><p>The main object of the interface that is calling the command. For example, the <a class="reference internal" href="bots.html#royalnet.bots.TelegramBot" title="royalnet.bots.TelegramBot"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.bots.TelegramBot</span></code></a> object.</p>
</dd></dl>
<dl class="attribute">
<dt id="royalnet.utils.Call.interface_prefix">
<code class="descname">interface_prefix</code><a class="headerlink" href="#royalnet.utils.Call.interface_prefix" title="Permalink to this definition"></a></dt>
<dd><p>The command prefix used by the interface. For example, <code class="docutils literal notranslate"><span class="pre">/</span></code>, or <code class="docutils literal notranslate"><span class="pre">!</span></code>.</p>
</dd></dl>
<dl class="attribute">
<dt id="royalnet.utils.Call.alchemy">
<code class="descname">alchemy</code><a class="headerlink" href="#royalnet.utils.Call.alchemy" title="Permalink to this definition"></a></dt>
<dd><p>The <a class="reference internal" href="database.html#royalnet.database.Alchemy" title="royalnet.database.Alchemy"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.database.Alchemy</span></code></a> object associated to this interface. May be None if the interface is not connected to any database.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.utils.Call.__init__">
<code class="descname">__init__</code><span class="sig-paren">(</span><em>channel, command: Type[royalnet.utils.command.Command], command_args: List[str] = None, loop: asyncio.events.AbstractEventLoop = None, **kwargs</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.Call.__init__" title="Permalink to this definition"></a></dt>
<dd><p>Create the 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> The channel object this call was sent in.</p></li>
<li><p><strong>command</strong> The command to be called.</p></li>
<li><p><strong>command_args</strong> The arguments to be passed to the command</p></li>
<li><p><strong>kwargs</strong> Additional optional keyword arguments that may be passed to the command, possibly specific to the bot.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="royalnet.utils.Call._session_init">
<code class="descname">_session_init</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.Call._session_init" title="Permalink to this definition"></a></dt>
<dd><p>If the command requires database access, create a <a class="reference internal" href="database.html#royalnet.database.Alchemy" title="royalnet.database.Alchemy"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.database.Alchemy</span></code></a> session for this call, otherwise, do nothing.</p>
</dd></dl>
<dl class="attribute">
<dt>
<code class="descname">alchemy</code><em class="property"> = NotImplemented</em></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.utils.Call.get_author">
<code class="descname">get_author</code><span class="sig-paren">(</span><em>error_if_none=False</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.Call.get_author" title="Permalink to this definition"></a></dt>
<dd><p>Try to find the universal identifier of the user that sent the message.
That probably means, the database row identifying the user.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>error_if_none</strong> Raise a <a class="reference internal" href="error.html#royalnet.error.UnregisteredError" title="royalnet.error.UnregisteredError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">royalnet.error.UnregisteredError</span></code></a> if this is True and the call has no author.</p>
</dd>
<dt class="field-even">Raises</dt>
<dd class="field-even"><p><a class="reference internal" href="error.html#royalnet.error.UnregisteredError" title="royalnet.error.UnregisteredError"><strong>royalnet.error.UnregisteredError</strong></a> </p>
</dd>
</dl>
</dd></dl>
<dl class="attribute">
<dt>
<code class="descname">interface_name</code><em class="property"> = NotImplemented</em></dt>
<dd></dd></dl>
<dl class="attribute">
<dt>
<code class="descname">interface_obj</code><em class="property"> = NotImplemented</em></dt>
<dd></dd></dl>
<dl class="attribute">
<dt>
<code class="descname">interface_prefix</code><em class="property"> = NotImplemented</em></dt>
<dd></dd></dl>
<dl class="method">
<dt id="royalnet.utils.Call.net_request">
<code class="descname">net_request</code><span class="sig-paren">(</span><em>message</em>, <em>destination: str</em><span class="sig-paren">)</span> &#x2192; dict<a class="headerlink" href="#royalnet.utils.Call.net_request" title="Permalink to this definition"></a></dt>
<dd><p>Send data through a <a class="reference internal" href="network.html#royalnet.network.RoyalnetLink" title="royalnet.network.RoyalnetLink"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.RoyalnetLink</span></code></a> and wait for a <code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.network.Reply</span></code>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>message</strong> The data to be sent. Must be <a class="reference external" href="https://docs.python.org/3.7/library/pickle.html#module-pickle" title="(in Python v3.7)"><code class="xref py py-mod docutils literal notranslate"><span class="pre">pickle</span></code></a>-able.</p></li>
<li><p><strong>destination</strong> The destination of the request, either in UUID format or node name.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="royalnet.utils.Call.reply">
<code class="descname">reply</code><span class="sig-paren">(</span><em>text: str</em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.utils.Call.reply" title="Permalink to this definition"></a></dt>
<dd><p>Send a text message to the channel where the call was made.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>text</strong> The text to be sent, possibly formatted in the weird undescribed markup that Im using.</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="royalnet.utils.Call.run">
<code class="descname">run</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.Call.run" title="Permalink to this definition"></a></dt>
<dd><p>Execute the called command, and return the command result.</p>
</dd></dl>
<dl class="method">
<dt id="royalnet.utils.Call.session_end">
<code class="descname">session_end</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.Call.session_end" title="Permalink to this definition"></a></dt>
<dd><p>Close the previously created <a class="reference internal" href="database.html#royalnet.database.Alchemy" title="royalnet.database.Alchemy"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.database.Alchemy</span></code></a> session for this call (if it was created).</p>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.utils.Command">
<em class="property">class </em><code class="descclassname">royalnet.utils.</code><code class="descname">Command</code><a class="headerlink" href="#royalnet.utils.Command" title="Permalink to this definition"></a></dt>
<dd><p>The base class from which all commands should inherit.</p>
<dl class="attribute">
<dt id="royalnet.utils.Command.command_name">
<code class="descname">command_name</code><a class="headerlink" href="#royalnet.utils.Command.command_name" title="Permalink to this definition"></a></dt>
<dd><p>The name of the command. To have <code class="docutils literal notranslate"><span class="pre">/example</span></code> on Telegram, the name should be <code class="docutils literal notranslate"><span class="pre">example</span></code>.</p>
</dd></dl>
<dl class="attribute">
<dt id="royalnet.utils.Command.command_description">
<code class="descname">command_description</code><a class="headerlink" href="#royalnet.utils.Command.command_description" title="Permalink to this definition"></a></dt>
<dd><p>A small description of the command, to be displayed when the command is being autocompleted.</p>
</dd></dl>
<dl class="attribute">
<dt id="royalnet.utils.Command.command_syntax">
<code class="descname">command_syntax</code><a class="headerlink" href="#royalnet.utils.Command.command_syntax" title="Permalink to this definition"></a></dt>
<dd><p>The syntax of the command, to be displayed when a <a class="reference internal" href="error.html#royalnet.error.InvalidInputError" title="royalnet.error.InvalidInputError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">royalnet.error.InvalidInputError</span></code></a> is raised, in the format <code class="docutils literal notranslate"><span class="pre">(required_arg)</span> <span class="pre">[optional_arg]</span></code>.</p>
</dd></dl>
<dl class="attribute">
<dt id="royalnet.utils.Command.require_alchemy_tables">
<code class="descname">require_alchemy_tables</code><a class="headerlink" href="#royalnet.utils.Command.require_alchemy_tables" title="Permalink to this definition"></a></dt>
<dd><p>A set of <a class="reference internal" href="database.html#module-royalnet.database" title="royalnet.database"><code class="xref py py-class docutils literal notranslate"><span class="pre">royalnet.database</span></code></a> tables, that must exist for this command to work.</p>
</dd></dl>
<dl class="attribute">
<dt id="royalnet.utils.Command.network_handlers">
<code class="descname">network_handlers</code><a class="headerlink" href="#royalnet.utils.Command.network_handlers" title="Permalink to this definition"></a></dt>
<dd><p>A list of :py:class:<a href="#id1"><span class="problematic" id="id2">`</span></a>royalnet.utils.NetworkHandler`s that must exist for this command to work.</p>
</dd></dl>
<dl class="attribute">
<dt>
<code class="descname">command_description</code><em class="property"> = NotImplemented</em></dt>
<dd></dd></dl>
<dl class="attribute">
<dt>
<code class="descname">command_name</code><em class="property"> = NotImplemented</em></dt>
<dd></dd></dl>
<dl class="attribute">
<dt>
<code class="descname">command_syntax</code><em class="property"> = NotImplemented</em></dt>
<dd></dd></dl>
<dl class="classmethod">
<dt id="royalnet.utils.Command.common">
<em class="property">classmethod </em><code class="descname">common</code><span class="sig-paren">(</span><em>call: Call</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.Command.common" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="classmethod">
<dt id="royalnet.utils.Command.network_handler_dict">
<em class="property">classmethod </em><code class="descname">network_handler_dict</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.Command.network_handler_dict" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="attribute">
<dt>
<code class="descname">network_handlers</code><em class="property"> = {}</em></dt>
<dd></dd></dl>
<dl class="attribute">
<dt>
<code class="descname">require_alchemy_tables</code><em class="property"> = {}</em></dt>
<dd></dd></dl>
</dd></dl>
<dl class="function">
<dt id="royalnet.utils.safeformat">
<code class="descclassname">royalnet.utils.</code><code class="descname">safeformat</code><span class="sig-paren">(</span><em>string: str</em>, <em>**words</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.safeformat" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">safeformat</code><span class="sig-paren">(</span><em class="sig-param">string: str</em>, <em class="sig-param">**words: str</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.safeformat" title="Permalink to this definition"></a></dt>
<dd><p><code class="xref py py-func docutils literal notranslate"><span class="pre">str.format()</span></code> something, but ignore missing keys instead of raising an error.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -384,11 +190,11 @@ That probably means, the database row identifying the user.</p>
<dl class="function">
<dt id="royalnet.utils.cdj">
<code class="descclassname">royalnet.utils.</code><code class="descname">cdj</code><span class="sig-paren">(</span><em>class_: Any</em><span class="sig-paren">)</span> &#x2192; dict<a class="headerlink" href="#royalnet.utils.cdj" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">cdj</code><span class="sig-paren">(</span><em class="sig-param">class_: Any</em><span class="sig-paren">)</span> &#x2192; dict<a class="headerlink" href="#royalnet.utils.cdj" title="Permalink to this definition"></a></dt>
<dd><p>Return a dict of the class attributes without the <code class="docutils literal notranslate"><span class="pre">__module__</span></code>, <code class="docutils literal notranslate"><span class="pre">__dict__</span></code>, <code class="docutils literal notranslate"><span class="pre">__weakref__</span></code> and <code class="docutils literal notranslate"><span class="pre">__doc__</span></code> keys, to be used while generating dynamically SQLAlchemy declarative table classes.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>class</strong> The object that you want to dict-ify.</p>
<dd class="field-odd"><p><strong>class_</strong> The object that you want to dict-ify.</p>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>The class dict.</p>
@ -402,7 +208,7 @@ That probably means, the database row identifying the user.</p>
<dl class="function">
<dt id="royalnet.utils.sleep_until">
<code class="descclassname">royalnet.utils.</code><code class="descname">sleep_until</code><span class="sig-paren">(</span><em>dt: datetime.datetime</em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.utils.sleep_until" title="Permalink to this definition"></a></dt>
<em class="property">async </em><code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">sleep_until</code><span class="sig-paren">(</span><em class="sig-param">dt: datetime.datetime</em><span class="sig-paren">)</span> &#x2192; None<a class="headerlink" href="#royalnet.utils.sleep_until" title="Permalink to this definition"></a></dt>
<dd><p>Block the call until the specified datetime.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
@ -412,7 +218,7 @@ That probably means, the database row identifying the user.</p>
<dl class="function">
<dt id="royalnet.utils.plusformat">
<code class="descclassname">royalnet.utils.</code><code class="descname">plusformat</code><span class="sig-paren">(</span><em>i: int</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.plusformat" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">plusformat</code><span class="sig-paren">(</span><em class="sig-param">i: int</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.plusformat" title="Permalink to this definition"></a></dt>
<dd><p>Convert an <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> to a <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, prepending a <code class="docutils literal notranslate"><span class="pre">+</span></code> if its greater than 0.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -424,88 +230,20 @@ That probably means, the database row identifying the user.</p>
</dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.utils.CommandArgs">
<em class="property">class </em><code class="descclassname">royalnet.utils.</code><code class="descname">CommandArgs</code><a class="headerlink" href="#royalnet.utils.CommandArgs" title="Permalink to this definition"></a></dt>
<dd><p>An interface to access the arguments of a command with ease.</p>
<dl class="method">
<dt id="royalnet.utils.CommandArgs.__getitem__">
<code class="descname">__getitem__</code><span class="sig-paren">(</span><em>item</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.CommandArgs.__getitem__" title="Permalink to this definition"></a></dt>
<dd><p>Arguments can be accessed with an array notation, such as <code class="docutils literal notranslate"><span class="pre">args[0]</span></code>.</p>
<dl class="field-list simple">
<dt class="field-odd">Raises</dt>
<dd class="field-odd"><p><a class="reference internal" href="error.html#royalnet.error.InvalidInputError" title="royalnet.error.InvalidInputError"><strong>royalnet.error.InvalidInputError</strong></a> if the requested argument does not exist.</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="royalnet.utils.CommandArgs.joined">
<code class="descname">joined</code><span class="sig-paren">(</span><em>*</em>, <em>require_at_least=0</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.CommandArgs.joined" title="Permalink to this definition"></a></dt>
<dd><p>Get the arguments as a space-joined string.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>require_at_least</strong> the minimum amount of arguments required, will raise <a class="reference internal" href="error.html#royalnet.error.InvalidInputError" title="royalnet.error.InvalidInputError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">royalnet.error.InvalidInputError</span></code></a> if the requirement is not fullfilled.</p>
</dd>
<dt class="field-even">Raises</dt>
<dd class="field-even"><p><a class="reference internal" href="error.html#royalnet.error.InvalidInputError" title="royalnet.error.InvalidInputError"><strong>royalnet.error.InvalidInputError</strong></a> if there are less than <code class="docutils literal notranslate"><span class="pre">require_at_least</span></code> arguments.</p>
</dd>
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>The space-joined string.</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="royalnet.utils.CommandArgs.match">
<code class="descname">match</code><span class="sig-paren">(</span><em>pattern: Pattern[AnyStr]</em><span class="sig-paren">)</span> &#x2192; Sequence[AnyStr]<a class="headerlink" href="#royalnet.utils.CommandArgs.match" title="Permalink to this definition"></a></dt>
<dd><p>Match the <code class="xref py py-func docutils literal notranslate"><span class="pre">royalnet.utils.commandargs.joined()</span></code> to a regex pattern.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><p><strong>pattern</strong> The regex pattern to be passed to <a class="reference external" href="https://docs.python.org/3.7/library/re.html#re.match" title="(in Python v3.7)"><code class="xref py py-func docutils literal notranslate"><span class="pre">re.match()</span></code></a>.</p>
</dd>
<dt class="field-even">Raises</dt>
<dd class="field-even"><p><a class="reference internal" href="error.html#royalnet.error.InvalidInputError" title="royalnet.error.InvalidInputError"><strong>royalnet.error.InvalidInputError</strong></a> if the pattern doesnt match.</p>
</dd>
<dt class="field-odd">Returns</dt>
<dd class="field-odd"><p>The matched groups, as returned by <code class="xref py py-func docutils literal notranslate"><span class="pre">re.Match.groups()</span></code>.</p>
</dd>
</dl>
</dd></dl>
<dl class="method">
<dt id="royalnet.utils.CommandArgs.optional">
<code class="descname">optional</code><span class="sig-paren">(</span><em>index: int</em>, <em>default=None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.utils.CommandArgs.optional" title="Permalink to this definition"></a></dt>
<dd><p>Get the argument at a specific index, but dont raise an error if nothing is found, instead returning the <code class="docutils literal notranslate"><span class="pre">default</span></code> value.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>index</strong> The index of the argument you want to retrieve.</p></li>
<li><p><strong>default</strong> The value returned if the argument is missing.</p></li>
</ul>
</dd>
<dt class="field-even">Returns</dt>
<dd class="field-even"><p>Either the argument or the <code class="docutils literal notranslate"><span class="pre">default</span></code> value, defaulting to <code class="docutils literal notranslate"><span class="pre">None</span></code>.</p>
</dd>
</dl>
</dd></dl>
</dd></dl>
<dl class="class">
<dt id="royalnet.utils.NetworkHandler">
<em class="property">class </em><code class="descclassname">royalnet.utils.</code><code class="descname">NetworkHandler</code><a class="headerlink" href="#royalnet.utils.NetworkHandler" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">NetworkHandler</code><a class="headerlink" href="#royalnet.utils.NetworkHandler" title="Permalink to this definition"></a></dt>
<dd><p>The NetworkHandler functions are called when a specific Message type is received.</p>
<dl class="attribute">
<dt id="royalnet.utils.NetworkHandler.message_type">
<code class="descname">message_type</code><em class="property"> = NotImplemented</em><a class="headerlink" href="#royalnet.utils.NetworkHandler.message_type" title="Permalink to this definition"></a></dt>
<code class="sig-name descname">message_type</code><em class="property"> = NotImplemented</em><a class="headerlink" href="#royalnet.utils.NetworkHandler.message_type" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="function">
<dt id="royalnet.utils.andformat">
<code class="descclassname">royalnet.utils.</code><code class="descname">andformat</code><span class="sig-paren">(</span><em>l: List[str], middle=', ', final=' and '</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.andformat" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">andformat</code><span class="sig-paren">(</span><em class="sig-param">l: List[str], middle=', ', final=' and '</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.andformat" title="Permalink to this definition"></a></dt>
<dd><p>Convert a <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#list" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">list</span></code></a> to a <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a> by adding <code class="docutils literal notranslate"><span class="pre">final</span></code> between the last two elements and <code class="docutils literal notranslate"><span class="pre">middle</span></code> between the others.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -523,7 +261,7 @@ That probably means, the database row identifying the user.</p>
<dl class="function">
<dt>
<code class="descclassname">royalnet.utils.</code><code class="descname">plusformat</code><span class="sig-paren">(</span><em>i: int</em><span class="sig-paren">)</span> &#x2192; str</dt>
<code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">plusformat</code><span class="sig-paren">(</span><em class="sig-param">i: int</em><span class="sig-paren">)</span> &#x2192; str</dt>
<dd><p>Convert an <a class="reference external" href="https://docs.python.org/3.7/library/functions.html#int" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> to a <a class="reference external" href="https://docs.python.org/3.7/library/stdtypes.html#str" title="(in Python v3.7)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, prepending a <code class="docutils literal notranslate"><span class="pre">+</span></code> if its greater than 0.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -537,7 +275,7 @@ That probably means, the database row identifying the user.</p>
<dl class="function">
<dt id="royalnet.utils.fileformat">
<code class="descclassname">royalnet.utils.</code><code class="descname">fileformat</code><span class="sig-paren">(</span><em>string: str</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.fileformat" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">fileformat</code><span class="sig-paren">(</span><em class="sig-param">string: str</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.fileformat" title="Permalink to this definition"></a></dt>
<dd><p>Ensure a string can be used as a filename by replacing all non-word characters with underscores.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -551,7 +289,7 @@ That probably means, the database row identifying the user.</p>
<dl class="function">
<dt id="royalnet.utils.ytdldateformat">
<code class="descclassname">royalnet.utils.</code><code class="descname">ytdldateformat</code><span class="sig-paren">(</span><em>string: Optional[str], separator: str = '-'</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.ytdldateformat" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">ytdldateformat</code><span class="sig-paren">(</span><em class="sig-param">string: Optional[str], separator: str = '-'</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.ytdldateformat" title="Permalink to this definition"></a></dt>
<dd><p>Convert the weird date string returned by <code class="docutils literal notranslate"><span class="pre">youtube-dl</span></code> into the <code class="docutils literal notranslate"><span class="pre">YYYY-MM-DD</span></code> format.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters</dt>
@ -568,12 +306,12 @@ That probably means, the database row identifying the user.</p>
<dl class="function">
<dt id="royalnet.utils.numberemojiformat">
<code class="descclassname">royalnet.utils.</code><code class="descname">numberemojiformat</code><span class="sig-paren">(</span><em>l: List[str]</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.numberemojiformat" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">numberemojiformat</code><span class="sig-paren">(</span><em class="sig-param">l: List[str]</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.numberemojiformat" title="Permalink to this definition"></a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="royalnet.utils.telegram_escape">
<code class="descclassname">royalnet.utils.</code><code class="descname">telegram_escape</code><span class="sig-paren">(</span><em>string: str</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.telegram_escape" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">telegram_escape</code><span class="sig-paren">(</span><em class="sig-param">string: str</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.telegram_escape" title="Permalink to this definition"></a></dt>
<dd><p>Escape a string to be sent through Telegram, and format it using RoyalCode.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
@ -583,7 +321,7 @@ That probably means, the database row identifying the user.</p>
<dl class="function">
<dt id="royalnet.utils.discord_escape">
<code class="descclassname">royalnet.utils.</code><code class="descname">discord_escape</code><span class="sig-paren">(</span><em>string: str</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.discord_escape" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">royalnet.utils.</code><code class="sig-name descname">discord_escape</code><span class="sig-paren">(</span><em class="sig-param">string: str</em><span class="sig-paren">)</span> &#x2192; str<a class="headerlink" href="#royalnet.utils.discord_escape" title="Permalink to this definition"></a></dt>
<dd><p>Escape a string to be sent through Discord, and format it using RoyalCode.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>

View file

@ -33,6 +33,7 @@
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/rygdocs.css" type="text/css" />
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="prev" title="royalnet.error" href="error.html" />
@ -161,7 +162,7 @@
</div>
<span class="target" id="module-royalnet.web"></span><dl class="function">
<dt id="royalnet.web.create_app">
<code class="descclassname">royalnet.web.</code><code class="descname">create_app</code><span class="sig-paren">(</span><em>config_obj: Type[CT_co], blueprints: List[royalnet.web.royalprint.Royalprint]</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.web.create_app" title="Permalink to this definition"></a></dt>
<code class="sig-prename descclassname">royalnet.web.</code><code class="sig-name descname">create_app</code><span class="sig-paren">(</span><em class="sig-param">config_obj: Type, blueprints: List[royalnet.web.royalprint.Royalprint]</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.web.create_app" title="Permalink to this definition"></a></dt>
<dd><p>Create a <code class="xref py py-class docutils literal notranslate"><span class="pre">flask.Flask</span></code> application object.</p>
<p>Gets the <code class="docutils literal notranslate"><span class="pre">app.secret_key</span></code> from the <code class="docutils literal notranslate"><span class="pre">SECRET_KEY</span></code> envvar.</p>
<p>Also requires a <code class="docutils literal notranslate"><span class="pre">DB_PATH</span></code> key in <code class="docutils literal notranslate"><span class="pre">config_obj</span></code> to initialize the database connection.</p>
@ -185,7 +186,7 @@ Use with caution?</p>
<dl class="class">
<dt id="royalnet.web.Royalprint">
<em class="property">class </em><code class="descclassname">royalnet.web.</code><code class="descname">Royalprint</code><span class="sig-paren">(</span><em>name</em>, <em>import_name</em>, <em>static_folder=None</em>, <em>static_url_path=None</em>, <em>template_folder=None</em>, <em>url_prefix=None</em>, <em>subdomain=None</em>, <em>url_defaults=None</em>, <em>root_path=None</em>, <em>required_tables: Optional[set] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.web.Royalprint" title="Permalink to this definition"></a></dt>
<em class="property">class </em><code class="sig-prename descclassname">royalnet.web.</code><code class="sig-name descname">Royalprint</code><span class="sig-paren">(</span><em class="sig-param">name</em>, <em class="sig-param">import_name</em>, <em class="sig-param">static_folder=None</em>, <em class="sig-param">static_url_path=None</em>, <em class="sig-param">template_folder=None</em>, <em class="sig-param">url_prefix=None</em>, <em class="sig-param">subdomain=None</em>, <em class="sig-param">url_defaults=None</em>, <em class="sig-param">root_path=None</em>, <em class="sig-param">required_tables: Optional[set] = None</em><span class="sig-paren">)</span><a class="headerlink" href="#royalnet.web.Royalprint" title="Permalink to this definition"></a></dt>
<dd><p>An edited <code class="xref py py-class docutils literal notranslate"><span class="pre">flask.Blueprint</span></code> containing an additional <code class="docutils literal notranslate"><span class="pre">required_tables</span></code> parameter.</p>
</dd></dl>

View file

@ -0,0 +1,3 @@
.wy-side-nav-search, .wy-nav-top {
background-color: #0d193b !important;
}

View file

@ -42,6 +42,7 @@ def skip(app, what, name: str, obj, would_skip, options):
def setup(app):
app.connect("autodoc-skip-member", skip)
app.add_stylesheet('rygdocs.css')
# Add any paths that contain templates here, relative to this directory.

View file

@ -8,7 +8,7 @@ if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=.
set BUILDDIR=../docs
set BUILDDIR=..\docs
if "%1" == "" goto help
@ -25,6 +25,11 @@ if errorlevel 9009 (
exit /b 1
)
del /f /q /s %BUILDDIR%\html\*.*
del /f /q /s %BUILDDIR%\doctrees\*.*
%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS%
goto end

View file

@ -1 +1 @@
semantic = "5.0a37"
semantic = "5.0a38"