aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorGravatar ChrisLovering <[email protected]>2024-02-19 21:55:28 +0000
committerGravatar ChrisLovering <[email protected]>2024-02-19 21:55:28 +0000
commit51dc1c22698e53f8c0bad1cddeb18ee0b65d5cc8 (patch)
tree4d66440b8b22010e369529e2e50d43f277361f6d /main
parentDeploying to docs from @ python-discord/bot-core@b0b758e95eda7e44451abd1b7826... (diff)
Deploying to docs from @ python-discord/bot-core@69eeda8a1914b671af68871dcf55661c5089b338 🚀
Diffstat (limited to 'main')
-rw-r--r--main/.buildinfo2
-rw-r--r--main/changelog.html1
-rw-r--r--main/output/pydis_core.async_stats.html6
-rw-r--r--main/output/pydis_core.html60
-rw-r--r--main/output/pydis_core.site_api.html26
-rw-r--r--main/output/pydis_core.utils.caching.html8
-rw-r--r--main/output/pydis_core.utils.channel.html4
-rw-r--r--main/output/pydis_core.utils.checks.html14
-rw-r--r--main/output/pydis_core.utils.commands.html2
-rw-r--r--main/output/pydis_core.utils.cooldown.html12
-rw-r--r--main/output/pydis_core.utils.error_handling.html2
-rw-r--r--main/output/pydis_core.utils.function.html12
-rw-r--r--main/output/pydis_core.utils.html4
-rw-r--r--main/output/pydis_core.utils.interactions.html18
-rw-r--r--main/output/pydis_core.utils.lock.html22
-rw-r--r--main/output/pydis_core.utils.logging.html8
-rw-r--r--main/output/pydis_core.utils.members.html4
-rw-r--r--main/output/pydis_core.utils.messages.html2
-rw-r--r--main/output/pydis_core.utils.pagination.html12
-rw-r--r--main/output/pydis_core.utils.paste_service.html14
-rw-r--r--main/output/pydis_core.utils.regex.html6
-rw-r--r--main/output/pydis_core.utils.scheduling.html18
-rw-r--r--main/searchindex.js2
23 files changed, 130 insertions, 129 deletions
diff --git a/main/.buildinfo b/main/.buildinfo
index cf5b1a0d..3f86a7fc 100644
--- a/main/.buildinfo
+++ b/main/.buildinfo
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: 6a8449661a1b6fe0d56705d0eb8be3be
+config: fdbc666c4678a68993c18a54548ee63d
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/main/changelog.html b/main/changelog.html
index 39d266ce..db4b0dfd 100644
--- a/main/changelog.html
+++ b/main/changelog.html
@@ -455,6 +455,7 @@
<section id="Next 10.x feature release">
<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/vmaster">Next 10.x feature release</a></h2><ul class="simple">
<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/204">#204</a><span>:</span> Document the instance attributes of <a class="reference internal" href="output/pydis_core.html#pydis_core.BotBase" title="pydis_core.BotBase"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.BotBase</span></code></a>.</p></li>
+<li><p>[<span style="color: #4070A0;">Support</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/206">#206</a><span>:</span> Bump ruff from 0.1.15 to 0.2.2, using the new lint config namespace, and linting with the new rules.</p></li>
</ul>
</section>
<section id="10.7.0">
diff --git a/main/output/pydis_core.async_stats.html b/main/output/pydis_core.async_stats.html
index 8d5092e1..92f9be64 100644
--- a/main/output/pydis_core.async_stats.html
+++ b/main/output/pydis_core.async_stats.html
@@ -455,12 +455,12 @@
<p>An async transport method for statsd communication.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.async_stats.AsyncStatsClient">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AsyncStatsClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'localhost'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8125</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/async_stats.py#L11-L54"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AsyncStatsClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'localhost'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8125</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/async_stats.py#L11-L54"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://statsd.readthedocs.io/en/v3.3/reference.html#statsd.client.base.StatsClientBase" title="(in Python StatsD - Edited by Python Discord to extend statsd base objects to also allow referencing statsd.client.base.StatsClientBase v3.3)"><code class="xref py py-class docutils literal notranslate"><span class="pre">StatsClientBase</span></code></a></p>
<p>An async implementation of <a class="reference external" href="https://statsd.readthedocs.io/en/v3.3/reference.html#statsd.client.base.StatsClientBase" title="(in Python StatsD - Edited by Python Discord to extend statsd base objects to also allow referencing statsd.client.base.StatsClientBase v3.3)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">statsd.client.base.StatsClientBase</span></code></a> that supports async stat communication.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.async_stats.AsyncStatsClient.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'localhost'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8125</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/async_stats.py#L14-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">loop</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">host</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'localhost'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">port</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">8125</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/async_stats.py#L14-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient.__init__" title="Link to this definition">#</a></dt>
<dd><p>Create a new <a class="reference internal" href="#pydis_core.async_stats.AsyncStatsClient" title="pydis_core.async_stats.AsyncStatsClient"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AsyncStatsClient</span></code></a>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -477,7 +477,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.async_stats.AsyncStatsClient.create_socket">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">create_socket</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/async_stats.py#L39-L46"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient.create_socket" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">create_socket</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/async_stats.py#L39-L46"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.async_stats.AsyncStatsClient.create_socket" title="Link to this definition">#</a></dt>
<dd><p>Use <a class="reference external" href="https://docs.python.org/3/library/asyncio-eventloop.html#asyncio.loop.create_datagram_endpoint" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.loop.create_datagram_endpoint</span></code></a> from the loop given on init to create a socket.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
diff --git a/main/output/pydis_core.html b/main/output/pydis_core.html
index 04901534..0cb78549 100644
--- a/main/output/pydis_core.html
+++ b/main/output/pydis_core.html
@@ -455,12 +455,12 @@
<p>Useful utilities and tools for Discord bot development.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.BotBase">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">BotBase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guild_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redis_session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">api_client</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statsd_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">BotBase</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guild_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redis_session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">api_client</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statsd_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Bot" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Bot</span></code></a></p>
<p>A sub-class that implements many common features that Python Discord bots use.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.guild_id">
-<span class="sig-name descname"><span class="pre">guild_id</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.guild_id" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">guild_id</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.guild_id" title="Link to this definition">#</a></dt>
<dd><p>ID of the guild that the bot belongs to.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -471,7 +471,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.http_session">
-<span class="sig-name descname"><span class="pre">http_session</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.http_session" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">http_session</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.http_session" title="Link to this definition">#</a></dt>
<dd><p>The http session used for sending out HTTP requests.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -482,7 +482,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.api_client">
-<span class="sig-name descname"><span class="pre">api_client</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.api_client" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">api_client</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.api_client" title="Link to this definition">#</a></dt>
<dd><p>The API client used for communications with the site service.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -493,7 +493,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.statsd_url">
-<span class="sig-name descname"><span class="pre">statsd_url</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.statsd_url" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">statsd_url</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.statsd_url" title="Link to this definition">#</a></dt>
<dd><p>The url that statsd sends metrics to.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -504,7 +504,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.redis_session">
-<span class="sig-name descname"><span class="pre">redis_session</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.redis_session" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">redis_session</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.redis_session" title="Link to this definition">#</a></dt>
<dd><p>The redis session used to communicate with the Redis instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -515,7 +515,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.stats">
-<span class="sig-name descname"><span class="pre">stats</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.stats" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">stats</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.stats" title="Link to this definition">#</a></dt>
<dd><p>The statsd client that sends metrics.</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -526,7 +526,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.BotBase.all_extensions">
-<span class="sig-name descname"><span class="pre">all_extensions</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.all_extensions" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">all_extensions</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L35-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.all_extensions" title="Link to this definition">#</a></dt>
<dd><p>All extensions that were found within the <code class="docutils literal notranslate"><span class="pre">module</span></code> passed to
<code class="docutils literal notranslate"><span class="pre">self.load_extensions</span></code>. Use <code class="docutils literal notranslate"><span class="pre">self.extensions</span></code> to get the loaded extensions.</p>
<dl class="field-list simple">
@@ -538,7 +538,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guild_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redis_session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">api_client</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statsd_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L51-L102"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">guild_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redis_session</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">api_client</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">statsd_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L51-L102"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.__init__" title="Link to this definition">#</a></dt>
<dd><p>Initialise the base bot instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -557,7 +557,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.add_cog">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">add_cog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cog</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L181-L185"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.add_cog" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">add_cog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">cog</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L181-L185"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.add_cog" title="Link to this definition">#</a></dt>
<dd><p>Add the given <code class="docutils literal notranslate"><span class="pre">cog</span></code> to the bot and log the operation.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -568,7 +568,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.add_command">
-<span class="sig-name descname"><span class="pre">add_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">command</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L186-L190"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.add_command" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">add_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">command</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L186-L190"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.add_command" title="Link to this definition">#</a></dt>
<dd><p>Add <code class="docutils literal notranslate"><span class="pre">command</span></code> as normal and then add its root aliases to the bot.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -579,7 +579,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.clear">
-<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L206-L209"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.clear" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L206-L209"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.clear" title="Link to this definition">#</a></dt>
<dd><p>Not implemented! Re-instantiate the bot instead of attempting to re-use a closed one.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -590,7 +590,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.close">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L295-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.close" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L295-L326"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.close" title="Link to this definition">#</a></dt>
<dd><p>Close the Discord connection, and the aiohttp session, connector, statsd client, and resolver.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -601,7 +601,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.load_extensions">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">load_extensions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">module</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sync_app_commands</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L149-L159"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.load_extensions" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">load_extensions</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">module</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">sync_app_commands</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L149-L159"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.load_extensions" title="Link to this definition">#</a></dt>
<dd><p>Load all the extensions within the given <code class="docutils literal notranslate"><span class="pre">module</span></code> and save them to <code class="docutils literal notranslate"><span class="pre">self.all_extensions</span></code>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -615,7 +615,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.log_to_dev_log">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">log_to_dev_log</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L234-L236"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.log_to_dev_log" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">log_to_dev_log</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L234-L236"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.log_to_dev_log" title="Link to this definition">#</a></dt>
<dd><p>Log the given message to #dev-log.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -626,7 +626,7 @@ a dummy statsd client will be created.</p></li>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.on_guild_available">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_guild_available</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L217-L233"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.on_guild_available" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_guild_available</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L217-L233"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.on_guild_available" title="Link to this definition">#</a></dt>
<dd><p>Set the internal guild available event when self.guild_id becomes available.</p>
<p>If the cache appears to still be empty (no members, no channels, or no roles), the event
will not be set and <cite>guild_available_but_cache_empty</cite> event will be emitted.</p>
@@ -639,7 +639,7 @@ will not be set and <cite>guild_available_but_cache_empty</cite> event will be e
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.on_guild_unavailable">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_guild_unavailable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L210-L216"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.on_guild_unavailable" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_guild_unavailable</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L210-L216"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.on_guild_unavailable" title="Link to this definition">#</a></dt>
<dd><p>Clear the internal guild available event when self.guild_id becomes unavailable.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -650,7 +650,7 @@ will not be set and <cite>guild_available_but_cache_empty</cite> event will be e
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.ping_services">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ping_services</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L292-L294"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.ping_services" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ping_services</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L292-L294"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.ping_services" title="Link to this definition">#</a></dt>
<dd><p>Ping all required services on setup to ensure they are up before starting.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -661,7 +661,7 @@ will not be set and <cite>guild_available_but_cache_empty</cite> event will be e
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.process_commands">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">process_commands</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L246-L255"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.process_commands" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">process_commands</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L246-L255"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.process_commands" title="Link to this definition">#</a></dt>
<dd><p>Overwrite default Discord.py behaviour to process commands only after ensuring extensions are loaded.</p>
<p>This extension check is only relevant for clients that make use of <a class="reference internal" href="#pydis_core.BotBase.load_extensions" title="pydis_core.BotBase.load_extensions"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.BotBase.load_extensions</span></code></a>.</p>
<dl class="field-list simple">
@@ -673,7 +673,7 @@ will not be set and <cite>guild_available_but_cache_empty</cite> event will be e
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.remove_command">
-<span class="sig-name descname"><span class="pre">remove_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L191-L205"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.remove_command" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">remove_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L191-L205"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.remove_command" title="Link to this definition">#</a></dt>
<dd><p>Remove a command/alias as normal and then remove its root aliases from the bot.</p>
<p>Individual root aliases cannot be removed by this function.
To remove them, either remove the entire command or manually edit <cite>bot.all_commands</cite>.</p>
@@ -686,7 +686,7 @@ To remove them, either remove the entire command or manually edit <cite>bot.all_
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.setup_hook">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">setup_hook</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L256-L291"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.setup_hook" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">setup_hook</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L256-L291"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.setup_hook" title="Link to this definition">#</a></dt>
<dd><p>An async init to startup generic services.</p>
<p>Connects to statsd, and calls
<a class="reference internal" href="pydis_core.async_stats.html#pydis_core.async_stats.AsyncStatsClient.create_socket" title="pydis_core.async_stats.AsyncStatsClient.create_socket"><code class="xref py py-func docutils literal notranslate"><span class="pre">AsyncStatsClient.create_socket</span></code></a>
@@ -700,7 +700,7 @@ and <a class="reference internal" href="#pydis_core.BotBase.ping_services" title
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.BotBase.wait_until_guild_available">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">wait_until_guild_available</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L237-L245"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.wait_until_guild_available" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">wait_until_guild_available</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L237-L245"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.BotBase.wait_until_guild_available" title="Link to this definition">#</a></dt>
<dd><p>Wait until the guild that matches the <code class="docutils literal notranslate"><span class="pre">guild_id</span></code> given at init is available (and the cache is ready).</p>
<p>The on_ready event is inadequate because it only waits 2 seconds for a GUILD_CREATE
gateway event before giving up and thus not populating the cache for unavailable guilds.</p>
@@ -715,14 +715,14 @@ gateway event before giving up and thus not populating the cache for unavailable
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.EmptyPaginatorEmbedError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EmptyPaginatorEmbedError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L27-L29"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.EmptyPaginatorEmbedError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EmptyPaginatorEmbedError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L27-L29"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.EmptyPaginatorEmbedError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised when attempting to paginate with empty contents.</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.LinePaginator">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LinePaginator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L31-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LinePaginator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L31-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Paginator" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Paginator</span></code></a></p>
<p>A class that aids in paginating code blocks for Discord messages.</p>
<dl class="field-list simple">
@@ -739,14 +739,14 @@ gateway event before giving up and thus not populating the cache for unavailable
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.LinePaginator.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L44-L82"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L44-L82"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.__init__" title="Link to this definition">#</a></dt>
<dd><p>This function overrides the Paginator.__init__ from inside discord.ext.commands.</p>
<p>It overrides in order to allow us to configure the maximum number of lines per page.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.LinePaginator.add_line">
-<span class="sig-name descname"><span class="pre">add_line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">line</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L83-L135"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.add_line" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">add_line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">line</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L83-L135"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.add_line" title="Link to this definition">#</a></dt>
<dd><p>Adds a line to the current page.</p>
<p>If a line on a page exceeds <cite>max_size</cite> characters, then <cite>max_size</cite> will go up to
<cite>scale_to_size</cite> for a single line before creating a new page for the overflow words. If it
@@ -774,7 +774,7 @@ page at a reasonable size.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.LinePaginator.paginate">
-<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">paginate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pagination_emojis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embed</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">restrict_to_user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exception_on_empty_embed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reply</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L190-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.paginate" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">paginate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pagination_emojis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embed</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">restrict_to_user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exception_on_empty_embed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reply</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L190-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.LinePaginator.paginate" title="Link to this definition">#</a></dt>
<dd><p>Use a paginator and set of reactions to provide pagination over a set of lines.</p>
<p>The reactions are used to switch page, or to finish with pagination.</p>
<p>When used, this will send a message using <cite>ctx.send()</cite> and apply a set of reactions to it. These reactions may
@@ -818,7 +818,7 @@ to any user with a moderation role.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.PaginationEmojis">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PaginationEmojis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L17-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.PaginationEmojis" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PaginationEmojis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L17-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.PaginationEmojis" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
<p>The emojis that will be used for pagination.</p>
<dl class="py attribute">
@@ -845,12 +845,12 @@ mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.StartupError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">StartupError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L27-L33"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.StartupError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">StartupError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L27-L33"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.StartupError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Exception class for startup errors.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.StartupError.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/_bot.py#L30-L33"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.StartupError.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">base</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/_bot.py#L30-L33"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.StartupError.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
</dd></dl>
diff --git a/main/output/pydis_core.site_api.html b/main/output/pydis_core.site_api.html
index c760e359..cedebe29 100644
--- a/main/output/pydis_core.site_api.html
+++ b/main/output/pydis_core.site_api.html
@@ -455,12 +455,12 @@
<p>An API wrapper around the Site API.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">APIClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">site_api_url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">site_api_token</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">session_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L41-L142"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">APIClient</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">site_api_url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">site_api_token</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">session_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L41-L142"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>A wrapper for the Django Site API.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">site_api_url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">site_api_token</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">session_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L47-L70"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">site_api_url</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">site_api_token</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">session_kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L47-L70"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.__init__" title="Link to this definition">#</a></dt>
<dd><p>Initialize a new <a class="reference internal" href="#pydis_core.site_api.APIClient" title="pydis_core.site_api.APIClient"><code class="xref py py-obj docutils literal notranslate"><span class="pre">APIClient</span></code></a> instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -475,7 +475,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.close">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L74-L77"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.close" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">close</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L74-L77"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.close" title="Link to this definition">#</a></dt>
<dd><p>Close the aiohttp session.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -486,7 +486,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.delete">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">delete</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L139-L142"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.delete" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">delete</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L139-L142"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.delete" title="Link to this definition">#</a></dt>
<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with DELETE passed as the method.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -497,7 +497,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.get">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L123-L126"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.get" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L123-L126"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.get" title="Link to this definition">#</a></dt>
<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with GET passed as the method.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -508,7 +508,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.maybe_raise_for_status">
-<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">maybe_raise_for_status</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">should_raise</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L78-L98"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.maybe_raise_for_status" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">static</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">maybe_raise_for_status</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">should_raise</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L78-L98"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.maybe_raise_for_status" title="Link to this definition">#</a></dt>
<dd><p>Raise <a class="reference internal" href="#pydis_core.site_api.ResponseCodeError" title="pydis_core.site_api.ResponseCodeError"><code class="xref py py-exc docutils literal notranslate"><span class="pre">ResponseCodeError</span></code></a> for non-OK response if an exception should be raised.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -528,7 +528,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.patch">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">patch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L127-L130"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.patch" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">patch</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L127-L130"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.patch" title="Link to this definition">#</a></dt>
<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with PATCH passed as the method.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -539,7 +539,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.post">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">post</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L131-L134"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.post" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">post</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L131-L134"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.post" title="Link to this definition">#</a></dt>
<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with POST passed as the method.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -550,7 +550,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.put">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">put</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L135-L138"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.put" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">put</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L135-L138"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.put" title="Link to this definition">#</a></dt>
<dd><p>Equivalent to <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> with PUT passed as the method.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -561,7 +561,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.APIClient.request">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">request</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L99-L122"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.request" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">request</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">method</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">endpoint</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_for_status</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L99-L122"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.APIClient.request" title="Link to this definition">#</a></dt>
<dd><p>Send an HTTP request to the site API and return the JSON response.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -588,12 +588,12 @@
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.site_api.ResponseCodeError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ResponseCodeError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_json</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L13-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ResponseCodeError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_json</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L13-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#ValueError" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">ValueError</span></code></a></p>
<p>Raised in <a class="reference internal" href="#pydis_core.site_api.APIClient.request" title="pydis_core.site_api.APIClient.request"><code class="xref py py-meth docutils literal notranslate"><span class="pre">APIClient.request()</span></code></a> when a non-OK HTTP response is received.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.ResponseCodeError.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_json</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L16-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">response</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_json</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">response_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L16-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError.__init__" title="Link to this definition">#</a></dt>
<dd><p>Initialize a new <a class="reference internal" href="#pydis_core.site_api.ResponseCodeError" title="pydis_core.site_api.ResponseCodeError"><code class="xref py py-obj docutils literal notranslate"><span class="pre">ResponseCodeError</span></code></a> instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -608,7 +608,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.site_api.ResponseCodeError.__str__">
-<span class="sig-name descname"><span class="pre">__str__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/site_api.py#L35-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError.__str__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__str__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/site_api.py#L35-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.site_api.ResponseCodeError.__str__" title="Link to this definition">#</a></dt>
<dd><p>Return a string representation of the error.</p>
</dd></dl>
diff --git a/main/output/pydis_core.utils.caching.html b/main/output/pydis_core.utils.caching.html
index b3a53db6..7ff11ca8 100644
--- a/main/output/pydis_core.utils.caching.html
+++ b/main/output/pydis_core.utils.caching.html
@@ -455,14 +455,14 @@
<p>Utilities related to custom caches.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AsyncCache</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">128</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/caching.py#L8-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">AsyncCache</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">128</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/caching.py#L8-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>LRU cache implementation for coroutines.</p>
<p>Once the cache exceeds the maximum size, keys are deleted in FIFO order.</p>
<p>An offset may be optionally provided to be applied to the coroutine’s arguments when creating the cache key.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache.__call__">
-<span class="sig-name descname"><span class="pre">__call__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">arg_offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/caching.py#L27-L62"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.__call__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__call__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">arg_offset</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/caching.py#L27-L62"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.__call__" title="Link to this definition">#</a></dt>
<dd><p>Decorator for async cache.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -479,7 +479,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">128</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/caching.py#L17-L26"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">128</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/caching.py#L17-L26"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.__init__" title="Link to this definition">#</a></dt>
<dd><p>Initialise a new <a class="reference internal" href="#pydis_core.utils.caching.AsyncCache" title="pydis_core.utils.caching.AsyncCache"><code class="xref py py-obj docutils literal notranslate"><span class="pre">AsyncCache</span></code></a> instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -490,7 +490,7 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.caching.AsyncCache.clear">
-<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/caching.py#L63-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.clear" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">clear</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/caching.py#L63-L66"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.caching.AsyncCache.clear" title="Link to this definition">#</a></dt>
<dd><p>Clear cache instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
diff --git a/main/output/pydis_core.utils.channel.html b/main/output/pydis_core.utils.channel.html
index c1bc9fce..38bc2383 100644
--- a/main/output/pydis_core.utils.channel.html
+++ b/main/output/pydis_core.utils.channel.html
@@ -455,7 +455,7 @@
<p>Useful helper functions for interacting with various discord channel objects.</p>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.channel.get_or_fetch_channel">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_or_fetch_channel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bot</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channel_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/channel.py#L25-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.channel.get_or_fetch_channel" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_or_fetch_channel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">bot</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channel_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/channel.py#L25-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.channel.get_or_fetch_channel" title="Link to this definition">#</a></dt>
<dd><p>Attempt to get or fetch the given <code class="docutils literal notranslate"><span class="pre">channel_id</span></code> from the bots cache, and return it.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -483,7 +483,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.channel.is_in_category">
-<span class="sig-name descname"><span class="pre">is_in_category</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">channel</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">category_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/channel.py#L11-L23"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.channel.is_in_category" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">is_in_category</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">channel</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">category_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/channel.py#L11-L23"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.channel.is_in_category" title="Link to this definition">#</a></dt>
<dd><p>Return whether the given <code class="docutils literal notranslate"><span class="pre">channel</span></code> in the the category with the id <code class="docutils literal notranslate"><span class="pre">category_id</span></code>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
diff --git a/main/output/pydis_core.utils.checks.html b/main/output/pydis_core.utils.checks.html
index 6fa6d123..cd544ee0 100644
--- a/main/output/pydis_core.utils.checks.html
+++ b/main/output/pydis_core.utils.checks.html
@@ -454,26 +454,26 @@
<span id="checks"></span><h1>checks<a class="headerlink" href="#module-pydis_core.utils.checks" title="Link to this heading">#</a></h1>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.checks.ContextCheckFailure">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ContextCheckFailure</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/checks.py#L20-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.ContextCheckFailure" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ContextCheckFailure</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/checks.py#L20-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.ContextCheckFailure" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.CheckFailure" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">CheckFailure</span></code></a></p>
<p>Raised when a context-specific check fails.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.checks.ContextCheckFailure.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/checks.py#L23-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.ContextCheckFailure.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/checks.py#L23-L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.ContextCheckFailure.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.checks.InWhitelistCheckFailure">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">InWhitelistCheckFailure</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/checks.py#L36-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.InWhitelistCheckFailure" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">InWhitelistCheckFailure</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">redirect_channel</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/checks.py#L36-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.InWhitelistCheckFailure" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference internal" href="#pydis_core.utils.checks.ContextCheckFailure" title="pydis_core.utils.checks.ContextCheckFailure"><code class="xref py py-class docutils literal notranslate"><span class="pre">ContextCheckFailure</span></code></a></p>
<p>Raised when the <cite>in_whitelist</cite> check fails.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.checks.cooldown_with_role_bypass">
-<span class="sig-name descname"><span class="pre">cooldown_with_role_bypass</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rate</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">per</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('default',</span> <span class="pre">0)</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bypass_roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/checks.py#L99-L160"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.cooldown_with_role_bypass" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">cooldown_with_role_bypass</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">rate</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">per</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">type</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('default',</span> <span class="pre">0)</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">bypass_roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/checks.py#L99-L160"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.cooldown_with_role_bypass" title="Link to this definition">#</a></dt>
<dd><p>Decorate a command to have a cooldown, which can be bypassed by users with specified roles.</p>
<p>Note: This replaces the <cite>Command.before_invoke</cite> callback, which <em>might</em> introduce problems in the future.</p>
<dl class="field-list simple">
@@ -499,7 +499,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.checks.has_any_role_check">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">has_any_role_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/checks.py#L162-L192"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.has_any_role_check" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">has_any_role_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/checks.py#L162-L192"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.has_any_role_check" title="Link to this definition">#</a></dt>
<dd><p>Verify if the context’s author has any of the specified roles.</p>
<p>This check will always fail if the context is a DM, since DMs don’t have roles.</p>
<dl class="field-list simple">
@@ -520,7 +520,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.checks.has_no_roles_check">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">has_no_roles_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/checks.py#L194-L221"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.has_no_roles_check" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">has_no_roles_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">roles</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/checks.py#L194-L221"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.has_no_roles_check" title="Link to this definition">#</a></dt>
<dd><p>Verify if the context’s author doesn’t have any of the specified roles.</p>
<p>This check will always fail if the context is a DM, since DMs don’t have roles.</p>
<dl class="field-list simple">
@@ -541,7 +541,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.checks.in_whitelist_check">
-<span class="sig-name descname"><span class="pre">in_whitelist_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redirect</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">categories</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fail_silently</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/checks.py#L40-L97"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.in_whitelist_check" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">in_whitelist_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">redirect</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">channels</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">categories</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">fail_silently</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/checks.py#L40-L97"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.checks.in_whitelist_check" title="Link to this definition">#</a></dt>
<dd><p>Check if a command was issued in a context that is whitelisted by channel, category, or roles.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
diff --git a/main/output/pydis_core.utils.commands.html b/main/output/pydis_core.utils.commands.html
index 362e5f8e..b7873004 100644
--- a/main/output/pydis_core.utils.commands.html
+++ b/main/output/pydis_core.utils.commands.html
@@ -454,7 +454,7 @@
<span id="commands"></span><h1>commands<a class="headerlink" href="#module-pydis_core.utils.commands" title="Link to this heading">#</a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.commands.clean_text_or_reply">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">clean_text_or_reply</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/commands.py#L6-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.commands.clean_text_or_reply" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">clean_text_or_reply</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/commands.py#L6-L38"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.commands.clean_text_or_reply" title="Link to this definition">#</a></dt>
<dd><p>Cleans a text argument or replied message’s content.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
diff --git a/main/output/pydis_core.utils.cooldown.html b/main/output/pydis_core.utils.cooldown.html
index 5659e067..3a2a513b 100644
--- a/main/output/pydis_core.utils.cooldown.html
+++ b/main/output/pydis_core.utils.cooldown.html
@@ -455,17 +455,17 @@
<p>Helpers for setting a cooldown on commands.</p>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.CommandOnCooldown">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CommandOnCooldown</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">function</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">/</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/cooldown.py#L38-L62"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CommandOnCooldown</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">function</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">/</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/cooldown.py#L38-L62"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.CommandError" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">CommandError</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Generic" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Generic</span></code></a>[<a class="reference internal" href="#pydis_core.utils.cooldown.P" title="pydis_core.utils.cooldown.P"><code class="xref py py-obj docutils literal notranslate"><span class="pre">P</span></code></a>, <a class="reference internal" href="#pydis_core.utils.cooldown.R" title="pydis_core.utils.cooldown.R"><code class="xref py py-obj docutils literal notranslate"><span class="pre">R</span></code></a>]</p>
<p>Raised when a command is invoked while on cooldown.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.CommandOnCooldown.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">function</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">/</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/cooldown.py#L41-L53"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">message</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">function</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">/</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/cooldown.py#L41-L53"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">call_without_cooldown</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/cooldown.py#L54-L62"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">call_without_cooldown</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/cooldown.py#L54-L62"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown" title="Link to this definition">#</a></dt>
<dd><p>Run the command this cooldown blocked.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -481,20 +481,20 @@
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.P">
-<span class="sig-name descname"><span class="pre">P</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">~P</span></em><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/cooldown.py#L32"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.P" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">P</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">~P</span></em><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/cooldown.py#L32"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.P" title="Link to this definition">#</a></dt>
<dd><p>The command’s signature.</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.R">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">R</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/cooldown.py#L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.R" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">R</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/cooldown.py#L34"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.R" title="Link to this definition">#</a></dt>
<dd><p>The command’s return value.</p>
<p>alias of TypeVar(‘R’)</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.cooldown.block_duplicate_invocations">
-<span class="sig-name descname"><span class="pre">block_duplicate_invocations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cooldown_duration</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">send_notice</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args_preprocessor</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/cooldown.py#L176-L222"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.block_duplicate_invocations" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">block_duplicate_invocations</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cooldown_duration</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">5</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">send_notice</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args_preprocessor</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/cooldown.py#L176-L222"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.cooldown.block_duplicate_invocations" title="Link to this definition">#</a></dt>
<dd><p>Prevent duplicate invocations of a command with the same arguments in a channel for <code class="docutils literal notranslate"><span class="pre">cooldown_duration</span></code> seconds.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
diff --git a/main/output/pydis_core.utils.error_handling.html b/main/output/pydis_core.utils.error_handling.html
index 98e848c8..98ca6421 100644
--- a/main/output/pydis_core.utils.error_handling.html
+++ b/main/output/pydis_core.utils.error_handling.html
@@ -454,7 +454,7 @@
<span id="error-handling"></span><h1>error_handling<a class="headerlink" href="#module-pydis_core.utils.error_handling" title="Link to this heading">#</a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.error_handling.handle_forbidden_from_block">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_forbidden_from_block</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/error_handling.py#L8-L36"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.handle_forbidden_from_block" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_forbidden_from_block</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">error</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/error_handling.py#L8-L36"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.error_handling.handle_forbidden_from_block" title="Link to this definition">#</a></dt>
<dd><p>Handles <code class="docutils literal notranslate"><span class="pre">discord.Forbidden</span></code> 90001 errors, or re-raises if <code class="docutils literal notranslate"><span class="pre">error</span></code> isn’t a 90001 error.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
diff --git a/main/output/pydis_core.utils.function.html b/main/output/pydis_core.utils.function.html
index e3d727a7..b34d0b3d 100644
--- a/main/output/pydis_core.utils.function.html
+++ b/main/output/pydis_core.utils.function.html
@@ -455,14 +455,14 @@
<p>Utils for manipulating functions.</p>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.function.GlobalNameConflictError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GlobalNameConflictError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/function.py#L31-L33"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.GlobalNameConflictError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">GlobalNameConflictError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/function.py#L31-L33"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.GlobalNameConflictError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised on a conflict between the globals used to resolve annotations of a wrapped function and its wrapper.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.function.command_wraps">
-<span class="sig-name descname"><span class="pre">command_wraps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wrapped</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">assigned</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('__module__',</span> <span class="pre">'__name__',</span> <span class="pre">'__qualname__',</span> <span class="pre">'__doc__',</span> <span class="pre">'__annotations__')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">updated</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('__dict__',)</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignored_conflict_names</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">frozenset({})</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/function.py#L172-L203"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.command_wraps" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">command_wraps</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wrapped</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">assigned</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('__module__',</span> <span class="pre">'__name__',</span> <span class="pre">'__qualname__',</span> <span class="pre">'__doc__',</span> <span class="pre">'__annotations__')</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">updated</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('__dict__',)</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignored_conflict_names</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">frozenset({})</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/function.py#L172-L203"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.command_wraps" title="Link to this definition">#</a></dt>
<dd><p>Update the decorated function to look like <code class="docutils literal notranslate"><span class="pre">wrapped</span></code>, and update globals for discord.py forwardref evaluation.</p>
<p>See <a class="reference internal" href="#pydis_core.utils.function.update_wrapper_globals" title="pydis_core.utils.function.update_wrapper_globals"><code class="xref py py-func docutils literal notranslate"><span class="pre">update_wrapper_globals()</span></code></a> for more details on how the globals are updated.</p>
<dl class="field-list simple">
@@ -486,7 +486,7 @@ with the wrapper replaced with the function <a class="reference internal" href="
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.function.get_arg_value">
-<span class="sig-name descname"><span class="pre">get_arg_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arguments</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/function.py#L35-L65"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_arg_value" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">get_arg_value</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">arguments</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/function.py#L35-L65"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_arg_value" title="Link to this definition">#</a></dt>
<dd><p>Return a value from <cite>arguments</cite> based on a name or position.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -509,7 +509,7 @@ with the wrapper replaced with the function <a class="reference internal" href="
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.function.get_arg_value_wrapper">
-<span class="sig-name descname"><span class="pre">get_arg_value_wrapper</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">decorator_func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/function.py#L67-L91"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_arg_value_wrapper" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">get_arg_value_wrapper</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">decorator_func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/function.py#L67-L91"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_arg_value_wrapper" title="Link to this definition">#</a></dt>
<dd><p>Call <cite>decorator_func</cite> with the value of the arg at the given name/position.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -531,7 +531,7 @@ parameter names to argument values of the function it’s decorating.</p></li>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.function.get_bound_args">
-<span class="sig-name descname"><span class="pre">get_bound_args</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/function.py#L93-L111"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_bound_args" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">get_bound_args</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">func</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/function.py#L93-L111"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.get_bound_args" title="Link to this definition">#</a></dt>
<dd><p>Bind <cite>args</cite> and <cite>kwargs</cite> to <cite>func</cite> and return a mapping of parameter names to argument values.</p>
<p>Default parameter values are also set.</p>
<dl class="field-list simple">
@@ -553,7 +553,7 @@ parameter names to argument values of the function it’s decorating.</p></li>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.function.update_wrapper_globals">
-<span class="sig-name descname"><span class="pre">update_wrapper_globals</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wrapper</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wrapped</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignored_conflict_names</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">frozenset({})</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/function.py#L113-L170"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.update_wrapper_globals" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">update_wrapper_globals</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">wrapper</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wrapped</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ignored_conflict_names</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">frozenset({})</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/function.py#L113-L170"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.function.update_wrapper_globals" title="Link to this definition">#</a></dt>
<dd><p>Create a copy of <code class="docutils literal notranslate"><span class="pre">wrapper</span></code>, the copy’s globals are updated with <code class="docutils literal notranslate"><span class="pre">wrapped</span></code>'s globals.</p>
<p>For forwardrefs in command annotations, discord.py uses the <code class="docutils literal notranslate"><span class="pre">__global__</span></code> attribute of the function
to resolve their values. This breaks for decorators that replace the function because they have
diff --git a/main/output/pydis_core.utils.html b/main/output/pydis_core.utils.html
index bcbb3af1..77465188 100644
--- a/main/output/pydis_core.utils.html
+++ b/main/output/pydis_core.utils.html
@@ -455,7 +455,7 @@
<p>Useful utilities and tools for Discord bot development.</p>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.apply_monkey_patches">
-<span class="sig-name descname"><span class="pre">apply_monkey_patches</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/__init__.py#L25-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.apply_monkey_patches" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">apply_monkey_patches</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/__init__.py#L25-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.apply_monkey_patches" title="Link to this definition">#</a></dt>
<dd><p>Applies all common monkey patches for our bots.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -474,7 +474,7 @@ that will act as top-level groups rather than being aliases of the command’s g
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.unqualify">
-<span class="sig-name descname"><span class="pre">unqualify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/_extensions.py#L10-L21"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.unqualify" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">unqualify</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/_extensions.py#L10-L21"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.unqualify" title="Link to this definition">#</a></dt>
<dd><p>Return an unqualified name given a qualified module/package <code class="docutils literal notranslate"><span class="pre">name</span></code>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
diff --git a/main/output/pydis_core.utils.interactions.html b/main/output/pydis_core.utils.interactions.html
index 14865999..d1eee3ff 100644
--- a/main/output/pydis_core.utils.interactions.html
+++ b/main/output/pydis_core.utils.interactions.html
@@ -454,7 +454,7 @@
<span id="interactions"></span><h1>interactions<a class="headerlink" href="#module-pydis_core.utils.interactions" title="Link to this heading">#</a></h1>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.DeleteMessageButton">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">DeleteMessageButton</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('secondary',</span> <span class="pre">2)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Delete'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/interactions.py#L110-L136"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">DeleteMessageButton</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('secondary',</span> <span class="pre">2)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Delete'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/interactions.py#L110-L136"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/interactions/api.html#discord.ui.Button" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Button</span></code></a></p>
<p>A button that can be added to a view to delete the message containing the view on click.</p>
<p>This button itself carries out no interaction checks, these should be done by the parent view.</p>
@@ -469,12 +469,12 @@
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.DeleteMessageButton.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('secondary',</span> <span class="pre">2)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Delete'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/interactions.py#L124-L132"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">style</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">('secondary',</span> <span class="pre">2)</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">label</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'Delete'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/interactions.py#L124-L132"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.DeleteMessageButton.callback">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">callback</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/interactions.py#L133-L136"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton.callback" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">callback</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/interactions.py#L133-L136"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.DeleteMessageButton.callback" title="Link to this definition">#</a></dt>
<dd><p>Delete the original message on button click.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -487,7 +487,7 @@
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ViewWithUserAndRoleCheck</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/interactions.py#L49-L108"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">ViewWithUserAndRoleCheck</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/interactions.py#L49-L108"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/interactions/api.html#discord.ui.View" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">View</span></code></a></p>
<p>A view that allows the original invoker and moderators to interact with it.</p>
<dl class="field-list simple">
@@ -504,12 +504,12 @@ If <code class="docutils literal notranslate"><span class="pre">None</span></cod
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/interactions.py#L62-L74"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">180.0</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/interactions.py#L62-L74"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">interaction_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/interactions.py#L75-L97"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">interaction_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">interaction</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/interactions.py#L75-L97"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check" title="Link to this definition">#</a></dt>
<dd><p>Ensure the user clicking the button is the view invoker, or a moderator.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -523,7 +523,7 @@ If <code class="docutils literal notranslate"><span class="pre">None</span></cod
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_timeout</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/interactions.py#L104-L108"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">on_timeout</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/interactions.py#L104-L108"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout" title="Link to this definition">#</a></dt>
<dd><p>Remove the view from <code class="docutils literal notranslate"><span class="pre">self.message</span></code> if set.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -534,7 +534,7 @@ If <code class="docutils literal notranslate"><span class="pre">None</span></cod
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop">
-<span class="sig-name descname"><span class="pre">stop</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/interactions.py#L98-L103"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">stop</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/interactions.py#L98-L103"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop" title="Link to this definition">#</a></dt>
<dd><p>Stop listening for interactions, and remove the view from <code class="docutils literal notranslate"><span class="pre">self.message</span></code> if set.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -547,7 +547,7 @@ If <code class="docutils literal notranslate"><span class="pre">None</span></cod
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.interactions.user_has_access">
-<span class="sig-name descname"><span class="pre">user_has_access</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/interactions.py#L12-L29"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.user_has_access" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">user_has_access</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/interactions.py#L12-L29"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.interactions.user_has_access" title="Link to this definition">#</a></dt>
<dd><p>Return whether the user is in the allowed_users list, or has a role from allowed_roles.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
diff --git a/main/output/pydis_core.utils.lock.html b/main/output/pydis_core.utils.lock.html
index 526cff12..e918d21b 100644
--- a/main/output/pydis_core.utils.lock.html
+++ b/main/output/pydis_core.utils.lock.html
@@ -454,12 +454,12 @@
<span id="lock"></span><h1>lock<a class="headerlink" href="#module-pydis_core.utils.lock" title="Link to this heading">#</a></h1>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LockedResourceError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">resource_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LockedResourceError</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">resource_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#RuntimeError" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">RuntimeError</span></code></a></p>
<p>Exception raised when an operation is attempted on a locked resource.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError.type">
-<span class="sig-name descname"><span class="pre">type</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.type" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">type</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.type" title="Link to this definition">#</a></dt>
<dd><p>Name of the locked resource’s type</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -470,7 +470,7 @@
<dl class="py attribute">
<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError.id">
-<span class="sig-name descname"><span class="pre">id</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.id" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">id</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/lock.py#L22-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.id" title="Link to this definition">#</a></dt>
<dd><p>ID of the locked resource</p>
<dl class="field-list simple">
<dt class="field-odd">Type<span class="colon">:</span></dt>
@@ -481,38 +481,38 @@
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.lock.LockedResourceError.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">resource_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/lock.py#L31-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">resource_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/lock.py#L31-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.LockedResourceError.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SharedEvent</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/lock.py#L41-L68"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">SharedEvent</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/lock.py#L41-L68"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>Context manager managing an internal event exposed through the wait coro.</p>
<p>While any code is executing in this context manager, the underlying event will not be set;
when all of the holders finish the event will be set.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.__enter__">
-<span class="sig-name descname"><span class="pre">__enter__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/lock.py#L54-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__enter__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__enter__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/lock.py#L54-L58"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__enter__" title="Link to this definition">#</a></dt>
<dd><p>Increment the count of the active holders and clear the internal event.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.__exit__">
-<span class="sig-name descname"><span class="pre">__exit__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">_exc_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_exc_val</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_exc_tb</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/lock.py#L59-L64"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__exit__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__exit__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">_exc_type</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_exc_val</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">_exc_tb</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/lock.py#L59-L64"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__exit__" title="Link to this definition">#</a></dt>
<dd><p>Decrement the count of the active holders; if 0 is reached set the internal event.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/lock.py#L49-L53"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/lock.py#L49-L53"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.__init__" title="Link to this definition">#</a></dt>
<dd></dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.lock.SharedEvent.wait">
-<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">wait</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/lock.py#L65-L68"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.wait" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">wait</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/lock.py#L65-L68"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.SharedEvent.wait" title="Link to this definition">#</a></dt>
<dd><p>Wait for all active holders to exit.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -525,7 +525,7 @@ when all of the holders finish the event will be set.</p>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.lock.lock">
-<span class="sig-name descname"><span class="pre">lock</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">namespace</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wait</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/lock.py#L70-L137"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.lock" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">lock</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">namespace</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">resource_id</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wait</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/lock.py#L70-L137"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.lock" title="Link to this definition">#</a></dt>
<dd><p>Turn the decorated coroutine function into a mutually exclusive operation on a <cite>resource_id</cite>.</p>
<p>If decorating a command, this decorator must go before (below) the <cite>command</cite> decorator.</p>
<dl class="field-list simple">
@@ -552,7 +552,7 @@ and return None.</p></li>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.lock.lock_arg">
-<span class="sig-name descname"><span class="pre">lock_arg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">namespace</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wait</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/lock.py#L139-L157"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.lock_arg" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">lock_arg</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">namespace</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">name_or_pos</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">func</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">raise_error</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">wait</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/lock.py#L139-L157"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.lock.lock_arg" title="Link to this definition">#</a></dt>
<dd><p>Apply the <cite>lock</cite> decorator using the value of the arg at the given name/position as the ID.</p>
<p>See <cite>lock</cite> docs for more information.</p>
<dl class="field-list simple">
diff --git a/main/output/pydis_core.utils.logging.html b/main/output/pydis_core.utils.logging.html
index caccdefa..92822369 100644
--- a/main/output/pydis_core.utils.logging.html
+++ b/main/output/pydis_core.utils.logging.html
@@ -455,12 +455,12 @@
<p>Common logging related functions.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.logging.CustomLogger">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CustomLogger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">level</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/logging.py#L20-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.CustomLogger" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">CustomLogger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">level</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">0</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/logging.py#L20-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.CustomLogger" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/logging.html#logging.Logger" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Logger</span></code></a></p>
<p>Custom implementation of the <a class="reference external" href="https://docs.python.org/3/library/logging.html#logging.Logger" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">logging.Logger</span></code></a> class with an added <a class="reference internal" href="#pydis_core.utils.logging.CustomLogger.trace" title="pydis_core.utils.logging.CustomLogger.trace"><code class="xref py py-obj docutils literal notranslate"><span class="pre">trace</span></code></a> method.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.logging.CustomLogger.trace">
-<span class="sig-name descname"><span class="pre">trace</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/logging.py#L23-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.CustomLogger.trace" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">trace</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">msg</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span><span class="n"><span class="pre">args</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/logging.py#L23-L39"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.CustomLogger.trace" title="Link to this definition">#</a></dt>
<dd><p>Log the given message with the severity <code class="docutils literal notranslate"><span class="pre">&quot;TRACE&quot;</span></code>.</p>
<p>To pass exception information, use the keyword argument exc_info with a true value:</p>
<div class="highlight-py notranslate"><div class="highlight"><pre><span></span><span class="n">logger</span><span class="o">.</span><span class="n">trace</span><span class="p">(</span><span class="s2">&quot;Houston, we have an </span><span class="si">%s</span><span class="s2">&quot;</span><span class="p">,</span> <span class="s2">&quot;interesting problem&quot;</span><span class="p">,</span> <span class="n">exc_info</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>
@@ -484,7 +484,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.logging.get_logger">
-<span class="sig-name descname"><span class="pre">get_logger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/logging.py#L41-L52"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.get_logger" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">get_logger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/logging.py#L41-L52"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.get_logger" title="Link to this definition">#</a></dt>
<dd><p>Utility to make mypy recognise that logger is of type <a class="reference internal" href="#pydis_core.utils.logging.CustomLogger" title="pydis_core.utils.logging.CustomLogger"><code class="xref py py-obj docutils literal notranslate"><span class="pre">CustomLogger</span></code></a>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -501,7 +501,7 @@
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.logging.log_format">
-<span class="sig-name descname"><span class="pre">log_format</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/logging.py#L12"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.log_format" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">log_format</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/logging.py#L12"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.logging.log_format" title="Link to this definition">#</a></dt>
<dd><p>A <a class="reference external" href="https://docs.python.org/3/library/logging.html#logging.Formatter" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">logging.Formatter</span></code></a> that can be used to standardise logging across all projects using pydis_core.</p>
<dl class="field-list simple">
</dl>
diff --git a/main/output/pydis_core.utils.members.html b/main/output/pydis_core.utils.members.html
index acddc8cf..30e22f48 100644
--- a/main/output/pydis_core.utils.members.html
+++ b/main/output/pydis_core.utils.members.html
@@ -455,7 +455,7 @@
<p>Useful helper functions for interactin with <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member</span></code></a> objects.</p>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.members.get_or_fetch_member">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_or_fetch_member</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">member_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/members.py#L12-L31"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.members.get_or_fetch_member" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">get_or_fetch_member</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">guild</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">member_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/members.py#L12-L31"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.members.get_or_fetch_member" title="Link to this definition">#</a></dt>
<dd><p>Attempt to get a member from cache; on failure fetch from the API.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -469,7 +469,7 @@
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.members.handle_role_change">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_role_change</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">member</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coro</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">role</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/members.py#L33-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.members.handle_role_change" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">handle_role_change</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">member</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coro</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">role</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/members.py#L33-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.members.handle_role_change" title="Link to this definition">#</a></dt>
<dd><p>Await the given <code class="docutils literal notranslate"><span class="pre">coro</span></code> with <code class="docutils literal notranslate"><span class="pre">role</span></code> as the sole argument.</p>
<p>Handle errors that we expect to be raised from
<a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member.add_roles" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member.add_roles</span></code></a> and <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/api.html#discord.Member.remove_roles" title="(in discord.py v2.4.0a)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">discord.Member.remove_roles</span></code></a>.</p>
diff --git a/main/output/pydis_core.utils.messages.html b/main/output/pydis_core.utils.messages.html
index 254b4534..01929335 100644
--- a/main/output/pydis_core.utils.messages.html
+++ b/main/output/pydis_core.utils.messages.html
@@ -454,7 +454,7 @@
<span id="messages"></span><h1>messages<a class="headerlink" href="#module-pydis_core.utils.messages" title="Link to this heading">#</a></h1>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.messages.reaction_check">
-<span class="sig-name descname"><span class="pre">reaction_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">reaction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_emoji</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/messages.py#L11-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.messages.reaction_check" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">reaction_check</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">reaction</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">user</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">message_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_emoji</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_users</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/messages.py#L11-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.messages.reaction_check" title="Link to this definition">#</a></dt>
<dd><p>Check if a reaction’s emoji and author are allowed and the message is <cite>message_id</cite>.</p>
<p>If the user is not allowed, remove the reaction. Ignore reactions made by the bot.
If <cite>allow_mods</cite> is True, allow users with moderator roles even if they’re not in <cite>allowed_users</cite>.</p>
diff --git a/main/output/pydis_core.utils.pagination.html b/main/output/pydis_core.utils.pagination.html
index e9ad31de..4895d7fa 100644
--- a/main/output/pydis_core.utils.pagination.html
+++ b/main/output/pydis_core.utils.pagination.html
@@ -454,14 +454,14 @@
<span id="pagination"></span><h1>pagination<a class="headerlink" href="#module-pydis_core.utils.pagination" title="Link to this heading">#</a></h1>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.EmptyPaginatorEmbedError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EmptyPaginatorEmbedError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L27-L29"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.EmptyPaginatorEmbedError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">EmptyPaginatorEmbedError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L27-L29"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.EmptyPaginatorEmbedError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised when attempting to paginate with empty contents.</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LinePaginator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L31-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">LinePaginator</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L31-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Paginator" title="(in discord.py v2.4.0a)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Paginator</span></code></a></p>
<p>A class that aids in paginating code blocks for Discord messages.</p>
<dl class="field-list simple">
@@ -478,14 +478,14 @@
</dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L44-L82"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'```'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">linesep</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'\\n'</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L44-L82"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.__init__" title="Link to this definition">#</a></dt>
<dd><p>This function overrides the Paginator.__init__ from inside discord.ext.commands.</p>
<p>It overrides in order to allow us to configure the maximum number of lines per page.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator.add_line">
-<span class="sig-name descname"><span class="pre">add_line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">line</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L83-L135"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.add_line" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">add_line</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">line</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L83-L135"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.add_line" title="Link to this definition">#</a></dt>
<dd><p>Adds a line to the current page.</p>
<p>If a line on a page exceeds <cite>max_size</cite> characters, then <cite>max_size</cite> will go up to
<cite>scale_to_size</cite> for a single line before creating a new page for the overflow words. If it
@@ -513,7 +513,7 @@ page at a reasonable size.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.LinePaginator.paginate">
-<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">paginate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pagination_emojis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embed</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">restrict_to_user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exception_on_empty_embed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reply</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L190-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.paginate" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">async</span><span class="w"> </span><span class="pre">classmethod</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">paginate</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">pagination_emojis</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">lines</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">ctx</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">embed</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prefix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suffix</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_lines</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">500</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">scale_to_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">4000</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">empty</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">True</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">restrict_to_user</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">timeout</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">300</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">footer_text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">exception_on_empty_embed</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">reply</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">False</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">allowed_roles</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L190-L398"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.LinePaginator.paginate" title="Link to this definition">#</a></dt>
<dd><p>Use a paginator and set of reactions to provide pagination over a set of lines.</p>
<p>The reactions are used to switch page, or to finish with pagination.</p>
<p>When used, this will send a message using <cite>ctx.send()</cite> and apply a set of reactions to it. These reactions may
@@ -557,7 +557,7 @@ to any user with a moderation role.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.pagination.PaginationEmojis">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PaginationEmojis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/pagination.py#L17-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.PaginationEmojis" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PaginationEmojis</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/pagination.py#L17-L25"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.pagination.PaginationEmojis" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
<p>The emojis that will be used for pagination.</p>
<dl class="py attribute">
diff --git a/main/output/pydis_core.utils.paste_service.html b/main/output/pydis_core.utils.paste_service.html
index 7e534287..db3f09ac 100644
--- a/main/output/pydis_core.utils.paste_service.html
+++ b/main/output/pydis_core.utils.paste_service.html
@@ -454,13 +454,13 @@
<span id="paste-service"></span><h1>paste_service<a class="headerlink" href="#module-pydis_core.utils.paste_service" title="Link to this heading">#</a></h1>
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.MAX_PASTE_SIZE">
-<span class="sig-name descname"><span class="pre">MAX_PASTE_SIZE</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">524288</span></em><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/paste_service.py#L12"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.MAX_PASTE_SIZE" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">MAX_PASTE_SIZE</span></span><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">524288</span></em><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/paste_service.py#L12"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.MAX_PASTE_SIZE" title="Link to this definition">#</a></dt>
<dd><p>The maximum allows size of a paste, in bytes.</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteFile">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteFile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/paste_service.py#L32-L45"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteFile" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteFile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/paste_service.py#L32-L45"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteFile" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
<p>A file to be pasted to the paste service.</p>
<dl class="field-list simple">
@@ -496,7 +496,7 @@ mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteResponse">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteResponse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/paste_service.py#L19-L30"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteResponse" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteResponse</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">data</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/paste_service.py#L19-L30"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteResponse" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.pydantic.dev/latest/api/base_model/#pydantic.BaseModel" title="(in Pydantic v0.0.0)"><code class="xref py py-class docutils literal notranslate"><span class="pre">BaseModel</span></code></a></p>
<p>A successful response from the paste service.</p>
<dl class="field-list simple">
@@ -531,28 +531,28 @@ mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteTooLongError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteTooLongError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/paste_service.py#L55-L57"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteTooLongError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteTooLongError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/paste_service.py#L55-L57"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteTooLongError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised when content is too large to upload to the paste service.</p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteUnsupportedLexerError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteUnsupportedLexerError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/paste_service.py#L51-L53"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteUnsupportedLexerError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteUnsupportedLexerError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/paste_service.py#L51-L53"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteUnsupportedLexerError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised when an unsupported lexer is used.</p>
</dd></dl>
<dl class="py exception">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.PasteUploadError">
-<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteUploadError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/paste_service.py#L47-L49"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteUploadError" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">exception</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">PasteUploadError</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/paste_service.py#L47-L49"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.PasteUploadError" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/exceptions.html#Exception" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Exception</span></code></a></p>
<p>Raised when an error is encountered uploading to the paste service.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.paste_service.send_to_paste_service">
-<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">send_to_paste_service</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">files</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">paste_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'https://paste.pythondiscord.com'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">524288</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/paste_service.py#L69-L154"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.send_to_paste_service" title="Link to this definition">#</a></dt>
+<em class="property"><span class="k"><span class="pre">async</span></span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">send_to_paste_service</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">files</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">http_session</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">paste_url</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'https://paste.pythondiscord.com'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">max_size</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">524288</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/paste_service.py#L69-L154"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.paste_service.send_to_paste_service" title="Link to this definition">#</a></dt>
<dd><p>Upload some contents to the paste service.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
diff --git a/main/output/pydis_core.utils.regex.html b/main/output/pydis_core.utils.regex.html
index a04a07e8..9ac3e308 100644
--- a/main/output/pydis_core.utils.regex.html
+++ b/main/output/pydis_core.utils.regex.html
@@ -455,7 +455,7 @@
<p>Common regular expressions.</p>
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.regex.DISCORD_INVITE">
-<span class="sig-name descname"><span class="pre">DISCORD_INVITE</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/regex.py#L5-L17"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.DISCORD_INVITE" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">DISCORD_INVITE</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/regex.py#L5-L17"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.DISCORD_INVITE" title="Link to this definition">#</a></dt>
<dd><p>Regex for Discord server invites.</p>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
@@ -469,7 +469,7 @@ such as <a class="reference external" href="https://docs.python.org/3/library/ur
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.regex.FORMATTED_CODE_REGEX">
-<span class="sig-name descname"><span class="pre">FORMATTED_CODE_REGEX</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/regex.py#L29-L37"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.FORMATTED_CODE_REGEX" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">FORMATTED_CODE_REGEX</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/regex.py#L29-L37"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.FORMATTED_CODE_REGEX" title="Link to this definition">#</a></dt>
<dd><p>Regex for formatted code, using Discord’s code blocks.</p>
<dl class="field-list simple">
</dl>
@@ -477,7 +477,7 @@ such as <a class="reference external" href="https://docs.python.org/3/library/ur
<dl class="py data">
<dt class="sig sig-object py" id="pydis_core.utils.regex.RAW_CODE_REGEX">
-<span class="sig-name descname"><span class="pre">RAW_CODE_REGEX</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/regex.py#L44-L49"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.RAW_CODE_REGEX" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">RAW_CODE_REGEX</span></span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/regex.py#L44-L49"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.regex.RAW_CODE_REGEX" title="Link to this definition">#</a></dt>
<dd><p>Regex for raw code, <em>not</em> using Discord’s code blocks.</p>
<dl class="field-list simple">
</dl>
diff --git a/main/output/pydis_core.utils.scheduling.html b/main/output/pydis_core.utils.scheduling.html
index c4e5c434..b7d15836 100644
--- a/main/output/pydis_core.utils.scheduling.html
+++ b/main/output/pydis_core.utils.scheduling.html
@@ -455,7 +455,7 @@
<p>Generic python scheduler.</p>
<dl class="py class">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler">
-<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Scheduler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/scheduling.py#L19-L216"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler" title="Link to this definition">#</a></dt>
+<em class="property"><span class="pre">class</span><span class="w"> </span></em><span class="sig-name descname"><span class="pre">Scheduler</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/scheduling.py#L19-L216"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler" title="Link to this definition">#</a></dt>
<dd><p>Bases: <a class="reference external" href="https://docs.python.org/3/library/functions.html#object" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">object</span></code></a></p>
<p>Schedule the execution of coroutines and keep track of them.</p>
<p>When instantiating a <a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler" title="pydis_core.utils.scheduling.Scheduler"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Scheduler</span></code></a>, a name must be provided. This name is used to distinguish the
@@ -469,7 +469,7 @@ the same ID used to schedule it.</p>
<p>Any exception raised in a scheduled task is logged when the task is done.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.__contains__">
-<span class="sig-name descname"><span class="pre">__contains__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/scheduling.py#L49-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.__contains__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__contains__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/scheduling.py#L49-L60"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.__contains__" title="Link to this definition">#</a></dt>
<dd><p>Return <a class="reference external" href="https://docs.python.org/3/library/constants.html#True" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">True</span></code></a> if a task with the given <code class="docutils literal notranslate"><span class="pre">task_id</span></code> is currently scheduled.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -486,7 +486,7 @@ the same ID used to schedule it.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.__init__">
-<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/scheduling.py#L37-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.__init__" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">__init__</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">name</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/scheduling.py#L37-L48"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.__init__" title="Link to this definition">#</a></dt>
<dd><p>Initialize a new <a class="reference internal" href="#pydis_core.utils.scheduling.Scheduler" title="pydis_core.utils.scheduling.Scheduler"><code class="xref py py-obj docutils literal notranslate"><span class="pre">Scheduler</span></code></a> instance.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -497,7 +497,7 @@ the same ID used to schedule it.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.cancel">
-<span class="sig-name descname"><span class="pre">cancel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/scheduling.py#L132-L149"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.cancel" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">cancel</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/scheduling.py#L132-L149"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.cancel" title="Link to this definition">#</a></dt>
<dd><p>Unschedule the task identified by <code class="docutils literal notranslate"><span class="pre">task_id</span></code>. Log a warning if the task doesn’t exist.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
@@ -511,7 +511,7 @@ the same ID used to schedule it.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.cancel_all">
-<span class="sig-name descname"><span class="pre">cancel_all</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/scheduling.py#L150-L156"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.cancel_all" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">cancel_all</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/scheduling.py#L150-L156"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.cancel_all" title="Link to this definition">#</a></dt>
<dd><p>Unschedule all known tasks.</p>
<dl class="field-list simple">
<dt class="field-odd">Return type<span class="colon">:</span></dt>
@@ -522,7 +522,7 @@ the same ID used to schedule it.</p>
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.schedule">
-<span class="sig-name descname"><span class="pre">schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/scheduling.py#L61-L88"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">schedule</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/scheduling.py#L61-L88"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule" title="Link to this definition">#</a></dt>
<dd><p>Schedule the execution of a <code class="docutils literal notranslate"><span class="pre">coroutine</span></code>.</p>
<p>If a task with <code class="docutils literal notranslate"><span class="pre">task_id</span></code> already exists, close <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> instead of scheduling it. This
prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-used elsewhere.</p>
@@ -541,7 +541,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.schedule_at">
-<span class="sig-name descname"><span class="pre">schedule_at</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">time</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/scheduling.py#L89-L112"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule_at" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">schedule_at</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">time</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/scheduling.py#L89-L112"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule_at" title="Link to this definition">#</a></dt>
<dd><p>Schedule <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> to be executed at the given <code class="docutils literal notranslate"><span class="pre">time</span></code>.</p>
<p>If <code class="docutils literal notranslate"><span class="pre">time</span></code> is timezone aware, then use that timezone to calculate now() when subtracting.
If <code class="docutils literal notranslate"><span class="pre">time</span></code> is naïve, then use UTC.</p>
@@ -564,7 +564,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
<dl class="py method">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.Scheduler.schedule_later">
-<span class="sig-name descname"><span class="pre">schedule_later</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">delay</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/scheduling.py#L113-L131"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule_later" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">schedule_later</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">delay</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">task_id</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">coroutine</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/scheduling.py#L113-L131"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.Scheduler.schedule_later" title="Link to this definition">#</a></dt>
<dd><p>Schedule <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> to be executed after <code class="docutils literal notranslate"><span class="pre">delay</span></code> seconds.</p>
<p>If a task with <code class="docutils literal notranslate"><span class="pre">task_id</span></code> already exists, close <code class="docutils literal notranslate"><span class="pre">coroutine</span></code> instead of scheduling it. This
prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-used elsewhere.</p>
@@ -586,7 +586,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
<dl class="py function">
<dt class="sig sig-object py" id="pydis_core.utils.scheduling.create_task">
-<span class="sig-name descname"><span class="pre">create_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coro</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suppressed_exceptions</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">event_loop</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/b0b758e95eda7e44451abd1b782644ff5d9e03a3/pydis_core/utils/scheduling.py#L221-L252"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.create_task" title="Link to this definition">#</a></dt>
+<span class="sig-name descname"><span class="pre">create_task</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">coro</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">*</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">suppressed_exceptions</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">()</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">event_loop</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kwargs</span></span></em><span class="sig-paren">)</span><a class="reference external" href="https://github.com/python-discord/bot-core/blob/69eeda8a1914b671af68871dcf55661c5089b338/pydis_core/utils/scheduling.py#L221-L252"><span class="viewcode-link"><span class="pre">[source]</span></span></a><a class="headerlink" href="#pydis_core.utils.scheduling.create_task" title="Link to this definition">#</a></dt>
<dd><p>Wrapper for creating an <a class="reference external" href="https://docs.python.org/3/library/asyncio-task.html#asyncio.Task" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">asyncio.Task</span></code></a> which logs exceptions raised in the task.</p>
<p>If the <code class="docutils literal notranslate"><span class="pre">event_loop</span></code> kwarg is provided, the task is created from that event loop,
otherwise the running loop is used.</p>
diff --git a/main/searchindex.js b/main/searchindex.js
index 9ffc2692..a5e64eca 100644
--- a/main/searchindex.js
+++ b/main/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.checks", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.lock", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.messages", "output/pydis_core.utils.pagination", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.checks.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.lock.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.messages.rst", "output/pydis_core.utils.pagination.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "checks", "commands", "cooldown", "error_handling", "function", "interactions", "lock", "logging", "members", "messages", "pagination", "paste_service", "regex", "scheduling"], "terms": {"next": [0, 3, 20], "10": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "support": [0, 4, 7, 23], "204": [0, 6], "document": 0, "instanc": [0, 3, 6, 8, 9, 10, 17, 23], "attribut": [0, 7, 14], "pydis_cor": [0, 1, 3, 15, 17], "botbas": [0, 2, 3], "7": 0, "0": [0, 8, 10, 15, 16, 17], "30th": 0, "januari": 0, "2024": 0, "194": 0, "add": [0, 3, 10, 12, 20], "util": [0, 1, 2, 3, 8, 14, 15, 17], "interact": [0, 3, 7, 9, 20], "user_has_access": [0, 3, 7, 15], "helper": [0, 9, 12, 18], "function": [0, 3, 7, 8, 9, 12, 16, 17, 18, 20, 23], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "whether": [0, 3, 6, 9, 10, 15, 20], "given": [0, 3, 4, 7, 9, 11, 14, 16, 17, 18, 23], "user": [0, 3, 10, 12, 15, 19, 20], "i": [0, 1, 3, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "allowed_us": [0, 15, 19], "list": [0, 1, 3, 15, 20, 21], "ha": [0, 7, 10, 15], "role": [0, 1, 3, 10, 15, 18, 19, 20], "from": [0, 1, 3, 4, 6, 7, 9, 14, 15, 18, 20, 21, 23], "allowed_rol": [0, 1, 3, 15, 19, 20], "158": 0, "lock": [0, 3, 7], "control": 0, "concurr": 0, "logic": 0, "202": 0, "bump": 0, "variou": [0, 9], "develop": [0, 2, 3, 7], "depend": [0, 9], "ci": 0, "workflow": 0, "action": 0, "version": [0, 11], "6": 0, "199": 0, "port": [0, 4], "common": [0, 1, 3, 7, 17, 22], "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 18, 20, 22], "command": [0, 1, 3, 7, 9, 10, 12, 14, 16, 20], "check": [0, 3, 6, 7, 9, 12, 13, 15, 19, 23], "other": [0, 1, 16, 23], "bot": [0, 1, 3, 7, 9, 19], "189": 0, "messag": [0, 3, 7, 11, 12, 13, 15, 17, 20, 23], "reaction_check": [0, 3, 7, 19], "predic": 0, "dictat": 0, "right": [0, 3, 20], "specif": [0, 10], "set": [0, 1, 3, 12, 14, 15, 16, 20], "reaction": [0, 3, 19, 20], "base": [0, 3, 4, 6, 8, 10, 12, 14, 15, 16, 17, 20, 21, 23], "certain": [0, 1], "criteria": 0, "pagin": [0, 2, 3, 7], "linepagin": [0, 2, 3, 7, 20], "which": [0, 1, 3, 7, 10, 12, 14, 16, 20, 23], "allow": [0, 1, 3, 15, 19, 20, 21], "over": [0, 3, 20], "content": [0, 3, 11, 20, 21], "us": [0, 1, 3, 4, 6, 7, 9, 10, 12, 14, 16, 17, 18, 20, 21, 22, 23], "emb": [0, 3, 20], "emoji": [0, 3, 19, 20], "facilit": 0, "navig": [0, 1, 3, 20], "5": [0, 12], "1": [0, 17], "14th": 0, "decemb": 0, "2023": 0, "bug": 0, "200": 0, "do": [0, 1, 9, 16], "attempt": [0, 3, 9, 16, 18, 20], "read": 0, "respons": [0, 6, 21], "bodi": 0, "http": [0, 3, 6, 21, 22], "code": [0, 1, 3, 6, 16, 20, 22], "previous": 0, "onli": [0, 3], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "delet": [0, 3, 6, 8, 15, 20, 21], "did": 0, "thi": [0, 1, 3, 7, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 23], "10th": 0, "197": 0, "mark": 0, "tild": 0, "specifi": [0, 10, 12, 15], "pydi": [0, 2], "core": [0, 1], "newer": 0, "librari": [0, 1], "without": [0, 10], "u": [0, 3, 20], "have": [0, 9, 10, 14, 17], "cut": 0, "new": [0, 1, 3, 4, 6, 8, 14, 20, 23], "4": 0, "26th": 0, "octob": 0, "196": 0, "mani": [0, 3, 8], "aiodn": 0, "3": 0, "19th": 0, "septemb": 0, "195": 0, "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 17], "warn": [0, 23], "level": [0, 7, 17], "asyncio": [0, 4, 23], "info": [0, 1], "default": [0, 1, 3, 10, 14, 20, 21], "log_format": [0, 3, 7, 17], "log": [0, 3, 7, 13, 18, 23], "standardis": [0, 17], "across": [0, 3, 17, 20], "all": [0, 1, 3, 4, 7, 16, 17, 23], "servic": [0, 1, 3, 21], "2": [0, 3, 15], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 14], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10, 11, 20], "process_command": [0, 2, 3], "ensur": [0, 3, 15, 22], "ar": [0, 1, 3, 8, 14, 15, 19, 20, 22], "process": [0, 3], "until": [0, 3, 16, 22], "extens": [0, 3], "load": [0, 1, 3, 7], "work": [0, 1], "client": [0, 3, 4], "load_extens": [0, 2, 3], "break": [0, 3, 14, 20], "188": 0, "send": [0, 3, 6, 15, 20], "multipl": 0, "file": [0, 1, 21], "onc": [0, 8], "past": [0, 21, 23], "call": [0, 3, 12, 14, 23], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 21], "must": [0, 14, 16, 23], "now": [0, 1, 23], "provid": [0, 1, 3, 8, 11, 13, 20, 23], "pastefil": [0, 3, 7, 21], "184": 0, "remov": [0, 3, 15, 19, 20, 21], "store": [0, 3, 7, 8, 20], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 15], "when": [0, 3, 4, 6, 7, 8, 10, 12, 14, 16, 20, 21, 23], "stop": [0, 7, 15], "addit": 0, "exist": [0, 1, 23], "timeout": [0, 3, 15, 20], "187": 0, "fix": 0, "channel": [0, 3, 7, 10, 12], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 3, 7, 8, 10, 11, 12, 14, 15, 16, 17, 19, 20, 22, 23], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "includ": [0, 1, 13], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 14], "expiri": 0, "label": [0, 15], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 21], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 20, 21], "pythondiscord": [0, 21], "com": [0, 21], "8": 0, "13th": 0, "181": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": [0, 3, 20], "handl": [0, 13, 18, 23], "forbidden": [0, 9, 13], "90001": [0, 13], "error": [0, 3, 6, 7, 13, 18, 21], "schedul": [0, 3, 7], "179": 0, "upload": [0, 21], "text": [0, 3, 6, 11, 20, 21], "our": [0, 1, 7], "6th": 0, "mai": [0, 3, 8, 16, 20], "175": 0, "wait": [0, 3, 7, 16, 23], "guild": [0, 1, 3, 10, 18], "avail": [0, 3, 16], "befor": [0, 3, 10, 15, 16, 20, 23], "cog": [0, 3, 5], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 15, 20, 23], "been": 0, "also": [0, 3, 7, 14, 15, 16, 20], "need": [0, 1, 3, 20], "run": [0, 1, 12, 16, 23], "task": [0, 23], "23rd": 0, "170": 0, "save": [0, 3, 21], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 12, 14, 20, 23], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 22], "member": [0, 3, 7, 15], "get_or_fetch_memb": [0, 3, 7, 18], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 21, 23], "11": 0, "162": 0, "being": [0, 7, 10, 18], "abl": 0, "button": [0, 15], "press": 0, "88": 0, "decor": [0, 8, 10, 12, 14, 16], "success": [0, 21], "duplic": [0, 12], "invoc": [0, 12], "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 17], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 22], "option": [0, 3, 4, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 20], "match": [0, 3, 14], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 21], "rediscach": 0, "v1": [0, 3, 20, 21], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "explain": 0, "how": [0, 8, 10, 14, 23], "108": 0, "101": 0, "clean": [0, 11], "string": [0, 6], "referenc": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 10, 14, 16, 17, 20, 21, 23], "On": 0, "view": [0, 15], "its": [0, 3, 12, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 15], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 17], "103": 0, "attach": 0, "parent": [0, 15], "gener": [0, 3, 12, 23], "98": 0, "close": [0, 2, 3, 6, 23], "stat": [0, 2, 3, 4], "_transport": 0, "wa": [0, 9, 10, 23], "91": 0, "miss": 0, "await": [0, 3, 12, 15, 16, 18, 20], "ping_servic": [0, 2, 3], "some": [0, 3, 20, 21], "case": [0, 3, 20], "pass": [0, 3, 6, 14, 17, 18, 23], "self": [0, 3, 15], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 18], "96": 0, "connect": [0, 3, 4], "statsd_url": [0, 2, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 3, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 17, 20], "older": 0, "doc": [0, 16], "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 10, 23], "out": [0, 1, 3, 15], "75": 0, "invit": [0, 22], "longer": [0, 15], "safe": 0, "result": [0, 23], "captur": [0, 14, 22], "charact": [0, 3, 20], "up": [0, 1, 3, 20], "whitespac": [0, 22], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3, 10, 20], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "number": [0, 3, 10, 20, 21], "so": [0, 1, 7], "should": [0, 1, 3, 6, 15, 20, 21], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 14, 18], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 14], "main": 0, "don": [0, 10, 23], "t": [0, 10, 11, 13, 14, 16, 23], "modul": [0, 3, 7, 14, 23], "start": [0, 3, 23], "_": 0, "66": 0, "each": [0, 3, 20], "own": [0, 14], "avoid": [0, 3, 20], "singl": [0, 3, 20], "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 16, 23], "manipul": [0, 14], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 3, 14, 20], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 17], "basic": [0, 15], "forum": 0, "63": 0, "api_cli": [0, 2, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 15, 16, 20, 23], "61": 0, "reconnect": 0, "redi": [0, 3], "session": [0, 3, 6, 21], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 16, 23], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3, 16, 20], "made": [0, 19], "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 21], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 12, 15, 16, 17, 20, 21, 23], "abstract": 0, "lot": 0, "share": [0, 14], "between": [0, 1, 14], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 17], "import": 0, "can": [0, 1, 3, 10, 15, 16, 17, 20, 23], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "api": [0, 3, 6, 18], "wrapper": [0, 6, 12, 14, 23], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "cach": [0, 3, 7, 9, 18], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 3, 7, 15, 17, 20], "intersphinx": 0, "12": 0, "block": [0, 3, 12, 20, 22], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "To": [1, 3, 17], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 14], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 14, 15, 16], "below": [1, 16], "more": [1, 3, 14, 16, 20], "both": [1, 21], "what": 1, "go": [1, 3, 16, 20], "them": [1, 3, 14, 23], "you": [1, 9, 22], "ll": [1, 23], "write": 1, "might": [1, 10], "mean": 1, "modifi": [1, 18], "ones": 1, "etc": [1, 10], "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 23], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 20, 21, 23], "vari": 1, "re": [1, 3, 13, 19, 23], "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 3, 10, 15, 20, 21, 23], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 14, 19], "free": 1, "howev": 1, "like": [1, 14], "m": 1, "docker": 1, "compos": 1, "d": [1, 14], "configur": [1, 3, 20, 21], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 2, 3], "monitor": 1, "prefix": [1, 3, 4, 20], "invok": [1, 10, 12, 15], "mention": [1, 3], "A": [1, 3, 6, 7, 8, 9, 10, 12, 14, 15, 17, 20, 21, 23], "comma": 1, "seper": 1, "id": [1, 3, 7, 9, 10, 15, 16, 20, 23], "anyth": [1, 21], "reinstal": 1, "applic": 1, "http_session": [2, 3, 21], "redis_sess": [2, 3], "all_extens": [2, 3], "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8, 16], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "emptypaginatorembederror": [2, 3, 7, 20], "add_lin": [2, 3, 7, 20], "paginationemoji": [2, 3, 7, 20], "model_computed_field": [2, 3, 7, 20, 21], "model_config": [2, 3, 7, 20, 21], "model_field": [2, 3, 7, 20, 21], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": [2, 3, 20], "inform": [2, 16, 17], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12, 14, 16, 17], "kwarg": [3, 6, 12, 14, 15, 17, 23], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "implement": [3, 4, 8, 15, 17], "belong": 3, "int": [3, 4, 8, 9, 10, 14, 15, 20, 21, 23], "clientsess": [3, 6, 21], "commun": [3, 4], "metric": 3, "str": [3, 4, 6, 7, 10, 11, 14, 15, 16, 17, 20, 21, 23], "redissess": 3, "were": 3, "found": [3, 14, 18, 23], "frozenset": [3, 14], "initialis": [3, 8], "server": [3, 22], "If": [3, 6, 10, 12, 14, 15, 16, 19, 20, 23], "oper": [3, 16, 20, 23], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 15, 23], "instead": [3, 12, 23], "connector": 3, "resolv": [3, 14], "sync_app_command": 3, "true": [3, 6, 10, 12, 16, 17, 19, 20, 21, 23], "bool": [3, 6, 9, 10, 12, 15, 16, 19, 20, 23], "intern": [3, 7, 16], "becom": [3, 16], "appear": 3, "still": [3, 20], "empti": [3, 20], "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 14, 19], "relev": 3, "name": [3, 7, 14, 16, 17, 20, 21, 23], "alia": [3, 7, 12], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 14], "second": [3, 10, 12, 15, 20, 23], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 10, 12, 14, 16, 17, 20, 21, 23], "rais": [3, 6, 9, 10, 11, 12, 13, 14, 16, 18, 20, 21, 23], "suffix": [3, 20], "max_siz": [3, 8, 20, 21], "4000": [3, 20], "scale_to_s": [3, 20], "max_lin": [3, 20], "linesep": [3, 20], "n": [3, 20], "aid": [3, 20], "pagination_emoji": [3, 20], "insert": [3, 20], "everi": [3, 20], "e": [3, 20], "g": [3, 20], "three": [3, 20], "backtick": [3, 20], "append": [3, 20], "end": [3, 20], "maximum": [3, 8, 20, 21], "amount": [3, 20], "codepoint": [3, 20], "line": [3, 20], "scale": [3, 20], "overrid": [3, 20], "insid": [3, 20], "It": [3, 7, 16, 20], "order": [3, 8, 14, 16, 20, 23], "per": [3, 10, 20], "fals": [3, 10, 12, 16, 20, 21], "current": [3, 16, 20, 23], "exce": [3, 8, 20], "overflow": [3, 20], "word": [3, 20], "exceed": [3, 20], "excess": [3, 20], "place": [3, 20], "unti": [3, 20], "remain": [3, 20], "boundari": [3, 20], "truncat": [3, 20], "continu": [3, 20], "onto": [3, 20], "In": [3, 20], "alreadi": [3, 20, 23], "would": [3, 20], "caus": [3, 7, 20], "done": [3, 15, 20, 23], "best": [3, 20], "effort": [3, 20], "while": [3, 12, 16, 20], "keep": [3, 20, 23], "total": [3, 20], "length": [3, 12, 20], "reason": [3, 20], "size": [3, 8, 20, 21], "indic": [3, 18, 20], "classmethod": [3, 20], "ctx": [3, 10, 11, 15, 20], "500": [3, 20], "restrict_to_us": [3, 20], "300": [3, 20], "footer_text": [3, 20], "exception_on_empty_emb": [3, 20], "repli": [3, 11, 12, 13, 20], "switch": [3, 20], "finish": [3, 16, 20], "appli": [3, 7, 8, 10, 12, 16, 20, 21], "These": [3, 20], "five": [3, 20], "minut": [3, 20], "limit": [3, 20], "author": [3, 10, 19, 20], "ani": [3, 6, 10, 14, 16, 20, 22, 23], "moder": [3, 15, 19, 20], "context": [3, 10, 11, 16, 20], "hold": [3, 16, 20], "serv": [3, 20], "whom": [3, 20], "restrict": [3, 20], "anymor": [3, 20], "footer": [3, 20], "sequenc": [3, 7, 14, 15, 20], "exampl": [3, 20], "set_author": [3, 20], "icon_url": [3, 20], "icon": [3, 20], "data": [3, 20, 21], "basemodel": [3, 20, 21], "classvar": [3, 20, 21], "dict": [3, 6, 14, 20, 21], "computedfieldinfo": [3, 20, 21], "dictionari": [3, 20, 21], "comput": [3, 20, 21], "field": [3, 20, 21], "correspond": [3, 20, 21], "object": [3, 6, 7, 8, 9, 12, 16, 18, 20, 21, 23], "configdict": [3, 20, 21], "model": [3, 20, 21], "conform": [3, 20, 21], "pydant": [3, 20, 21], "config": [3, 20, 21], "fieldinfo": [3, 20, 21], "annot": [3, 14, 20, 21], "trashcan": [3, 20], "637136429717389331": [3, 20], "first": [3, 20], "last": [3, 10, 15, 20], "left": [3, 20], "metadata": [3, 20, 21], "about": [3, 12, 20, 21], "defin": [3, 20, 21], "map": [3, 14, 16, 20, 21], "replac": [3, 10, 14, 20, 21], "__fields__": [3, 20, 21], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "contextcheckfailur": [3, 7, 10], "inwhitelistcheckfailur": [3, 7, 10], "cooldown_with_role_bypass": [3, 7, 10], "has_any_role_check": [3, 7, 10], "has_no_roles_check": [3, 7, 10], "in_whitelist_check": [3, 7, 10], "clean_text_or_repli": [3, 7, 11], "cooldown": [3, 7, 10], "commandoncooldown": [3, 7, 12], "p": [3, 7, 12], "r": [3, 7, 12], "block_duplicate_invoc": [3, 7, 12], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 13], "globalnameconflicterror": [3, 7, 14], "command_wrap": [3, 7, 14], "get_arg_valu": [3, 7, 14], "get_arg_value_wrapp": [3, 7, 14], "get_bound_arg": [3, 7, 14], "update_wrapper_glob": [3, 7, 14], "lockedresourceerror": [3, 7, 16], "sharedev": [3, 7, 16], "lock_arg": [3, 7, 16], "customlogg": [3, 7, 17], "get_logg": [3, 7, 17], "max_paste_s": [3, 7, 21], "pasterespons": [3, 7, 21], "pastetoolongerror": [3, 7, 21], "pasteunsupportedlexererror": [3, 7, 21], "pasteuploaderror": [3, 7, 21], "formatted_code_regex": [3, 7, 22], "raw_code_regex": [3, 7, 22], "create_task": [3, 7, 23], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 21], "put": [3, 6], "__str__": [3, 6], "transport": 4, "loop": [4, 23], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 23], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "django": 6, "initi": [6, 23], "authent": 6, "keyword": [6, 7, 14, 17], "argument": [6, 7, 8, 11, 12, 14, 16, 17, 18], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "ok": 6, "clientrespons": 6, "json": 6, "extra": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 14, 21], "represent": 6, "group": [7, 22], "root_alias": 7, "two": 7, "act": 7, "top": 7, "rather": 7, "than": [7, 21], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 12], "callback": [7, 10, 15], "interaction_check": [7, 15], "on_timeout": [7, 15], "__enter__": [7, 16], "__exit__": [7, 16], "__contains__": [7, 23], "cancel": [7, 23], "cancel_al": [7, 23], "schedule_at": [7, 23], "schedule_lat": [7, 23], "relat": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 18, 23], "kei": 8, "fifo": 8, "offset": 8, "arg_offset": 8, "posit": [8, 14, 16], "callabl": [8, 10, 12, 14, 16, 18], "wrap": [8, 14, 23], "target": 8, "item": 8, "channel_id": 9, "fetch": [9, 18], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 10, 21], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": [9, 10], "textchannel": 9, "redirect_channel": 10, "checkfailur": 10, "in_whitelist": 10, "rate": 10, "bypass_rol": 10, "bypass": 10, "note": 10, "before_invok": 10, "introduc": 10, "problem": [10, 17], "futur": [10, 23], "trigger": 10, "float": [10, 12, 15, 23], "durat": 10, "long": [10, 21, 23], "buckettyp": 10, "iter": [10, 12], "describ": 10, "behavior": 10, "typeerror": [10, 14], "verifi": 10, "alwai": 10, "dm": 10, "sinc": 10, "where": 10, "union": 10, "collect": 10, "least": 10, "otherwis": [10, 16, 23], "doesn": [10, 23], "redirect": 10, "fail_sil": 10, "issu": 10, "whitelist": 10, "silent": 10, "badargu": 11, "wasn": 11, "els": 11, "commanderror": 12, "typevar": [12, 14, 23], "valu": [12, 14, 16, 17], "signatur": 12, "cooldown_dur": 12, "send_notic": 12, "args_preprocessor": 12, "prevent": [12, 16, 23], "same": [12, 23], "notifi": 12, "paramspec": [12, 14], "raw": [12, 22], "isn": [13, 14], "conflict": 14, "global": 14, "assign": 14, "__module__": 14, "__name__": 14, "__qualname__": 14, "__doc__": 14, "__annotations__": 14, "__dict__": 14, "ignored_conflict_nam": 14, "look": [14, 23], "forwardref": 14, "evalu": 14, "detail": 14, "_p": 14, "_r": 14, "behav": 14, "functool": 14, "name_or_po": [14, 16], "ordereddict": [14, 16], "doe": 14, "decorator_func": 14, "func": [14, 16], "accept": [14, 15], "bind": 14, "tupl": [14, 23], "For": 14, "__global__": 14, "state": 14, "won": 14, "reflect": 14, "typehint": 14, "style": 15, "secondari": 15, "click": 15, "itself": 15, "carri": 15, "buttonstyl": 15, "origin": 15, "180": 15, "who": 15, "ui": 15, "input": 15, "similar": [15, 22], "occur": 15, "listen": 15, "access": 15, "resource_typ": 16, "resource_id": 16, "runtimeerror": 16, "resourc": 16, "hashabl": [16, 23], "manag": 16, "expos": 16, "through": 16, "coro": [16, 18, 23], "execut": [16, 23], "underli": 16, "holder": 16, "increment": 16, "count": 16, "activ": 16, "_exc_typ": 16, "_exc_val": 16, "_exc_tb": 16, "decrement": 16, "reach": 16, "exit": 16, "raise_error": 16, "turn": 16, "mutual": 16, "exclus": 16, "identifi": [16, 23], "collis": 16, "among": 16, "perform": 16, "acquir": 16, "msg": 17, "sever": 17, "exc_info": 17, "houston": 17, "we": [17, 18], "interest": 17, "mypi": 17, "recognis": 17, "formatt": 17, "interactin": 18, "member_id": 18, "failur": 18, "could": 18, "sole": 18, "expect": 18, "add_rol": 18, "remove_rol": 18, "purpos": 18, "intend": 18, "message_id": 19, "allowed_emoji": 19, "allow_mod": 19, "even": 19, "524288": 21, "byte": 21, "format": [21, 22], "link": 21, "too": 21, "larg": 21, "unsupport": 21, "encount": 21, "paste_url": 21, "max": 21, "larger": 21, "reject": 21, "max_length": 21, "greater": 21, "regular": 22, "express": 22, "pattern": 22, "pleas": 22, "sanitis": 22, "output": 22, "someth": 22, "urllib": 22, "pars": 22, "quot": 22, "track": 23, "distinguish": 23, "suggest": 23, "immedi": 23, "uniqu": 23, "prematur": 23, "task_id": 23, "unschedul": 23, "known": 23, "unawait": 23, "elsewher": 23, "timezon": 23, "awar": 23, "calcul": 23, "subtract": 23, "na\u00efv": 23, "utc": 23, "datetim": 23, "delai": 23, "suppressed_except": 23, "event_loop": 23, "task_return": 23}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 4, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 4, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 3, 1, "", "all_extensions"], [3, 3, 1, "", "api_client"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 3, 1, "", "guild_id"], [3, 3, 1, "", "http_session"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 3, 1, "", "redis_session"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 3, 1, "", "stats"], [3, 3, 1, "", "statsd_url"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.LinePaginator": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_line"], [3, 2, 1, "", "paginate"]], "pydis_core.PaginationEmojis": [[3, 3, 1, "", "model_computed_fields"], [3, 3, 1, "", "model_config"], [3, 3, 1, "", "model_fields"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 4, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 5, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "checks"], [11, 0, 0, "-", "commands"], [12, 0, 0, "-", "cooldown"], [13, 0, 0, "-", "error_handling"], [14, 0, 0, "-", "function"], [15, 0, 0, "-", "interactions"], [16, 0, 0, "-", "lock"], [17, 0, 0, "-", "logging"], [18, 0, 0, "-", "members"], [19, 0, 0, "-", "messages"], [20, 0, 0, "-", "pagination"], [21, 0, 0, "-", "paste_service"], [22, 0, 0, "-", "regex"], [23, 0, 0, "-", "scheduling"], [7, 5, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 5, 1, "", "get_or_fetch_channel"], [9, 5, 1, "", "is_in_category"]], "pydis_core.utils.checks": [[10, 4, 1, "", "ContextCheckFailure"], [10, 4, 1, "", "InWhitelistCheckFailure"], [10, 5, 1, "", "cooldown_with_role_bypass"], [10, 5, 1, "", "has_any_role_check"], [10, 5, 1, "", "has_no_roles_check"], [10, 5, 1, "", "in_whitelist_check"]], "pydis_core.utils.checks.ContextCheckFailure": [[10, 2, 1, "", "__init__"]], "pydis_core.utils.commands": [[11, 5, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[12, 4, 1, "", "CommandOnCooldown"], [12, 6, 1, "", "P"], [12, 1, 1, "", "R"], [12, 5, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[12, 2, 1, "", "__init__"], [12, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[13, 5, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[14, 4, 1, "", "GlobalNameConflictError"], [14, 5, 1, "", "command_wraps"], [14, 5, 1, "", "get_arg_value"], [14, 5, 1, "", "get_arg_value_wrapper"], [14, 5, 1, "", "get_bound_args"], [14, 5, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[15, 1, 1, "", "DeleteMessageButton"], [15, 1, 1, "", "ViewWithUserAndRoleCheck"], [15, 5, 1, "", "user_has_access"]], "pydis_core.utils.interactions.DeleteMessageButton": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "interaction_check"], [15, 2, 1, "", "on_timeout"], [15, 2, 1, "", "stop"]], "pydis_core.utils.lock": [[16, 4, 1, "", "LockedResourceError"], [16, 1, 1, "", "SharedEvent"], [16, 5, 1, "", "lock"], [16, 5, 1, "", "lock_arg"]], "pydis_core.utils.lock.LockedResourceError": [[16, 2, 1, "", "__init__"], [16, 3, 1, "", "id"], [16, 3, 1, "", "type"]], "pydis_core.utils.lock.SharedEvent": [[16, 2, 1, "", "__enter__"], [16, 2, 1, "", "__exit__"], [16, 2, 1, "", "__init__"], [16, 2, 1, "", "wait"]], "pydis_core.utils.logging": [[17, 1, 1, "", "CustomLogger"], [17, 5, 1, "", "get_logger"], [17, 6, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[17, 2, 1, "", "trace"]], "pydis_core.utils.members": [[18, 5, 1, "", "get_or_fetch_member"], [18, 5, 1, "", "handle_role_change"]], "pydis_core.utils.messages": [[19, 5, 1, "", "reaction_check"]], "pydis_core.utils.pagination": [[20, 4, 1, "", "EmptyPaginatorEmbedError"], [20, 1, 1, "", "LinePaginator"], [20, 1, 1, "", "PaginationEmojis"]], "pydis_core.utils.pagination.LinePaginator": [[20, 2, 1, "", "__init__"], [20, 2, 1, "", "add_line"], [20, 2, 1, "", "paginate"]], "pydis_core.utils.pagination.PaginationEmojis": [[20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[21, 6, 1, "", "MAX_PASTE_SIZE"], [21, 1, 1, "", "PasteFile"], [21, 1, 1, "", "PasteResponse"], [21, 4, 1, "", "PasteTooLongError"], [21, 4, 1, "", "PasteUnsupportedLexerError"], [21, 4, 1, "", "PasteUploadError"], [21, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[21, 3, 1, "", "model_computed_fields"], [21, 3, 1, "", "model_config"], [21, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[21, 3, 1, "", "model_computed_fields"], [21, 3, 1, "", "model_config"], [21, 3, 1, "", "model_fields"]], "pydis_core.utils.regex": [[22, 6, 1, "", "DISCORD_INVITE"], [22, 6, 1, "", "FORMATTED_CODE_REGEX"], [22, 6, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[23, 1, 1, "", "Scheduler"], [23, 5, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[23, 2, 1, "", "__contains__"], [23, 2, 1, "", "__init__"], [23, 2, 1, "", "cancel"], [23, 2, 1, "", "cancel_all"], [23, 2, 1, "", "schedule"], [23, 2, 1, "", "schedule_at"], [23, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:exception", "5": "py:function", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "exception", "Python exception"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "check": 10, "command": 11, "cooldown": 12, "error_handl": 13, "function": 14, "interact": 15, "lock": 16, "log": 17, "member": 18, "messag": 19, "pagin": 20, "paste_servic": 21, "regex": 22, "schedul": 23}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "Exts": [[5, "module-pydis_core.exts"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "checks": [[10, "module-pydis_core.utils.checks"]], "commands": [[11, "module-pydis_core.utils.commands"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Utils": [[7, "module-pydis_core.utils"]], "site_api": [[6, "module-pydis_core.site_api"]], "caching": [[8, "module-pydis_core.utils.caching"]], "function": [[14, "module-pydis_core.utils.function"]], "lock": [[16, "module-pydis_core.utils.lock"]], "logging": [[17, "module-pydis_core.utils.logging"]], "error_handling": [[13, "module-pydis_core.utils.error_handling"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "interactions": [[15, "module-pydis_core.utils.interactions"]], "pagination": [[20, "module-pydis_core.utils.pagination"]], "messages": [[19, "module-pydis_core.utils.messages"]], "members": [[18, "module-pydis_core.utils.members"]], "paste_service": [[21, "module-pydis_core.utils.paste_service"]], "regex": [[22, "module-pydis_core.utils.regex"]], "scheduling": [[23, "module-pydis_core.utils.scheduling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "emptypaginatorembederror": [[3, "pydis_core.EmptyPaginatorEmbedError"], [20, "pydis_core.utils.pagination.EmptyPaginatorEmbedError"]], "linepaginator (class in pydis_core)": [[3, "pydis_core.LinePaginator"]], "paginationemojis (class in pydis_core)": [[3, "pydis_core.PaginationEmojis"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (linepaginator method)": [[3, "pydis_core.LinePaginator.__init__"], [20, "pydis_core.utils.pagination.LinePaginator.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "add_line() (linepaginator method)": [[3, "pydis_core.LinePaginator.add_line"], [20, "pydis_core.utils.pagination.LinePaginator.add_line"]], "all_extensions (botbase attribute)": [[3, "pydis_core.BotBase.all_extensions"]], "api_client (botbase attribute)": [[3, "pydis_core.BotBase.api_client"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "guild_id (botbase attribute)": [[3, "pydis_core.BotBase.guild_id"]], "http_session (botbase attribute)": [[3, "pydis_core.BotBase.http_session"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "model_computed_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_computed_fields"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_computed_fields"]], "model_config (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_config"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_config"]], "model_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_fields"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_fields"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.checks"], [11, "module-pydis_core.utils.commands"], [12, "module-pydis_core.utils.cooldown"], [13, "module-pydis_core.utils.error_handling"], [14, "module-pydis_core.utils.function"], [15, "module-pydis_core.utils.interactions"], [16, "module-pydis_core.utils.lock"], [17, "module-pydis_core.utils.logging"], [18, "module-pydis_core.utils.members"], [19, "module-pydis_core.utils.messages"], [20, "module-pydis_core.utils.pagination"], [21, "module-pydis_core.utils.paste_service"], [22, "module-pydis_core.utils.regex"], [23, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "paginate() (linepaginator class method)": [[3, "pydis_core.LinePaginator.paginate"], [20, "pydis_core.utils.pagination.LinePaginator.paginate"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "redis_session (botbase attribute)": [[3, "pydis_core.BotBase.redis_session"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "stats (botbase attribute)": [[3, "pydis_core.BotBase.stats"]], "statsd_url (botbase attribute)": [[3, "pydis_core.BotBase.statsd_url"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "contextcheckfailure": [[10, "pydis_core.utils.checks.ContextCheckFailure"]], "inwhitelistcheckfailure": [[10, "pydis_core.utils.checks.InWhitelistCheckFailure"]], "__init__() (contextcheckfailure method)": [[10, "pydis_core.utils.checks.ContextCheckFailure.__init__"]], "cooldown_with_role_bypass() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.cooldown_with_role_bypass"]], "has_any_role_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_any_role_check"]], "has_no_roles_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_no_roles_check"]], "in_whitelist_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.in_whitelist_check"]], "pydis_core.utils.checks": [[10, "module-pydis_core.utils.checks"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[11, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[11, "module-pydis_core.utils.commands"]], "commandoncooldown": [[12, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[12, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[13, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[13, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[14, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.command_wraps"]], "get_arg_value() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_arg_value"]], "get_arg_value_wrapper() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_arg_value_wrapper"]], "get_bound_args() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_bound_args"]], "pydis_core.utils.function": [[14, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[15, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "user_has_access() (in module pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.user_has_access"]], "lockedresourceerror": [[16, "pydis_core.utils.lock.LockedResourceError"]], "sharedevent (class in pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.SharedEvent"]], "__enter__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__enter__"]], "__exit__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__exit__"]], "__init__() (lockedresourceerror method)": [[16, "pydis_core.utils.lock.LockedResourceError.__init__"]], "__init__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__init__"]], "id (lockedresourceerror attribute)": [[16, "pydis_core.utils.lock.LockedResourceError.id"]], "lock() (in module pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.lock"]], "lock_arg() (in module pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.lock_arg"]], "pydis_core.utils.lock": [[16, "module-pydis_core.utils.lock"]], "type (lockedresourceerror attribute)": [[16, "pydis_core.utils.lock.LockedResourceError.type"]], "wait() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.wait"]], "customlogger (class in pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[17, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[17, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[18, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[18, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[18, "module-pydis_core.utils.members"]], "pydis_core.utils.messages": [[19, "module-pydis_core.utils.messages"]], "reaction_check() (in module pydis_core.utils.messages)": [[19, "pydis_core.utils.messages.reaction_check"]], "linepaginator (class in pydis_core.utils.pagination)": [[20, "pydis_core.utils.pagination.LinePaginator"]], "paginationemojis (class in pydis_core.utils.pagination)": [[20, "pydis_core.utils.pagination.PaginationEmojis"]], "pydis_core.utils.pagination": [[20, "module-pydis_core.utils.pagination"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[21, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[21, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[21, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[21, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[22, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[23, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[23, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[23, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file
+Search.setIndex({"docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.checks", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.lock", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.messages", "output/pydis_core.utils.pagination", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.checks.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.lock.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.messages.rst", "output/pydis_core.utils.pagination.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development &amp; Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "checks", "commands", "cooldown", "error_handling", "function", "interactions", "lock", "logging", "members", "messages", "pagination", "paste_service", "regex", "scheduling"], "terms": {"next": [0, 3, 20], "10": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "support": [0, 4, 7, 23], "204": [0, 6], "document": 0, "instanc": [0, 3, 6, 8, 9, 10, 17, 23], "attribut": [0, 7, 14], "pydis_cor": [0, 1, 3, 15, 17], "botbas": [0, 2, 3], "206": 0, "bump": 0, "ruff": 0, "from": [0, 1, 3, 4, 6, 7, 9, 14, 15, 18, 20, 21, 23], "0": [0, 8, 10, 15, 16, 17], "1": [0, 17], "15": 0, "2": [0, 3, 15], "us": [0, 1, 3, 4, 6, 7, 9, 10, 12, 14, 16, 17, 18, 20, 21, 22, 23], "new": [0, 1, 3, 4, 6, 8, 14, 20, 23], "lint": 0, "config": [0, 3, 20, 21], "namespac": [0, 16, 23], "rule": 0, "7": 0, "30th": 0, "januari": 0, "2024": 0, "194": 0, "add": [0, 3, 10, 12, 20], "util": [0, 1, 2, 3, 8, 14, 15, 17], "interact": [0, 3, 7, 9, 20], "user_has_access": [0, 3, 7, 15], "helper": [0, 9, 12, 18], "function": [0, 3, 7, 8, 9, 12, 16, 17, 18, 20, 23], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "whether": [0, 3, 6, 9, 10, 15, 20], "given": [0, 3, 4, 7, 9, 11, 14, 16, 17, 18, 23], "user": [0, 3, 10, 12, 15, 19, 20], "i": [0, 1, 3, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "allowed_us": [0, 15, 19], "list": [0, 1, 3, 15, 20, 21], "ha": [0, 7, 10, 15], "role": [0, 1, 3, 10, 15, 18, 19, 20], "allowed_rol": [0, 1, 3, 15, 19, 20], "158": 0, "lock": [0, 3, 7], "control": 0, "concurr": 0, "logic": 0, "202": 0, "variou": [0, 9], "develop": [0, 2, 3, 7], "depend": [0, 9], "ci": 0, "workflow": 0, "action": 0, "version": [0, 11], "6": 0, "199": 0, "port": [0, 4], "common": [0, 1, 3, 7, 17, 22], "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 18, 20, 22], "command": [0, 1, 3, 7, 9, 10, 12, 14, 16, 20], "check": [0, 3, 6, 7, 9, 12, 13, 15, 19, 23], "other": [0, 1, 16, 23], "bot": [0, 1, 3, 7, 9, 19], "189": 0, "messag": [0, 3, 7, 11, 12, 13, 15, 17, 20, 23], "reaction_check": [0, 3, 7, 19], "predic": 0, "dictat": 0, "right": [0, 3, 20], "specif": [0, 10], "set": [0, 1, 3, 12, 14, 15, 16, 20], "reaction": [0, 3, 19, 20], "base": [0, 3, 4, 6, 8, 10, 12, 14, 15, 16, 17, 20, 21, 23], "certain": [0, 1], "criteria": 0, "pagin": [0, 2, 3, 7], "linepagin": [0, 2, 3, 7, 20], "which": [0, 1, 3, 7, 10, 12, 14, 16, 20, 23], "allow": [0, 1, 3, 15, 19, 20, 21], "over": [0, 3, 20], "content": [0, 3, 11, 20, 21], "emb": [0, 3, 20], "emoji": [0, 3, 19, 20], "facilit": 0, "navig": [0, 1, 3, 20], "5": [0, 12], "14th": 0, "decemb": 0, "2023": 0, "bug": 0, "200": 0, "do": [0, 1, 9, 16], "attempt": [0, 3, 9, 16, 18, 20], "read": 0, "respons": [0, 6, 21], "bodi": 0, "http": [0, 3, 6, 21, 22], "code": [0, 1, 3, 6, 16, 20, 22], "previous": 0, "onli": [0, 3], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "delet": [0, 3, 6, 8, 15, 20, 21], "did": 0, "thi": [0, 1, 3, 7, 9, 10, 12, 14, 15, 16, 18, 20, 21, 22, 23], "10th": 0, "197": 0, "mark": 0, "tild": 0, "specifi": [0, 10, 12, 15], "pydi": [0, 2], "core": [0, 1], "newer": 0, "librari": [0, 1], "without": [0, 10], "u": [0, 3, 20], "have": [0, 9, 10, 14, 17], "cut": 0, "4": 0, "26th": 0, "octob": 0, "196": 0, "mani": [0, 3, 8], "aiodn": 0, "3": 0, "19th": 0, "septemb": 0, "195": 0, "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 17], "warn": [0, 23], "level": [0, 7, 17], "asyncio": [0, 4, 23], "info": [0, 1], "default": [0, 1, 3, 10, 14, 20, 21], "log_format": [0, 3, 7, 17], "log": [0, 3, 7, 13, 18, 23], "standardis": [0, 17], "across": [0, 3, 17, 20], "all": [0, 1, 3, 4, 7, 16, 17, 23], "servic": [0, 1, 3, 21], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 14], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "ext": [0, 2, 3, 7, 9, 10, 11, 20], "process_command": [0, 2, 3], "ensur": [0, 3, 15, 22], "ar": [0, 1, 3, 8, 14, 15, 19, 20, 22], "process": [0, 3], "until": [0, 3, 16, 22], "extens": [0, 3], "load": [0, 1, 3, 7], "work": [0, 1], "client": [0, 3, 4], "load_extens": [0, 2, 3], "break": [0, 3, 14, 20], "188": 0, "send": [0, 3, 6, 15, 20], "multipl": 0, "file": [0, 1, 21], "onc": [0, 8], "past": [0, 21, 23], "call": [0, 3, 12, 14, 23], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 21], "must": [0, 14, 16, 23], "now": [0, 1, 23], "provid": [0, 1, 3, 8, 11, 13, 20, 23], "pastefil": [0, 3, 7, 21], "184": 0, "remov": [0, 3, 15, 19, 20, 21], "store": [0, 3, 7, 8, 20], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 15], "when": [0, 3, 4, 6, 7, 8, 10, 12, 14, 16, 20, 21, 23], "stop": [0, 7, 15], "addit": 0, "exist": [0, 1, 23], "timeout": [0, 3, 15, 20], "187": 0, "fix": 0, "channel": [0, 3, 7, 10, 12], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 3, 7, 8, 10, 11, 12, 14, 15, 16, 17, 19, 20, 22, 23], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23], "includ": [0, 1, 13], "abc": 0, "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 14], "expiri": 0, "label": [0, 15], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "18th": 0, "182": 0, "lexer": [0, 21], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 20, 21], "pythondiscord": [0, 21], "com": [0, 21], "8": 0, "13th": 0, "181": 0, "176": 0, "migrat": 0, "repo": 0, "177": 0, "automat": [0, 3, 20], "handl": [0, 13, 18, 23], "forbidden": [0, 9, 13], "90001": [0, 13], "error": [0, 3, 6, 7, 13, 18, 21], "schedul": [0, 3, 7], "179": 0, "upload": [0, 21], "text": [0, 3, 6, 11, 20, 21], "our": [0, 1, 7], "6th": 0, "mai": [0, 3, 8, 16, 20], "175": 0, "wait": [0, 3, 7, 16, 23], "guild": [0, 1, 3, 10, 18], "avail": [0, 3, 16], "befor": [0, 3, 10, 15, 16, 20, 23], "cog": [0, 3, 5], "march": 0, "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "after": [0, 3, 15, 20, 23], "been": 0, "also": [0, 3, 7, 14, 15, 16, 20], "need": [0, 1, 3, 20], "run": [0, 1, 12, 16, 23], "task": [0, 23], "23rd": 0, "170": 0, "save": [0, 3, 21], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 12, 14, 20, 23], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 22], "member": [0, 3, 7, 15], "get_or_fetch_memb": [0, 3, 7, 18], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 21, 23], "11": 0, "162": 0, "being": [0, 7, 10, 18], "abl": 0, "button": [0, 15], "press": 0, "88": 0, "decor": [0, 8, 10, 12, 14, 16], "success": [0, 21], "duplic": [0, 12], "invoc": [0, 12], "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 17], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 22], "option": [0, 3, 4, 6, 8, 11, 12, 13, 14, 15, 16, 17, 18, 20], "match": [0, 3, 14], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 16, 18, 20, 21], "rediscach": 0, "v1": [0, 3, 20, 21], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "explain": 0, "how": [0, 8, 10, 14, 23], "108": 0, "101": 0, "clean": [0, 11], "string": [0, 6], "referenc": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 10, 14, 16, 17, 20, 21, 23], "On": 0, "view": [0, 15], "its": [0, 3, 12, 14], "104": 0, "deletemessagebutton": [0, 3, 7, 15], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 17], "103": 0, "attach": 0, "parent": [0, 15], "gener": [0, 3, 12, 23], "98": 0, "close": [0, 2, 3, 6, 23], "stat": [0, 2, 3, 4], "_transport": 0, "wa": [0, 9, 10, 23], "91": 0, "miss": 0, "await": [0, 3, 12, 15, 16, 18, 20], "ping_servic": [0, 2, 3], "some": [0, 3, 20, 21], "case": [0, 3, 20], "pass": [0, 3, 6, 14, 17, 18, 23], "self": [0, 3, 15], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 18], "96": 0, "connect": [0, 3, 4], "statsd_url": [0, 2, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 3, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 17, 20], "older": 0, "doc": [0, 16], "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 10, 23], "out": [0, 1, 3, 15], "75": 0, "invit": [0, 22], "longer": [0, 15], "safe": 0, "result": [0, 23], "captur": [0, 14, 22], "charact": [0, 3, 20], "up": [0, 1, 3, 20], "whitespac": [0, 22], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3, 10, 20], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "number": [0, 3, 10, 20, 21], "so": [0, 1, 7], "should": [0, 1, 3, 6, 15, 20, 21], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 14, 18], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 14], "main": 0, "don": [0, 10, 23], "t": [0, 10, 11, 13, 14, 16, 23], "modul": [0, 3, 7, 14, 23], "start": [0, 3, 23], "_": 0, "66": 0, "each": [0, 3, 20], "own": [0, 14], "avoid": [0, 3, 20], "singl": [0, 3, 20], "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "manipul": [0, 14], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 3, 14, 20], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 17], "basic": [0, 15], "forum": 0, "63": 0, "api_cli": [0, 2, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 15, 16, 20, 23], "61": 0, "reconnect": 0, "redi": [0, 3], "session": [0, 3, 6, 21], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 16, 23], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3, 16, 20], "made": [0, 19], "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 21], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 12, 15, 16, 17, 20, 21, 23], "abstract": 0, "lot": 0, "share": [0, 14], "between": [0, 1, 14], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 17], "import": 0, "can": [0, 1, 3, 10, 15, 16, 17, 20, 23], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "api": [0, 3, 6, 18], "wrapper": [0, 6, 12, 14, 23], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "cach": [0, 3, 7, 9, 18], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 3, 7, 15, 17, 20], "intersphinx": 0, "12": 0, "block": [0, 3, 12, 20, 22], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "To": [1, 3, 17], "your": 1, "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 14], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 14, 15, 16], "below": [1, 16], "more": [1, 3, 14, 16, 20], "both": [1, 21], "what": 1, "go": [1, 3, 16, 20], "them": [1, 3, 14, 23], "you": [1, 9, 22], "ll": [1, 23], "write": 1, "might": [1, 10], "mean": 1, "modifi": [1, 18], "ones": 1, "etc": [1, 10], "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 20, 21, 23], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 20, 21, 23], "vari": 1, "re": [1, 3, 13, 19, 23], "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 3, 10, 15, 20, 21, 23], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 14, 19], "free": 1, "howev": 1, "like": [1, 14], "m": 1, "docker": 1, "compos": 1, "d": [1, 14], "configur": [1, 3, 20, 21], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 2, 3], "monitor": 1, "prefix": [1, 3, 4, 20], "invok": [1, 10, 12, 15], "mention": [1, 3], "A": [1, 3, 6, 7, 8, 9, 10, 12, 14, 15, 17, 20, 21, 23], "comma": 1, "seper": 1, "id": [1, 3, 7, 9, 10, 15, 16, 20, 23], "anyth": [1, 21], "reinstal": 1, "applic": 1, "http_session": [2, 3, 21], "redis_sess": [2, 3], "all_extens": [2, 3], "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8, 16], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "emptypaginatorembederror": [2, 3, 7, 20], "add_lin": [2, 3, 7, 20], "paginationemoji": [2, 3, 7, 20], "model_computed_field": [2, 3, 7, 20, 21], "model_config": [2, 3, 7, 20, 21], "model_field": [2, 3, 7, 20, 21], "startuperror": [2, 3], "subpackag": 2, "submodul": 2, "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": [2, 3, 20], "inform": [2, 16, 17], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12, 14, 16, 17], "kwarg": [3, 6, 12, 14, 15, 17, 23], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "implement": [3, 4, 8, 15, 17], "belong": 3, "int": [3, 4, 8, 9, 10, 14, 15, 20, 21, 23], "clientsess": [3, 6, 21], "commun": [3, 4], "metric": 3, "str": [3, 4, 6, 7, 10, 11, 14, 15, 16, 17, 20, 21, 23], "redissess": 3, "were": 3, "found": [3, 14, 18, 23], "frozenset": [3, 14], "initialis": [3, 8], "server": [3, 22], "If": [3, 6, 10, 12, 14, 15, 16, 19, 20, 23], "oper": [3, 16, 20, 23], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 15, 23], "instead": [3, 12, 23], "connector": 3, "resolv": [3, 14], "sync_app_command": 3, "true": [3, 6, 10, 12, 16, 17, 19, 20, 21, 23], "bool": [3, 6, 9, 10, 12, 15, 16, 19, 20, 23], "intern": [3, 7, 16], "becom": [3, 16], "appear": 3, "still": [3, 20], "empti": [3, 20], "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 14, 19], "relev": 3, "name": [3, 7, 14, 16, 17, 20, 21, 23], "alia": [3, 7, 12], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 14], "second": [3, 10, 12, 15, 20, 23], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 10, 12, 14, 16, 17, 20, 21, 23], "rais": [3, 6, 9, 10, 11, 12, 13, 14, 16, 18, 20, 21, 23], "suffix": [3, 20], "max_siz": [3, 8, 20, 21], "4000": [3, 20], "scale_to_s": [3, 20], "max_lin": [3, 20], "linesep": [3, 20], "n": [3, 20], "aid": [3, 20], "pagination_emoji": [3, 20], "insert": [3, 20], "everi": [3, 20], "e": [3, 20], "g": [3, 20], "three": [3, 20], "backtick": [3, 20], "append": [3, 20], "end": [3, 20], "maximum": [3, 8, 20, 21], "amount": [3, 20], "codepoint": [3, 20], "line": [3, 20], "scale": [3, 20], "overrid": [3, 20], "insid": [3, 20], "It": [3, 7, 16, 20], "order": [3, 8, 14, 16, 20, 23], "per": [3, 10, 20], "fals": [3, 10, 12, 16, 20, 21], "current": [3, 16, 20, 23], "exce": [3, 8, 20], "overflow": [3, 20], "word": [3, 20], "exceed": [3, 20], "excess": [3, 20], "place": [3, 20], "unti": [3, 20], "remain": [3, 20], "boundari": [3, 20], "truncat": [3, 20], "continu": [3, 20], "onto": [3, 20], "In": [3, 20], "alreadi": [3, 20, 23], "would": [3, 20], "caus": [3, 7, 20], "done": [3, 15, 20, 23], "best": [3, 20], "effort": [3, 20], "while": [3, 12, 16, 20], "keep": [3, 20, 23], "total": [3, 20], "length": [3, 12, 20], "reason": [3, 20], "size": [3, 8, 20, 21], "indic": [3, 18, 20], "classmethod": [3, 20], "ctx": [3, 10, 11, 15, 20], "500": [3, 20], "restrict_to_us": [3, 20], "300": [3, 20], "footer_text": [3, 20], "exception_on_empty_emb": [3, 20], "repli": [3, 11, 12, 13, 20], "switch": [3, 20], "finish": [3, 16, 20], "appli": [3, 7, 8, 10, 12, 16, 20, 21], "These": [3, 20], "five": [3, 20], "minut": [3, 20], "limit": [3, 20], "author": [3, 10, 19, 20], "ani": [3, 6, 10, 14, 16, 20, 22, 23], "moder": [3, 15, 19, 20], "context": [3, 10, 11, 16, 20], "hold": [3, 16, 20], "serv": [3, 20], "whom": [3, 20], "restrict": [3, 20], "anymor": [3, 20], "footer": [3, 20], "sequenc": [3, 7, 14, 15, 20], "exampl": [3, 20], "set_author": [3, 20], "icon_url": [3, 20], "icon": [3, 20], "data": [3, 20, 21], "basemodel": [3, 20, 21], "classvar": [3, 20, 21], "dict": [3, 6, 14, 20, 21], "computedfieldinfo": [3, 20, 21], "dictionari": [3, 20, 21], "comput": [3, 20, 21], "field": [3, 20, 21], "correspond": [3, 20, 21], "object": [3, 6, 7, 8, 9, 12, 16, 18, 20, 21, 23], "configdict": [3, 20, 21], "model": [3, 20, 21], "conform": [3, 20, 21], "pydant": [3, 20, 21], "fieldinfo": [3, 20, 21], "annot": [3, 14, 20, 21], "trashcan": [3, 20], "637136429717389331": [3, 20], "first": [3, 20], "last": [3, 10, 15, 20], "left": [3, 20], "metadata": [3, 20, 21], "about": [3, 12, 20, 21], "defin": [3, 20, 21], "map": [3, 14, 16, 20, 21], "replac": [3, 10, 14, 20, 21], "__fields__": [3, 20, 21], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "contextcheckfailur": [3, 7, 10], "inwhitelistcheckfailur": [3, 7, 10], "cooldown_with_role_bypass": [3, 7, 10], "has_any_role_check": [3, 7, 10], "has_no_roles_check": [3, 7, 10], "in_whitelist_check": [3, 7, 10], "clean_text_or_repli": [3, 7, 11], "cooldown": [3, 7, 10], "commandoncooldown": [3, 7, 12], "p": [3, 7, 12], "r": [3, 7, 12], "block_duplicate_invoc": [3, 7, 12], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 13], "globalnameconflicterror": [3, 7, 14], "command_wrap": [3, 7, 14], "get_arg_valu": [3, 7, 14], "get_arg_value_wrapp": [3, 7, 14], "get_bound_arg": [3, 7, 14], "update_wrapper_glob": [3, 7, 14], "lockedresourceerror": [3, 7, 16], "sharedev": [3, 7, 16], "lock_arg": [3, 7, 16], "customlogg": [3, 7, 17], "get_logg": [3, 7, 17], "max_paste_s": [3, 7, 21], "pasterespons": [3, 7, 21], "pastetoolongerror": [3, 7, 21], "pasteunsupportedlexererror": [3, 7, 21], "pasteuploaderror": [3, 7, 21], "formatted_code_regex": [3, 7, 22], "raw_code_regex": [3, 7, 22], "create_task": [3, 7, 23], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 21], "put": [3, 6], "__str__": [3, 6], "transport": 4, "loop": [4, 23], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 23], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "django": 6, "initi": [6, 23], "authent": 6, "keyword": [6, 7, 14, 17], "argument": [6, 7, 8, 11, 12, 14, 16, 17, 18], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "ok": 6, "clientrespons": 6, "json": 6, "extra": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 14, 21], "represent": 6, "group": [7, 22], "root_alias": 7, "two": 7, "act": 7, "top": 7, "rather": 7, "than": [7, 21], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 12], "callback": [7, 10, 15], "interaction_check": [7, 15], "on_timeout": [7, 15], "__enter__": [7, 16], "__exit__": [7, 16], "__contains__": [7, 23], "cancel": [7, 23], "cancel_al": [7, 23], "schedule_at": [7, 23], "schedule_lat": [7, 23], "relat": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 18, 23], "kei": 8, "fifo": 8, "offset": 8, "arg_offset": 8, "posit": [8, 14, 16], "callabl": [8, 10, 12, 14, 16, 18], "wrap": [8, 14, 23], "target": 8, "item": 8, "channel_id": 9, "fetch": [9, 18], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 10, 21], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": [9, 10], "textchannel": 9, "redirect_channel": 10, "checkfailur": 10, "in_whitelist": 10, "rate": 10, "bypass_rol": 10, "bypass": 10, "note": 10, "before_invok": 10, "introduc": 10, "problem": [10, 17], "futur": [10, 23], "trigger": 10, "float": [10, 12, 15, 23], "durat": 10, "long": [10, 21, 23], "buckettyp": 10, "iter": [10, 12], "describ": 10, "behavior": 10, "typeerror": [10, 14], "verifi": 10, "alwai": 10, "dm": 10, "sinc": 10, "where": 10, "union": 10, "collect": 10, "least": 10, "otherwis": [10, 16, 23], "doesn": [10, 23], "redirect": 10, "fail_sil": 10, "issu": 10, "whitelist": 10, "silent": 10, "badargu": 11, "wasn": 11, "els": 11, "commanderror": 12, "typevar": [12, 14, 23], "valu": [12, 14, 16, 17], "signatur": 12, "cooldown_dur": 12, "send_notic": 12, "args_preprocessor": 12, "prevent": [12, 16, 23], "same": [12, 23], "notifi": 12, "paramspec": [12, 14], "raw": [12, 22], "isn": [13, 14], "conflict": 14, "global": 14, "assign": 14, "__module__": 14, "__name__": 14, "__qualname__": 14, "__doc__": 14, "__annotations__": 14, "__dict__": 14, "ignored_conflict_nam": 14, "look": [14, 23], "forwardref": 14, "evalu": 14, "detail": 14, "_p": 14, "_r": 14, "behav": 14, "functool": 14, "name_or_po": [14, 16], "ordereddict": [14, 16], "doe": 14, "decorator_func": 14, "func": [14, 16], "accept": [14, 15], "bind": 14, "tupl": [14, 23], "For": 14, "__global__": 14, "state": 14, "won": 14, "reflect": 14, "typehint": 14, "style": 15, "secondari": 15, "click": 15, "itself": 15, "carri": 15, "buttonstyl": 15, "origin": 15, "180": 15, "who": 15, "ui": 15, "input": 15, "similar": [15, 22], "occur": 15, "listen": 15, "access": 15, "resource_typ": 16, "resource_id": 16, "runtimeerror": 16, "resourc": 16, "hashabl": [16, 23], "manag": 16, "expos": 16, "through": 16, "coro": [16, 18, 23], "execut": [16, 23], "underli": 16, "holder": 16, "increment": 16, "count": 16, "activ": 16, "_exc_typ": 16, "_exc_val": 16, "_exc_tb": 16, "decrement": 16, "reach": 16, "exit": 16, "raise_error": 16, "turn": 16, "mutual": 16, "exclus": 16, "identifi": [16, 23], "collis": 16, "among": 16, "perform": 16, "acquir": 16, "msg": 17, "sever": 17, "exc_info": 17, "houston": 17, "we": [17, 18], "interest": 17, "mypi": 17, "recognis": 17, "formatt": 17, "interactin": 18, "member_id": 18, "failur": 18, "could": 18, "sole": 18, "expect": 18, "add_rol": 18, "remove_rol": 18, "purpos": 18, "intend": 18, "message_id": 19, "allowed_emoji": 19, "allow_mod": 19, "even": 19, "524288": 21, "byte": 21, "format": [21, 22], "link": 21, "too": 21, "larg": 21, "unsupport": 21, "encount": 21, "paste_url": 21, "max": 21, "larger": 21, "reject": 21, "max_length": 21, "greater": 21, "regular": 22, "express": 22, "pattern": 22, "pleas": 22, "sanitis": 22, "output": 22, "someth": 22, "urllib": 22, "pars": 22, "quot": 22, "track": 23, "distinguish": 23, "suggest": 23, "immedi": 23, "uniqu": 23, "prematur": 23, "task_id": 23, "unschedul": 23, "known": 23, "unawait": 23, "elsewher": 23, "timezon": 23, "awar": 23, "calcul": 23, "subtract": 23, "na\u00efv": 23, "utc": 23, "datetim": 23, "delai": 23, "suppressed_except": 23, "event_loop": 23, "task_return": 23}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 4, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 4, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 3, 1, "", "all_extensions"], [3, 3, 1, "", "api_client"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 3, 1, "", "guild_id"], [3, 3, 1, "", "http_session"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 3, 1, "", "redis_session"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 3, 1, "", "stats"], [3, 3, 1, "", "statsd_url"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.LinePaginator": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_line"], [3, 2, 1, "", "paginate"]], "pydis_core.PaginationEmojis": [[3, 3, 1, "", "model_computed_fields"], [3, 3, 1, "", "model_config"], [3, 3, 1, "", "model_fields"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 4, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 5, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "checks"], [11, 0, 0, "-", "commands"], [12, 0, 0, "-", "cooldown"], [13, 0, 0, "-", "error_handling"], [14, 0, 0, "-", "function"], [15, 0, 0, "-", "interactions"], [16, 0, 0, "-", "lock"], [17, 0, 0, "-", "logging"], [18, 0, 0, "-", "members"], [19, 0, 0, "-", "messages"], [20, 0, 0, "-", "pagination"], [21, 0, 0, "-", "paste_service"], [22, 0, 0, "-", "regex"], [23, 0, 0, "-", "scheduling"], [7, 5, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 5, 1, "", "get_or_fetch_channel"], [9, 5, 1, "", "is_in_category"]], "pydis_core.utils.checks": [[10, 4, 1, "", "ContextCheckFailure"], [10, 4, 1, "", "InWhitelistCheckFailure"], [10, 5, 1, "", "cooldown_with_role_bypass"], [10, 5, 1, "", "has_any_role_check"], [10, 5, 1, "", "has_no_roles_check"], [10, 5, 1, "", "in_whitelist_check"]], "pydis_core.utils.checks.ContextCheckFailure": [[10, 2, 1, "", "__init__"]], "pydis_core.utils.commands": [[11, 5, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[12, 4, 1, "", "CommandOnCooldown"], [12, 6, 1, "", "P"], [12, 1, 1, "", "R"], [12, 5, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[12, 2, 1, "", "__init__"], [12, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[13, 5, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[14, 4, 1, "", "GlobalNameConflictError"], [14, 5, 1, "", "command_wraps"], [14, 5, 1, "", "get_arg_value"], [14, 5, 1, "", "get_arg_value_wrapper"], [14, 5, 1, "", "get_bound_args"], [14, 5, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[15, 1, 1, "", "DeleteMessageButton"], [15, 1, 1, "", "ViewWithUserAndRoleCheck"], [15, 5, 1, "", "user_has_access"]], "pydis_core.utils.interactions.DeleteMessageButton": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[15, 2, 1, "", "__init__"], [15, 2, 1, "", "interaction_check"], [15, 2, 1, "", "on_timeout"], [15, 2, 1, "", "stop"]], "pydis_core.utils.lock": [[16, 4, 1, "", "LockedResourceError"], [16, 1, 1, "", "SharedEvent"], [16, 5, 1, "", "lock"], [16, 5, 1, "", "lock_arg"]], "pydis_core.utils.lock.LockedResourceError": [[16, 2, 1, "", "__init__"], [16, 3, 1, "", "id"], [16, 3, 1, "", "type"]], "pydis_core.utils.lock.SharedEvent": [[16, 2, 1, "", "__enter__"], [16, 2, 1, "", "__exit__"], [16, 2, 1, "", "__init__"], [16, 2, 1, "", "wait"]], "pydis_core.utils.logging": [[17, 1, 1, "", "CustomLogger"], [17, 5, 1, "", "get_logger"], [17, 6, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[17, 2, 1, "", "trace"]], "pydis_core.utils.members": [[18, 5, 1, "", "get_or_fetch_member"], [18, 5, 1, "", "handle_role_change"]], "pydis_core.utils.messages": [[19, 5, 1, "", "reaction_check"]], "pydis_core.utils.pagination": [[20, 4, 1, "", "EmptyPaginatorEmbedError"], [20, 1, 1, "", "LinePaginator"], [20, 1, 1, "", "PaginationEmojis"]], "pydis_core.utils.pagination.LinePaginator": [[20, 2, 1, "", "__init__"], [20, 2, 1, "", "add_line"], [20, 2, 1, "", "paginate"]], "pydis_core.utils.pagination.PaginationEmojis": [[20, 3, 1, "", "model_computed_fields"], [20, 3, 1, "", "model_config"], [20, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[21, 6, 1, "", "MAX_PASTE_SIZE"], [21, 1, 1, "", "PasteFile"], [21, 1, 1, "", "PasteResponse"], [21, 4, 1, "", "PasteTooLongError"], [21, 4, 1, "", "PasteUnsupportedLexerError"], [21, 4, 1, "", "PasteUploadError"], [21, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[21, 3, 1, "", "model_computed_fields"], [21, 3, 1, "", "model_config"], [21, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[21, 3, 1, "", "model_computed_fields"], [21, 3, 1, "", "model_config"], [21, 3, 1, "", "model_fields"]], "pydis_core.utils.regex": [[22, 6, 1, "", "DISCORD_INVITE"], [22, 6, 1, "", "FORMATTED_CODE_REGEX"], [22, 6, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[23, 1, 1, "", "Scheduler"], [23, 5, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[23, 2, 1, "", "__contains__"], [23, 2, 1, "", "__init__"], [23, 2, 1, "", "cancel"], [23, 2, 1, "", "cancel_all"], [23, 2, 1, "", "schedule"], [23, 2, 1, "", "schedule_at"], [23, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:exception", "5": "py:function", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "exception", "Python exception"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "check": 10, "command": 11, "cooldown": 12, "error_handl": 13, "function": 14, "interact": 15, "lock": 16, "log": 17, "member": 18, "messag": 19, "pagin": 20, "paste_servic": 21, "regex": 22, "schedul": 23}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "checks": [[10, "module-pydis_core.utils.checks"]], "commands": [[11, "module-pydis_core.utils.commands"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "channel": [[9, "module-pydis_core.utils.channel"]], "site_api": [[6, "module-pydis_core.site_api"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "error_handling": [[13, "module-pydis_core.utils.error_handling"]], "logging": [[17, "module-pydis_core.utils.logging"]], "interactions": [[15, "module-pydis_core.utils.interactions"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "lock": [[16, "module-pydis_core.utils.lock"]], "function": [[14, "module-pydis_core.utils.function"]], "paste_service": [[21, "module-pydis_core.utils.paste_service"]], "messages": [[19, "module-pydis_core.utils.messages"]], "members": [[18, "module-pydis_core.utils.members"]], "pagination": [[20, "module-pydis_core.utils.pagination"]], "scheduling": [[23, "module-pydis_core.utils.scheduling"]], "regex": [[22, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "emptypaginatorembederror": [[3, "pydis_core.EmptyPaginatorEmbedError"], [20, "pydis_core.utils.pagination.EmptyPaginatorEmbedError"]], "linepaginator (class in pydis_core)": [[3, "pydis_core.LinePaginator"]], "paginationemojis (class in pydis_core)": [[3, "pydis_core.PaginationEmojis"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (linepaginator method)": [[3, "pydis_core.LinePaginator.__init__"], [20, "pydis_core.utils.pagination.LinePaginator.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "add_line() (linepaginator method)": [[3, "pydis_core.LinePaginator.add_line"], [20, "pydis_core.utils.pagination.LinePaginator.add_line"]], "all_extensions (botbase attribute)": [[3, "pydis_core.BotBase.all_extensions"]], "api_client (botbase attribute)": [[3, "pydis_core.BotBase.api_client"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "guild_id (botbase attribute)": [[3, "pydis_core.BotBase.guild_id"]], "http_session (botbase attribute)": [[3, "pydis_core.BotBase.http_session"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "model_computed_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_computed_fields"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_computed_fields"]], "model_config (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_config"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_config"]], "model_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_fields"], [20, "pydis_core.utils.pagination.PaginationEmojis.model_fields"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.checks"], [11, "module-pydis_core.utils.commands"], [12, "module-pydis_core.utils.cooldown"], [13, "module-pydis_core.utils.error_handling"], [14, "module-pydis_core.utils.function"], [15, "module-pydis_core.utils.interactions"], [16, "module-pydis_core.utils.lock"], [17, "module-pydis_core.utils.logging"], [18, "module-pydis_core.utils.members"], [19, "module-pydis_core.utils.messages"], [20, "module-pydis_core.utils.pagination"], [21, "module-pydis_core.utils.paste_service"], [22, "module-pydis_core.utils.regex"], [23, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "paginate() (linepaginator class method)": [[3, "pydis_core.LinePaginator.paginate"], [20, "pydis_core.utils.pagination.LinePaginator.paginate"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "redis_session (botbase attribute)": [[3, "pydis_core.BotBase.redis_session"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "stats (botbase attribute)": [[3, "pydis_core.BotBase.stats"]], "statsd_url (botbase attribute)": [[3, "pydis_core.BotBase.statsd_url"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "contextcheckfailure": [[10, "pydis_core.utils.checks.ContextCheckFailure"]], "inwhitelistcheckfailure": [[10, "pydis_core.utils.checks.InWhitelistCheckFailure"]], "__init__() (contextcheckfailure method)": [[10, "pydis_core.utils.checks.ContextCheckFailure.__init__"]], "cooldown_with_role_bypass() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.cooldown_with_role_bypass"]], "has_any_role_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_any_role_check"]], "has_no_roles_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_no_roles_check"]], "in_whitelist_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.in_whitelist_check"]], "pydis_core.utils.checks": [[10, "module-pydis_core.utils.checks"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[11, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[11, "module-pydis_core.utils.commands"]], "commandoncooldown": [[12, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[12, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[13, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[13, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[14, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.command_wraps"]], "get_arg_value() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_arg_value"]], "get_arg_value_wrapper() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_arg_value_wrapper"]], "get_bound_args() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.get_bound_args"]], "pydis_core.utils.function": [[14, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[14, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[15, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[15, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[15, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "user_has_access() (in module pydis_core.utils.interactions)": [[15, "pydis_core.utils.interactions.user_has_access"]], "lockedresourceerror": [[16, "pydis_core.utils.lock.LockedResourceError"]], "sharedevent (class in pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.SharedEvent"]], "__enter__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__enter__"]], "__exit__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__exit__"]], "__init__() (lockedresourceerror method)": [[16, "pydis_core.utils.lock.LockedResourceError.__init__"]], "__init__() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.__init__"]], "id (lockedresourceerror attribute)": [[16, "pydis_core.utils.lock.LockedResourceError.id"]], "lock() (in module pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.lock"]], "lock_arg() (in module pydis_core.utils.lock)": [[16, "pydis_core.utils.lock.lock_arg"]], "pydis_core.utils.lock": [[16, "module-pydis_core.utils.lock"]], "type (lockedresourceerror attribute)": [[16, "pydis_core.utils.lock.LockedResourceError.type"]], "wait() (sharedevent method)": [[16, "pydis_core.utils.lock.SharedEvent.wait"]], "customlogger (class in pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[17, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[17, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[17, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[18, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[18, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[18, "module-pydis_core.utils.members"]], "pydis_core.utils.messages": [[19, "module-pydis_core.utils.messages"]], "reaction_check() (in module pydis_core.utils.messages)": [[19, "pydis_core.utils.messages.reaction_check"]], "linepaginator (class in pydis_core.utils.pagination)": [[20, "pydis_core.utils.pagination.LinePaginator"]], "paginationemojis (class in pydis_core.utils.pagination)": [[20, "pydis_core.utils.pagination.PaginationEmojis"]], "pydis_core.utils.pagination": [[20, "module-pydis_core.utils.pagination"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[21, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[21, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[21, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[21, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[21, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[21, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[21, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[22, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[22, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[23, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[23, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[23, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[23, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file