summaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorGravatar ChrisLovering <[email protected]>2024-01-30 21:52:45 +0000
committerGravatar ChrisLovering <[email protected]>2024-01-30 21:52:45 +0000
commit84a7124e62f211a51acb1e698628a98ce8141671 (patch)
treebb8bea7c74d873a021565491b663cd58fa0622d2 /main
parentDeploying to docs from @ python-discord/bot-core@c7b614025e9c3faf3b16bb019f28... (diff)
Deploying to docs from @ python-discord/bot-core@07f517225fc59157233f74edb136ee39046fda00 🚀
Diffstat (limited to 'main')
-rw-r--r--main/.buildinfo2
-rw-r--r--main/changelog.html12
-rw-r--r--main/development.html7
-rw-r--r--main/genindex.html56
-rw-r--r--main/index.html7
-rw-r--r--main/index_redirect.html2
-rw-r--r--main/objects.invbin1972 -> 2099 bytes
-rw-r--r--main/output/pydis_core.async_stats.html13
-rw-r--r--main/output/pydis_core.exts.html7
-rw-r--r--main/output/pydis_core.html63
-rw-r--r--main/output/pydis_core.site_api.html33
-rw-r--r--main/output/pydis_core.utils.caching.html15
-rw-r--r--main/output/pydis_core.utils.channel.html11
-rw-r--r--main/output/pydis_core.utils.checks.html21
-rw-r--r--main/output/pydis_core.utils.commands.html9
-rw-r--r--main/output/pydis_core.utils.cooldown.html19
-rw-r--r--main/output/pydis_core.utils.error_handling.html9
-rw-r--r--main/output/pydis_core.utils.function.html83
-rw-r--r--main/output/pydis_core.utils.html32
-rw-r--r--main/output/pydis_core.utils.interactions.html31
-rw-r--r--main/output/pydis_core.utils.lock.html658
-rw-r--r--main/output/pydis_core.utils.logging.html21
-rw-r--r--main/output/pydis_core.utils.members.html11
-rw-r--r--main/output/pydis_core.utils.messages.html9
-rw-r--r--main/output/pydis_core.utils.pagination.html19
-rw-r--r--main/output/pydis_core.utils.paste_service.html21
-rw-r--r--main/output/pydis_core.utils.regex.html13
-rw-r--r--main/output/pydis_core.utils.scheduling.html25
-rw-r--r--main/py-modindex.html13
-rw-r--r--main/search.html7
-rw-r--r--main/searchindex.js2
-rw-r--r--main/versions.html13
32 files changed, 1096 insertions, 148 deletions
diff --git a/main/.buildinfo b/main/.buildinfo
index 832247a5..5a91bad3 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: 2f2c49f56b75074b42c52bd056ced0bc
+config: ef24006ac34d0851960b7eb89cd2738e
tags: 645f666f9bcd5a90fca523b33c5a78b7
diff --git a/main/changelog.html b/main/changelog.html
index 53efb760..297e6799 100644
--- a/main/changelog.html
+++ b/main/changelog.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/changelog.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v10.6.0/changelog.html">v10.6.0</a>
</li>
@@ -447,9 +452,10 @@
<article role="main">
<section id="changelog">
<h1>Changelog<a class="headerlink" href="#changelog" title="Link to this heading">#</a></h1>
-<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">
+<section id="10.7.0">
+<h2 style="margin-bottom: 0.3em;"><a class="reference external" href="https://github.com/python-discord/bot-core/releases/tag/v10.7.0">10.7.0</a> <span style="font-size: 75%;">30th January 2024</span></h2><ul class="simple">
<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/194">#194</a><span>:</span> Add the <a class="reference internal" href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.user_has_access" title="pydis_core.utils.interactions.user_has_access"><code class="xref py py-obj docutils literal notranslate"><span class="pre">pydis_core.utils.interactions.user_has_access</span></code></a> helper function, that returns whether the given user is in the allowed_users list, or has a role from allowed_roles.</p></li>
+<li><p>[<span style="color: #40A056;">Feature</span>]<span> </span><a class="reference external" href="https://github.com/python-discord/bot-core/issues/158">#158</a><span>:</span> Add locking utilities for controlling concurrency logic</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/202">#202</a><span>:</span> Bump various development dependencies and CI workflow action versions</p></li>
</ul>
</section>
diff --git a/main/development.html b/main/development.html
index d45c9c50..3407f0ff 100644
--- a/main/development.html
+++ b/main/development.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/development.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v10.6.0/development.html">v10.6.0</a>
</li>
diff --git a/main/genindex.html b/main/genindex.html
index bac4852d..c5a3bdfc 100644
--- a/main/genindex.html
+++ b/main/genindex.html
@@ -9,8 +9,8 @@
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
@@ -172,6 +172,7 @@
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
@@ -357,6 +358,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v10.6.0/index.html">v10.6.0</a>
</li>
@@ -455,6 +460,10 @@
</li>
<li><a href="output/pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.__contains__">__contains__() (Scheduler method)</a>
</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__enter__">__enter__() (SharedEvent method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__exit__">__exit__() (SharedEvent method)</a>
+</li>
<li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.__init__">__init__() (APIClient method)</a>
<ul>
@@ -472,10 +481,14 @@
</li>
<li><a href="output/pydis_core.html#pydis_core.LinePaginator.__init__">(LinePaginator method)</a>, <a href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator.__init__">[1]</a>
</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.__init__">(LockedResourceError method)</a>
+</li>
<li><a href="output/pydis_core.site_api.html#pydis_core.site_api.ResponseCodeError.__init__">(ResponseCodeError method)</a>
</li>
<li><a href="output/pydis_core.utils.scheduling.html#pydis_core.utils.scheduling.Scheduler.__init__">(Scheduler method)</a>
</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__init__">(SharedEvent method)</a>
+</li>
<li><a href="output/pydis_core.html#pydis_core.StartupError.__init__">(StartupError method)</a>
</li>
<li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__">(ViewWithUserAndRoleCheck method)</a>
@@ -615,10 +628,16 @@
<td style="width: 33%; vertical-align: top;"><ul>
<li><a href="output/pydis_core.site_api.html#pydis_core.site_api.APIClient.get">get() (APIClient method)</a>
</li>
- <li><a href="output/pydis_core.utils.logging.html#pydis_core.utils.logging.get_logger">get_logger() (in module pydis_core.utils.logging)</a>
+ <li><a href="output/pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value">get_arg_value() (in module pydis_core.utils.function)</a>
+</li>
+ <li><a href="output/pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value_wrapper">get_arg_value_wrapper() (in module pydis_core.utils.function)</a>
+</li>
+ <li><a href="output/pydis_core.utils.function.html#pydis_core.utils.function.get_bound_args">get_bound_args() (in module pydis_core.utils.function)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.logging.html#pydis_core.utils.logging.get_logger">get_logger() (in module pydis_core.utils.logging)</a>
+</li>
<li><a href="output/pydis_core.utils.channel.html#pydis_core.utils.channel.get_or_fetch_channel">get_or_fetch_channel() (in module pydis_core.utils.channel)</a>
</li>
<li><a href="output/pydis_core.utils.members.html#pydis_core.utils.members.get_or_fetch_member">get_or_fetch_member() (in module pydis_core.utils.members)</a>
@@ -651,12 +670,14 @@
<h2>I</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="output/pydis_core.utils.checks.html#pydis_core.utils.checks.in_whitelist_check">in_whitelist_check() (in module pydis_core.utils.checks)</a>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.id">id (LockedResourceError attribute)</a>
</li>
- <li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check">interaction_check() (ViewWithUserAndRoleCheck method)</a>
+ <li><a href="output/pydis_core.utils.checks.html#pydis_core.utils.checks.in_whitelist_check">in_whitelist_check() (in module pydis_core.utils.checks)</a>
</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check">interaction_check() (ViewWithUserAndRoleCheck method)</a>
+</li>
<li><a href="output/pydis_core.utils.checks.html#pydis_core.utils.checks.InWhitelistCheckFailure">InWhitelistCheckFailure</a>
</li>
<li><a href="output/pydis_core.utils.channel.html#pydis_core.utils.channel.is_in_category">is_in_category() (in module pydis_core.utils.channel)</a>
@@ -675,9 +696,15 @@
<li><a href="output/pydis_core.utils.pagination.html#pydis_core.utils.pagination.LinePaginator">(class in pydis_core.utils.pagination)</a>
</li>
</ul></li>
+ <li><a href="output/pydis_core.html#pydis_core.BotBase.load_extensions">load_extensions() (BotBase method)</a>
+</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.lock">lock() (in module pydis_core.utils.lock)</a>
+</li>
</ul></td>
<td style="width: 33%; vertical-align: top;"><ul>
- <li><a href="output/pydis_core.html#pydis_core.BotBase.load_extensions">load_extensions() (BotBase method)</a>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.lock_arg">lock_arg() (in module pydis_core.utils.lock)</a>
+</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError">LockedResourceError</a>
</li>
<li><a href="output/pydis_core.utils.logging.html#pydis_core.utils.logging.log_format">log_format (in module pydis_core.utils.logging)</a>
</li>
@@ -749,6 +776,8 @@
</li>
<li><a href="output/pydis_core.utils.interactions.html#module-pydis_core.utils.interactions">pydis_core.utils.interactions</a>
</li>
+ <li><a href="output/pydis_core.utils.lock.html#module-pydis_core.utils.lock">pydis_core.utils.lock</a>
+</li>
<li><a href="output/pydis_core.utils.logging.html#module-pydis_core.utils.logging">pydis_core.utils.logging</a>
</li>
<li><a href="output/pydis_core.utils.members.html#module-pydis_core.utils.members">pydis_core.utils.members</a>
@@ -912,6 +941,13 @@
</li>
</ul></li>
<li>
+ pydis_core.utils.lock
+
+ <ul>
+ <li><a href="output/pydis_core.utils.lock.html#module-pydis_core.utils.lock">module</a>
+</li>
+ </ul></li>
+ <li>
pydis_core.utils.logging
<ul>
@@ -1004,6 +1040,8 @@
</li>
<li><a href="output/pydis_core.html#pydis_core.BotBase.setup_hook">setup_hook() (BotBase method)</a>
</li>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent">SharedEvent (class in pydis_core.utils.lock)</a>
+</li>
<li><a href="output/pydis_core.html#pydis_core.StartupError">StartupError</a>
</li>
<li><a href="output/pydis_core.utils.interactions.html#pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop">stop() (ViewWithUserAndRoleCheck method)</a>
@@ -1019,6 +1057,10 @@
<li><a href="output/pydis_core.utils.logging.html#pydis_core.utils.logging.CustomLogger.trace">trace() (CustomLogger method)</a>
</li>
</ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.type">type (LockedResourceError attribute)</a>
+</li>
+ </ul></td>
</tr></table>
</section>
@@ -1052,6 +1094,10 @@
<h2>W</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%; vertical-align: top;"><ul>
+ <li><a href="output/pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.wait">wait() (SharedEvent method)</a>
+</li>
+ </ul></td>
+ <td style="width: 33%; vertical-align: top;"><ul>
<li><a href="output/pydis_core.html#pydis_core.BotBase.wait_until_guild_available">wait_until_guild_available() (BotBase method)</a>
</li>
</ul></td>
diff --git a/main/index.html b/main/index.html
index a4a200ff..83ee9be2 100644
--- a/main/index.html
+++ b/main/index.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v10.6.0/index.html">v10.6.0</a>
</li>
diff --git a/main/index_redirect.html b/main/index_redirect.html
index 8a7bc629..fff9f22a 100644
--- a/main/index_redirect.html
+++ b/main/index_redirect.html
@@ -14,8 +14,8 @@
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
diff --git a/main/objects.inv b/main/objects.inv
index 32dc8960..debead38 100644
--- a/main/objects.inv
+++ b/main/objects.inv
Binary files differ
diff --git a/main/output/pydis_core.async_stats.html b/main/output/pydis_core.async_stats.html
index 0a455d51..c4e77dbf 100644
--- a/main/output/pydis_core.async_stats.html
+++ b/main/output/pydis_core.async_stats.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.async_stats.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.async_stats.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -472,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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.exts.html b/main/output/pydis_core.exts.html
index a8816920..abb43298 100644
--- a/main/output/pydis_core.exts.html
+++ b/main/output/pydis_core.exts.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.exts.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.exts.html">v10.6.0</a>
</li>
diff --git a/main/output/pydis_core.html b/main/output/pydis_core.html
index 3a6fede7..0b48e8ab 100644
--- a/main/output/pydis_core.html
+++ b/main/output/pydis_core.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L35-L313"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L35-L313"><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 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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L38-L89"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L38-L89"><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>
@@ -474,7 +479,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L168-L172"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L168-L172"><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>
@@ -485,7 +490,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L173-L177"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L173-L177"><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>
@@ -496,7 +501,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L193-L196"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L193-L196"><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>
@@ -507,7 +512,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L282-L313"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L282-L313"><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>
@@ -518,7 +523,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L136-L146"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L136-L146"><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>
@@ -532,7 +537,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L221-L223"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L221-L223"><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>
@@ -543,7 +548,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L204-L220"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L204-L220"><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>
@@ -556,7 +561,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L197-L203"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L197-L203"><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>
@@ -567,7 +572,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L279-L281"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L279-L281"><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>
@@ -578,7 +583,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L233-L242"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L233-L242"><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">
@@ -590,7 +595,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L178-L192"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L178-L192"><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>
@@ -603,7 +608,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L243-L278"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L243-L278"><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>
@@ -617,7 +622,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/_bot.py#L224-L232"><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/07f517225fc59157233f74edb136ee39046fda00/pydis_core/_bot.py#L224-L232"><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>
@@ -632,14 +637,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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">
@@ -656,14 +661,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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
@@ -691,7 +696,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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
@@ -735,7 +740,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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">
@@ -762,12 +767,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -817,6 +822,9 @@ mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a><ul>
<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.GlobalNameConflictError"><code class="docutils literal notranslate"><span class="pre">GlobalNameConflictError</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.command_wraps"><code class="docutils literal notranslate"><span class="pre">command_wraps()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value"><code class="docutils literal notranslate"><span class="pre">get_arg_value()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value_wrapper"><code class="docutils literal notranslate"><span class="pre">get_arg_value_wrapper()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_bound_args"><code class="docutils literal notranslate"><span class="pre">get_bound_args()</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.update_wrapper_globals"><code class="docutils literal notranslate"><span class="pre">update_wrapper_globals()</span></code></a></li>
</ul>
</li>
@@ -826,6 +834,13 @@ mapping of field names to [<cite>FieldInfo</cite>][pydantic.fields.FieldInfo].</
<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.user_has_access"><code class="docutils literal notranslate"><span class="pre">user_has_access()</span></code></a></li>
</ul>
</li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError"><code class="docutils literal notranslate"><span class="pre">LockedResourceError</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent"><code class="docutils literal notranslate"><span class="pre">SharedEvent</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.lock"><code class="docutils literal notranslate"><span class="pre">lock()</span></code></a></li>
+<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.lock_arg"><code class="docutils literal notranslate"><span class="pre">lock_arg()</span></code></a></li>
+</ul>
+</li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a><ul>
<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.logging.html#pydis_core.utils.logging.CustomLogger"><code class="docutils literal notranslate"><span class="pre">CustomLogger</span></code></a></li>
<li class="toctree-l4"><a class="reference internal" href="pydis_core.utils.logging.html#pydis_core.utils.logging.get_logger"><code class="docutils literal notranslate"><span class="pre">get_logger()</span></code></a></li>
diff --git a/main/output/pydis_core.site_api.html b/main/output/pydis_core.site_api.html
index 8b2dee27..9a198452 100644
--- a/main/output/pydis_core.site_api.html
+++ b/main/output/pydis_core.site_api.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.site_api.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.site_api.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -470,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -481,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -492,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -503,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -523,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -534,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -545,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -556,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -583,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -603,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 b1f42a6f..67ee0ddc 100644
--- a/main/output/pydis_core.utils.caching.html
+++ b/main/output/pydis_core.utils.caching.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.caching.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.caching.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -474,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -485,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 3e437e50..7210cf9d 100644
--- a/main/output/pydis_core.utils.channel.html
+++ b/main/output/pydis_core.utils.channel.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.channel.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.channel.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -478,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 f6e61a6a..3ef80b0a 100644
--- a/main/output/pydis_core.utils.checks.html
+++ b/main/output/pydis_core.utils.checks.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.checks.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.checks.html">v10.6.0</a>
</li>
@@ -449,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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">
@@ -494,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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">
@@ -515,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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">
@@ -536,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 5471ce51..d0a4a341 100644
--- a/main/output/pydis_core.utils.commands.html
+++ b/main/output/pydis_core.utils.commands.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.commands.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.commands.html">v10.6.0</a>
</li>
@@ -449,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 4b90ce81..674fd236 100644
--- a/main/output/pydis_core.utils.cooldown.html
+++ b/main/output/pydis_core.utils.cooldown.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.cooldown.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.cooldown.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -476,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 1f519113..0e6dc049 100644
--- a/main/output/pydis_core.utils.error_handling.html
+++ b/main/output/pydis_core.utils.error_handling.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.error_handling.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.error_handling.html">v10.6.0</a>
</li>
@@ -449,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 1bd813ad..806647fc 100644
--- a/main/output/pydis_core.utils.function.html
+++ b/main/output/pydis_core.utils.function.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.function.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.function.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/utils/function.py#L18-L20"><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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/utils/function.py#L81-L112"><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/07f517225fc59157233f74edb136ee39046fda00/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">
@@ -480,8 +485,75 @@ with the wrapper replaced with the function <a class="reference internal" href="
</dd></dl>
<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/07f517225fc59157233f74edb136ee39046fda00/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>
+<dd class="field-odd"><p><strong>arguments</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.OrderedDict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">OrderedDict</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]</span>) – An ordered mapping of parameter names to argument values.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a></span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>Value from <cite>arguments</cite> based on a name or position.</p>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><ul class="simple">
+<li><p><a class="reference external" href="https://docs.python.org/3/library/exceptions.html#TypeError" title="(in Python v3.12)"><strong>TypeError</strong></a> – <cite>name_or_pos</cite> isn’t a str or int.</p></li>
+<li><p><a class="reference external" href="https://docs.python.org/3/library/exceptions.html#ValueError" title="(in Python v3.12)"><strong>ValueError</strong></a> – <cite>name_or_pos</cite> does not match any argument.</p></li>
+</ul>
+</dd>
+</dl>
+</dd></dl>
+
+<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/07f517225fc59157233f74edb136ee39046fda00/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>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>decorator_func</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.OrderedDict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">OrderedDict</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>]]</span>) – A function that must accept a callable as a parameter to which it will pass a mapping of
+parameter names to argument values of the function it’s decorating.</p></li>
+<li><p><strong>name_or_pos</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/functions.html#int" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">int</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a></span>) – The name/position of the arg to get the value from.</p></li>
+<li><p><strong>func</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Optional" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Optional</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]]</span>) – An optional callable which will return a new value given the argument’s value.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>], <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a>]</span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>The decorator returned by <cite>decorator_func</cite>.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<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/07f517225fc59157233f74edb136ee39046fda00/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">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>args</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#tuple" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">tuple</span></code></a></span>) – The arguments to bind to <code class="docutils literal notranslate"><span class="pre">func</span></code></p></li>
+<li><p><strong>kwargs</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#dict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">dict</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]</span>) – The keyword arguments to bind to <code class="docutils literal notranslate"><span class="pre">func</span></code></p></li>
+<li><p><strong>func</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Callable" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Callable</span></code></a></span>) – The function to bind <code class="docutils literal notranslate"><span class="pre">args</span></code> and <code class="docutils literal notranslate"><span class="pre">kwargs</span></code> to</p></li>
+</ul>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.OrderedDict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">OrderedDict</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]</span></p>
+</dd>
+<dt class="field-odd">Returns<span class="colon">:</span></dt>
+<dd class="field-odd"><p>A mapping of parameter names to argument values.</p>
+</dd>
+</dl>
+</dd></dl>
+
+<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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/utils/function.py#L22-L79"><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/07f517225fc59157233f74edb136ee39046fda00/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
@@ -569,6 +641,9 @@ changes won’t be reflected in the new function’s globals.</p>
<li><a class="reference internal" href="#">function</a><ul>
<li><a class="reference internal" href="#pydis_core.utils.function.GlobalNameConflictError"><code class="docutils literal notranslate"><span class="pre">GlobalNameConflictError</span></code></a></li>
<li><a class="reference internal" href="#pydis_core.utils.function.command_wraps"><code class="docutils literal notranslate"><span class="pre">command_wraps()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.function.get_arg_value"><code class="docutils literal notranslate"><span class="pre">get_arg_value()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.function.get_arg_value_wrapper"><code class="docutils literal notranslate"><span class="pre">get_arg_value_wrapper()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.function.get_bound_args"><code class="docutils literal notranslate"><span class="pre">get_bound_args()</span></code></a></li>
<li><a class="reference internal" href="#pydis_core.utils.function.update_wrapper_globals"><code class="docutils literal notranslate"><span class="pre">update_wrapper_globals()</span></code></a></li>
</ul>
</li>
diff --git a/main/output/pydis_core.utils.html b/main/output/pydis_core.utils.html
index 4991d723..1dcf669a 100644
--- a/main/output/pydis_core.utils.html
+++ b/main/output/pydis_core.utils.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/pydis_core/utils/__init__.py#L24-L38"><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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -469,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -536,6 +541,9 @@ that will act as top-level groups rather than being aliases of the command’s g
<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.function.html">function</a><ul>
<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.GlobalNameConflictError"><code class="docutils literal notranslate"><span class="pre">GlobalNameConflictError</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.command_wraps"><code class="docutils literal notranslate"><span class="pre">command_wraps()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value"><code class="docutils literal notranslate"><span class="pre">get_arg_value()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_arg_value_wrapper"><code class="docutils literal notranslate"><span class="pre">get_arg_value_wrapper()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.get_bound_args"><code class="docutils literal notranslate"><span class="pre">get_bound_args()</span></code></a></li>
<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.function.html#pydis_core.utils.function.update_wrapper_globals"><code class="docutils literal notranslate"><span class="pre">update_wrapper_globals()</span></code></a></li>
</ul>
</li>
@@ -555,6 +563,24 @@ that will act as top-level groups rather than being aliases of the command’s g
<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.interactions.html#pydis_core.utils.interactions.user_has_access"><code class="docutils literal notranslate"><span class="pre">user_has_access()</span></code></a></li>
</ul>
</li>
+<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError"><code class="docutils literal notranslate"><span class="pre">LockedResourceError</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.type"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.type</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.id"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.id</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.LockedResourceError.__init__"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.__init__()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent"><code class="docutils literal notranslate"><span class="pre">SharedEvent</span></code></a><ul>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__enter__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__enter__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__exit__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__exit__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.__init__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__init__()</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.SharedEvent.wait"><code class="docutils literal notranslate"><span class="pre">SharedEvent.wait()</span></code></a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.lock"><code class="docutils literal notranslate"><span class="pre">lock()</span></code></a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.lock.html#pydis_core.utils.lock.lock_arg"><code class="docutils literal notranslate"><span class="pre">lock_arg()</span></code></a></li>
+</ul>
+</li>
<li class="toctree-l1"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a><ul>
<li class="toctree-l2"><a class="reference internal" href="pydis_core.utils.logging.html#pydis_core.utils.logging.CustomLogger"><code class="docutils literal notranslate"><span class="pre">CustomLogger</span></code></a><ul>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html#pydis_core.utils.logging.CustomLogger.trace"><code class="docutils literal notranslate"><span class="pre">CustomLogger.trace()</span></code></a></li>
diff --git a/main/output/pydis_core.utils.interactions.html b/main/output/pydis_core.utils.interactions.html
index c386688c..6205ed37 100644
--- a/main/output/pydis_core.utils.interactions.html
+++ b/main/output/pydis_core.utils.interactions.html
@@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
-<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="logging" href="pydis_core.utils.logging.html" /><link rel="prev" title="function" href="pydis_core.utils.function.html" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="lock" href="pydis_core.utils.lock.html" /><link rel="prev" title="function" href="pydis_core.utils.function.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
<title>interactions - Pydis Core Latest (10.6.0)</title>
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.interactions.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.interactions.html">v10.6.0</a>
</li>
@@ -449,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -464,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -482,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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">
@@ -499,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -518,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -529,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -542,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -565,12 +570,12 @@ If <code class="docutils literal notranslate"><span class="pre">None</span></cod
<footer>
<div class="related-pages">
- <a class="next-page" href="pydis_core.utils.logging.html">
+ <a class="next-page" href="pydis_core.utils.lock.html">
<div class="page-info">
<div class="context">
<span>Next</span>
</div>
- <div class="title">logging</div>
+ <div class="title">lock</div>
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
diff --git a/main/output/pydis_core.utils.lock.html b/main/output/pydis_core.utils.lock.html
new file mode 100644
index 00000000..a2a7e2ef
--- /dev/null
+++ b/main/output/pydis_core.utils.lock.html
@@ -0,0 +1,658 @@
+<!doctype html>
+<html class="no-js" lang="en" data-content_root="../">
+ <head><meta charset="utf-8"/>
+ <meta name="viewport" content="width=device-width,initial-scale=1"/>
+ <meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="logging" href="pydis_core.utils.logging.html" /><link rel="prev" title="interactions" href="pydis_core.utils.interactions.html" />
+
+ <link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
+ <title>lock - Pydis Core Latest (10.6.0)</title>
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
+ <link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
+ <link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
+ <link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
+
+
+
+
+<style>
+ body {
+ --color-code-background: #f8f8f8;
+ --color-code-foreground: black;
+ --color-api-name: var(--color-link);
+
+ }
+ @media not print {
+ body[data-theme="dark"] {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ @media (prefers-color-scheme: dark) {
+ body:not([data-theme="light"]) {
+ --color-code-background: #202020;
+ --color-code-foreground: #d0d0d0;
+
+ }
+ }
+ }
+</style></head>
+ <body>
+
+ <script>
+ document.body.dataset.theme = localStorage.getItem("theme") || "auto";
+ </script>
+
+
+<svg xmlns="http://www.w3.org/2000/svg" style="display: none;">
+ <symbol id="svg-toc" viewBox="0 0 24 24">
+ <title>Contents</title>
+ <svg stroke="currentColor" fill="currentColor" stroke-width="0" viewBox="0 0 1024 1024">
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM115.4 518.9L271.7 642c5.8 4.6 14.4.5 14.4-6.9V388.9c0-7.4-8.5-11.5-14.4-6.9L115.4 505.1a8.74 8.74 0 0 0 0 13.8z"/>
+ </svg>
+ </symbol>
+ <symbol id="svg-menu" viewBox="0 0 24 24">
+ <title>Menu</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-menu">
+ <line x1="3" y1="12" x2="21" y2="12"></line>
+ <line x1="3" y1="6" x2="21" y2="6"></line>
+ <line x1="3" y1="18" x2="21" y2="18"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-arrow-right" viewBox="0 0 24 24">
+ <title>Expand</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather-chevron-right">
+ <polyline points="9 18 15 12 9 6"></polyline>
+ </svg>
+ </symbol>
+ <symbol id="svg-sun" viewBox="0 0 24 24">
+ <title>Light mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="feather-sun">
+ <circle cx="12" cy="12" r="5"></circle>
+ <line x1="12" y1="1" x2="12" y2="3"></line>
+ <line x1="12" y1="21" x2="12" y2="23"></line>
+ <line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line>
+ <line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line>
+ <line x1="1" y1="12" x2="3" y2="12"></line>
+ <line x1="21" y1="12" x2="23" y2="12"></line>
+ <line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line>
+ <line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line>
+ </svg>
+ </symbol>
+ <symbol id="svg-moon" viewBox="0 0 24 24">
+ <title>Dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-moon">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none" />
+ <path d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z" />
+ </svg>
+ </symbol>
+ <symbol id="svg-sun-half" viewBox="0 0 24 24">
+ <title>Auto light/dark mode</title>
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor"
+ stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="icon-tabler-shadow">
+ <path stroke="none" d="M0 0h24v24H0z" fill="none"/>
+ <circle cx="12" cy="12" r="9" />
+ <path d="M13 12h5" />
+ <path d="M13 15h4" />
+ <path d="M13 18h1" />
+ <path d="M13 9h4" />
+ <path d="M13 6h1" />
+ </svg>
+ </symbol>
+</svg>
+
+<input type="checkbox" class="sidebar-toggle" name="__navigation" id="__navigation">
+<input type="checkbox" class="sidebar-toggle" name="__toc" id="__toc">
+<label class="overlay sidebar-overlay" for="__navigation">
+ <div class="visually-hidden">Hide navigation sidebar</div>
+</label>
+<label class="overlay toc-overlay" for="__toc">
+ <div class="visually-hidden">Hide table of contents sidebar</div>
+</label>
+
+
+
+<div class="page">
+ <header class="mobile-header">
+ <div class="header-left">
+ <label class="nav-overlay-icon" for="__navigation">
+ <div class="visually-hidden">Toggle site navigation sidebar</div>
+ <i class="icon"><svg><use href="#svg-menu"></use></svg></i>
+ </label>
+ </div>
+ <div class="header-center">
+ <a href="../index.html"><div class="brand">Pydis Core Latest (10.6.0)</div></a>
+ </div>
+ <div class="header-right">
+ <div class="theme-toggle-container theme-toggle-header">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-header-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ </header>
+ <aside class="sidebar-drawer">
+ <div class="sidebar-container">
+
+ <div class="sidebar-sticky"><a class="sidebar-brand" href="../index.html">
+
+ <div class="sidebar-logo-container">
+ <img class="sidebar-logo" src="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg" alt="Logo"/>
+ </div>
+
+ <span class="sidebar-brand-text">Pydis Core Latest (10.6.0)</span>
+
+</a><form class="sidebar-search-container" method="get" action="../search.html" role="search">
+ <input class="sidebar-search" placeholder="Search" name="q" aria-label="Search">
+ <input type="hidden" name="check_keywords" value="yes">
+ <input type="hidden" name="area" value="default">
+</form>
+<div id="searchbox"></div><div class="sidebar-scroll"><div class="sidebar-tree">
+ <p class="caption" role="heading"><span class="caption-text">Modules:</span></p>
+<ul class="current">
+<li class="toctree-l1 current has-children"><a class="reference internal" href="pydis_core.html">Pydis Core</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" role="switch" type="checkbox"/><label for="toctree-checkbox-1"><div class="visually-hidden">Toggle navigation of Pydis Core</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.exts.html">Exts</a></li>
+<li class="toctree-l2 current has-children"><a class="reference internal" href="pydis_core.utils.html">Utils</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" role="switch" type="checkbox"/><label for="toctree-checkbox-2"><div class="visually-hidden">Toggle navigation of Utils</div><i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i></label><ul class="current">
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.caching.html">caching</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.channel.html">channel</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.checks.html">checks</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.commands.html">commands</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.cooldown.html">cooldown</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">lock</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.pagination.html">pagination</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.paste_service.html">paste_service</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.regex.html">regex</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.scheduling.html">scheduling</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.async_stats.html">async_stats</a></li>
+<li class="toctree-l2"><a class="reference internal" href="pydis_core.site_api.html">site_api</a></li>
+</ul>
+</li>
+</ul>
+<p class="caption" role="heading"><span class="caption-text">Other:</span></p>
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="../development.html">Local Development &amp; Testing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../changelog.html">Changelog</a></li>
+</ul>
+
+
+
+
+ <ul>
+ <li class="toctree-l1 has-children ">
+
+ <a class="reference internal" href="../versions.html">Versions</a>
+ <input class="toctree-checkbox" id="toctree-checkbox-versions" name="toctree-checkbox-versions" role="switch" type="checkbox">
+ <label for="toctree-checkbox-versions">
+ <div class="visually-hidden">Toggle child pages in navigation</div>
+ <i class="icon"><svg><use href="#svg-arrow-right"></use></svg></i>
+ </label>
+
+
+ <ul>
+
+ <li class="toctree-l2 current-page">
+ <a class="version_link reference internal" href="pydis_core.utils.lock.html">main</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.2/index.html">v9.9.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.1/index.html">v9.9.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.9.0/index.html">v9.9.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.8.0/index.html">v9.8.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.7.0/index.html">v9.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.6.0/index.html">v9.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.1/index.html">v9.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.5.0/index.html">v9.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.1/index.html">v9.4.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.4.0/index.html">v9.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.3.0/index.html">v9.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.2.0/index.html">v9.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.2/index.html">v9.10.0-alpha.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.10.0-alpha.1/index.html">v9.10.0-alpha.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.1.1/index.html">v9.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v9.0.0/index.html">v9.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v8.3.0-beta/index.html">v8.3.0-beta</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v8.2.1/index.html">v8.2.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v8.2.0/index.html">v8.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v8.1.0/index.html">v8.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v8.0.0-beta.4/index.html">v8.0.0-beta.4</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v8.0.0-beta.3/index.html">v8.0.0-beta.3</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v8.0.0-beta.2/index.html">v8.0.0-beta.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v8.0.0-beta.1/index.html">v8.0.0-beta.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v8.0.0/index.html">v8.0.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v7.5.0/index.html">v7.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v7.4.0-beta1/index.html">v7.4.0-beta1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v7.4.0/index.html">v7.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v7.3.1/index.html">v7.3.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v7.3.0/index.html">v7.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v7.2.2/index.html">v7.2.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v7.2.1/index.html">v7.2.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v7.2.0/index.html">v7.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v7.1.3/index.html">v7.1.3</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v7.1.2/index.html">v7.1.2</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v7.1.1/index.html">v7.1.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.lock.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.6.0/index.html">v10.6.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.1/index.html">v10.5.1</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.5.0/index.html">v10.5.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.4.0/index.html">v10.4.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.3.0/index.html">v10.3.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.2.0/index.html">v10.2.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.1.0/index.html">v10.1.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.0.0/index.html">v10.0.0</a>
+ </li>
+
+
+ <script>
+ // Make sure we keep any hyperlinked resources when switching version
+ function updateHash() {
+ for (let tag of document.getElementsByClassName("version_link")) {
+ // Extract the original URL
+ let destination = tag.getAttribute("href");
+ if (destination.indexOf("#") !== -1) {
+ destination = destination.slice(0, destination.indexOf("#"));
+ }
+
+ // Update the url with the current hash
+ tag.setAttribute("href", destination + document.location.hash);
+ }
+ }
+
+ updateHash();
+ addEventListener("hashchange", _ => { updateHash() });
+ </script>
+ </ul>
+ </li>
+ </ul>
+
+</div>
+</div>
+
+ </div>
+
+ </div>
+ </aside>
+ <div class="main">
+ <div class="content">
+ <div class="article-container">
+ <a href="#" class="back-to-top muted-link">
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
+ <path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12z"></path>
+ </svg>
+ <span>Back to top</span>
+ </a>
+ <div class="content-icon-container">
+
+<div class="theme-toggle-container theme-toggle-content">
+ <button class="theme-toggle">
+ <div class="visually-hidden">Toggle Light / Dark / Auto color theme</div>
+ <svg class="theme-icon-when-auto"><use href="#svg-sun-half"></use></svg>
+ <svg class="theme-icon-when-dark"><use href="#svg-moon"></use></svg>
+ <svg class="theme-icon-when-light"><use href="#svg-sun"></use></svg>
+ </button>
+ </div>
+ <label class="toc-overlay-icon toc-content-icon" for="__toc">
+ <div class="visually-hidden">Toggle table of contents sidebar</div>
+ <i class="icon"><svg><use href="#svg-toc"></use></svg></i>
+ </label>
+ </div>
+ <article role="main">
+ <section id="module-pydis_core.utils.lock">
+<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/07f517225fc59157233f74edb136ee39046fda00/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/07f517225fc59157233f74edb136ee39046fda00/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>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)">str</a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<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/07f517225fc59157233f74edb136ee39046fda00/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>
+<dd class="field-odd"><p><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Hashable" title="(in Python v3.12)"><em>Hashable</em></a></p>
+</dd>
+</dl>
+</dd></dl>
+
+<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/07f517225fc59157233f74edb136ee39046fda00/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/07f517225fc59157233f74edb136ee39046fda00/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/07f517225fc59157233f74edb136ee39046fda00/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/07f517225fc59157233f74edb136ee39046fda00/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/07f517225fc59157233f74edb136ee39046fda00/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/07f517225fc59157233f74edb136ee39046fda00/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>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/constants.html#None" title="(in Python v3.12)"><code class="xref py py-obj docutils literal notranslate"><span class="pre">None</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</dd></dl>
+
+<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/07f517225fc59157233f74edb136ee39046fda00/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">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><ul class="simple">
+<li><p><strong>namespace</strong> (<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Hashable" title="(in Python v3.12)"><em>Hashable</em></a>) – An identifier used to prevent collisions among resource IDs.</p></li>
+<li><p><strong>resource_id</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.OrderedDict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">OrderedDict</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">str</span></code></a>, <a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>]], <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Awaitable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Awaitable</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a>]]</span>) – identifies a resource on which to perform a mutually exclusive operation.
+It may also be a callable or awaitable which will return the resource ID given an ordered
+mapping of the parameters’ names to arguments’ values.</p></li>
+<li><p><strong>raise_error</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – If True, raise <cite>LockedResourceError</cite> if the lock cannot be acquired.</p></li>
+<li><p><strong>wait</strong> (<a class="reference external" href="https://docs.python.org/3/library/functions.html#bool" title="(in Python v3.12)"><em>bool</em></a>) – If True, wait until the lock becomes available. Otherwise, if any other mutually
+exclusive function currently holds the lock for a resource, do not run the decorated function
+and return None.</p></li>
+</ul>
+</dd>
+<dt class="field-even">Raises<span class="colon">:</span></dt>
+<dd class="field-even"><p><a class="reference internal" href="#pydis_core.utils.lock.LockedResourceError" title="pydis_core.utils.lock.LockedResourceError"><strong>LockedResourceError</strong></a> – If the lock can’t be acquired and <cite>raise_error</cite> is set to True.</p>
+</dd>
+<dt class="field-odd">Return type<span class="colon">:</span></dt>
+<dd class="field-odd"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+<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/07f517225fc59157233f74edb136ee39046fda00/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">
+<dt class="field-odd">Parameters<span class="colon">:</span></dt>
+<dd class="field-odd"><p><strong>func</strong> (<span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Optional" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Optional</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a>[[<a class="reference external" href="https://docs.python.org/3/library/typing.html#typing.Any" title="(in Python v3.12)"><code class="xref py py-data docutils literal notranslate"><span class="pre">Any</span></code></a>], <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a> | <a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Awaitable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Awaitable</span></code></a>[<a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Hashable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Hashable</span></code></a>]]]</span>) – An optional callable or awaitable which will return the ID given the argument value.</p>
+</dd>
+<dt class="field-even">Return type<span class="colon">:</span></dt>
+<dd class="field-even"><p><span class="sphinx_autodoc_typehints-type"><a class="reference external" href="https://docs.python.org/3/library/collections.abc.html#collections.abc.Callable" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">Callable</span></code></a></span></p>
+</dd>
+</dl>
+</dd></dl>
+
+</section>
+
+ </article>
+ </div>
+ <footer>
+
+ <div class="related-pages">
+ <a class="next-page" href="pydis_core.utils.logging.html">
+ <div class="page-info">
+ <div class="context">
+ <span>Next</span>
+ </div>
+ <div class="title">logging</div>
+ </div>
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ </a>
+ <a class="prev-page" href="pydis_core.utils.interactions.html">
+ <svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
+ <div class="page-info">
+ <div class="context">
+ <span>Previous</span>
+ </div>
+
+ <div class="title">interactions</div>
+
+ </div>
+ </a>
+ </div>
+ <div class="bottom-of-page">
+ <div class="left-details">
+ <div class="copyright">
+ Copyright &#169; 2021, Python Discord
+ </div>
+ Made with <a href="https://www.sphinx-doc.org/">Sphinx</a> and <a class="muted-link" href="https://pradyunsg.me">@pradyunsg</a>'s
+
+ <a href="https://github.com/pradyunsg/furo">Furo</a>
+
+ </div>
+ <div class="right-details">
+
+ </div>
+ </div>
+
+ </footer>
+ </div>
+ <aside class="toc-drawer">
+
+
+ <div class="toc-sticky toc-scroll">
+ <div class="toc-title-container">
+ <span class="toc-title">
+ On this page
+ </span>
+ </div>
+ <div class="toc-tree-container">
+ <div class="toc-tree">
+ <ul>
+<li><a class="reference internal" href="#">lock</a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.lock.LockedResourceError"><code class="docutils literal notranslate"><span class="pre">LockedResourceError</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.lock.LockedResourceError.type"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.type</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.LockedResourceError.id"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.id</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.LockedResourceError.__init__"><code class="docutils literal notranslate"><span class="pre">LockedResourceError.__init__()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.SharedEvent"><code class="docutils literal notranslate"><span class="pre">SharedEvent</span></code></a><ul>
+<li><a class="reference internal" href="#pydis_core.utils.lock.SharedEvent.__enter__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__enter__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.SharedEvent.__exit__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__exit__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.SharedEvent.__init__"><code class="docutils literal notranslate"><span class="pre">SharedEvent.__init__()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.SharedEvent.wait"><code class="docutils literal notranslate"><span class="pre">SharedEvent.wait()</span></code></a></li>
+</ul>
+</li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.lock"><code class="docutils literal notranslate"><span class="pre">lock()</span></code></a></li>
+<li><a class="reference internal" href="#pydis_core.utils.lock.lock_arg"><code class="docutils literal notranslate"><span class="pre">lock_arg()</span></code></a></li>
+</ul>
+</li>
+</ul>
+
+ </div>
+ </div>
+ </div>
+
+
+ </aside>
+ </div>
+</div><script src="../_static/documentation_options.js?v=ccd73373"></script>
+ <script src="../_static/doctools.js?v=888ff710"></script>
+ <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
+ <script src="../_static/scripts/furo.js?v=32e29ea5"></script>
+ <script src="../_static/changelog.js?v=11ff7913"></script>
+ </body>
+</html> \ No newline at end of file
diff --git a/main/output/pydis_core.utils.logging.html b/main/output/pydis_core.utils.logging.html
index e74be22d..90705d5d 100644
--- a/main/output/pydis_core.utils.logging.html
+++ b/main/output/pydis_core.utils.logging.html
@@ -3,7 +3,7 @@
<head><meta charset="utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1"/>
<meta name="color-scheme" content="light dark"><meta name="viewport" content="width=device-width, initial-scale=1" />
-<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="members" href="pydis_core.utils.members.html" /><link rel="prev" title="interactions" href="pydis_core.utils.interactions.html" />
+<link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="members" href="pydis_core.utils.members.html" /><link rel="prev" title="lock" href="pydis_core.utils.lock.html" />
<link rel="shortcut icon" href="https://raw.githubusercontent.com/python-discord/branding/main/logos/logo_full/logo_full.min.svg"/><!-- Generated with Sphinx 7.2.6 and Furo 2024.01.29 -->
<title>logging - Pydis Core Latest (10.6.0)</title>
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.logging.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.logging.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -479,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -496,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -518,14 +523,14 @@
</div>
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
</a>
- <a class="prev-page" href="pydis_core.utils.interactions.html">
+ <a class="prev-page" href="pydis_core.utils.lock.html">
<svg class="furo-related-icon"><use href="#svg-arrow-right"></use></svg>
<div class="page-info">
<div class="context">
<span>Previous</span>
</div>
- <div class="title">interactions</div>
+ <div class="title">lock</div>
</div>
</a>
diff --git a/main/output/pydis_core.utils.members.html b/main/output/pydis_core.utils.members.html
index cc926c08..1067f13d 100644
--- a/main/output/pydis_core.utils.members.html
+++ b/main/output/pydis_core.utils.members.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.members.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.members.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -464,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 c24b0e62..daee61d3 100644
--- a/main/output/pydis_core.utils.messages.html
+++ b/main/output/pydis_core.utils.messages.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3 current current-page"><a class="current reference internal" href="#">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.messages.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.messages.html">v10.6.0</a>
</li>
@@ -449,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 dc9dd2a1..941111a5 100644
--- a/main/output/pydis_core.utils.pagination.html
+++ b/main/output/pydis_core.utils.pagination.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.pagination.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.pagination.html">v10.6.0</a>
</li>
@@ -449,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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">
@@ -473,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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
@@ -508,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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
@@ -552,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 c3d90a3a..331d29b7 100644
--- a/main/output/pydis_core.utils.paste_service.html
+++ b/main/output/pydis_core.utils.paste_service.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.paste_service.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.paste_service.html">v10.6.0</a>
</li>
@@ -449,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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">
@@ -491,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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">
@@ -526,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 36f3ffff..7d7f8008 100644
--- a/main/output/pydis_core.utils.regex.html
+++ b/main/output/pydis_core.utils.regex.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.regex.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.regex.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -464,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -472,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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 3a317ae8..f386ac17 100644
--- a/main/output/pydis_core.utils.scheduling.html
+++ b/main/output/pydis_core.utils.scheduling.html
@@ -11,8 +11,8 @@
<link rel="stylesheet" type="text/css" href="../_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="../_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="../_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="../_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="../_static/logo.css?v=41ebe54c" />
@@ -174,6 +174,7 @@
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="pydis_core.utils.messages.html">messages</a></li>
@@ -359,6 +360,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../../v10.7.0/output/pydis_core.utils.scheduling.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../../v10.6.0/output/pydis_core.utils.scheduling.html">v10.6.0</a>
</li>
@@ -450,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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
@@ -464,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -481,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -492,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -506,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -517,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -536,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -559,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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>
@@ -581,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/c7b614025e9c3faf3b16bb019f28979e7ce74b26/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/07f517225fc59157233f74edb136ee39046fda00/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/py-modindex.html b/main/py-modindex.html
index 5fb240be..2adbf333 100644
--- a/main/py-modindex.html
+++ b/main/py-modindex.html
@@ -9,8 +9,8 @@
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
@@ -172,6 +172,7 @@
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
@@ -357,6 +358,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v10.6.0/index.html">v10.6.0</a>
</li>
@@ -536,6 +541,12 @@
<tr class="cg-1">
<td></td>
<td>&#160;&#160;&#160;
+ <a href="output/pydis_core.utils.lock.html#module-pydis_core.utils.lock"><code class="xref">pydis_core.utils.lock</code></a></td><td>
+ <em></em></td>
+ </tr>
+ <tr class="cg-1">
+ <td></td>
+ <td>&#160;&#160;&#160;
<a href="output/pydis_core.utils.logging.html#module-pydis_core.utils.logging"><code class="xref">pydis_core.utils.logging</code></a></td><td>
<em></em></td>
</tr>
diff --git a/main/search.html b/main/search.html
index 909ac2f6..e9c237c5 100644
--- a/main/search.html
+++ b/main/search.html
@@ -8,8 +8,8 @@
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
@@ -171,6 +171,7 @@
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
@@ -356,6 +357,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v10.6.0/index.html">v10.6.0</a>
</li>
diff --git a/main/searchindex.js b/main/searchindex.js
index a8f77d0b..89ccd443 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.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.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", "logging", "members", "messages", "pagination", "paste_service", "regex", "scheduling"], "terms": {"next": [0, 3, 19], "10": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "194": 0, "add": [0, 3, 10, 12, 19], "pydis_cor": [0, 1, 3, 15, 16], "util": [0, 1, 2, 3, 8, 14, 15, 16], "interact": [0, 3, 7, 9, 19], "user_has_access": [0, 3, 7, 15], "helper": [0, 9, 12, 17], "function": [0, 3, 7, 8, 9, 12, 16, 17, 19, 22], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "whether": [0, 3, 6, 9, 10, 15, 19], "given": [0, 3, 4, 7, 9, 11, 16, 17, 22], "user": [0, 3, 10, 12, 15, 18, 19], "i": [0, 1, 3, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "allowed_us": [0, 15, 18], "list": [0, 1, 3, 15, 19, 20], "ha": [0, 7, 10, 15], "role": [0, 1, 3, 10, 15, 17, 18, 19], "from": [0, 1, 3, 4, 6, 7, 9, 14, 15, 17, 19, 20, 22], "allowed_rol": [0, 1, 3, 15, 18, 19], "support": [0, 4, 7, 22], "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, "0": [0, 8, 10, 15, 16], "30th": 0, "januari": 0, "2024": 0, "199": 0, "port": [0, 4], "common": [0, 1, 3, 7, 16, 21], "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 17, 19, 21], "command": [0, 1, 3, 7, 9, 10, 12, 14, 19], "check": [0, 3, 6, 7, 9, 12, 13, 15, 18, 22], "other": [0, 1, 22], "bot": [0, 1, 3, 7, 9, 18], "189": 0, "messag": [0, 3, 7, 11, 12, 13, 15, 16, 19, 22], "reaction_check": [0, 3, 7, 18], "predic": 0, "dictat": 0, "right": [0, 3, 19], "specif": [0, 10], "set": [0, 1, 3, 12, 14, 15, 19], "reaction": [0, 3, 18, 19], "base": [0, 3, 4, 6, 8, 10, 12, 14, 15, 16, 19, 20, 22], "certain": [0, 1], "criteria": 0, "pagin": [0, 2, 3, 7], "linepagin": [0, 2, 3, 7, 19], "which": [0, 1, 3, 7, 10, 12, 19, 22], "allow": [0, 1, 3, 15, 18, 19, 20], "over": [0, 3, 19], "content": [0, 3, 11, 19, 20], "us": [0, 1, 3, 4, 6, 7, 9, 10, 12, 14, 16, 17, 19, 20, 21, 22], "emb": [0, 3, 19], "emoji": [0, 3, 18, 19], "facilit": 0, "navig": [0, 1, 3, 19], "5": [0, 12], "1": [0, 16], "14th": 0, "decemb": 0, "2023": 0, "bug": 0, "200": 0, "do": [0, 1, 9], "attempt": [0, 3, 9, 17, 19], "read": 0, "respons": [0, 6, 20], "bodi": 0, "http": [0, 6, 20, 21], "code": [0, 1, 3, 6, 19, 21], "204": [0, 6], "previous": 0, "onli": [0, 3], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "delet": [0, 3, 6, 8, 15, 19, 20], "did": 0, "thi": [0, 1, 3, 7, 9, 10, 12, 14, 15, 17, 19, 20, 21, 22], "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, 19], "have": [0, 9, 10, 14, 16], "cut": 0, "new": [0, 1, 3, 4, 6, 8, 14, 19, 22], "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, 16], "warn": [0, 22], "level": [0, 7, 16], "asyncio": [0, 4, 22], "info": [0, 1], "default": [0, 1, 3, 10, 19, 20], "log_format": [0, 3, 7, 16], "log": [0, 3, 7, 13, 17, 22], "standardis": [0, 16], "across": [0, 3, 16, 19], "all": [0, 1, 3, 4, 7, 16, 22], "servic": [0, 1, 3, 20], "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, 19], "process_command": [0, 2, 3], "ensur": [0, 3, 15, 21], "ar": [0, 1, 3, 8, 14, 15, 18, 19, 21], "process": [0, 3], "until": [0, 3, 21], "extens": [0, 3], "load": [0, 1, 3, 7], "work": [0, 1], "client": [0, 3, 4], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "break": [0, 3, 14, 19], "188": 0, "send": [0, 3, 6, 15, 19], "multipl": 0, "file": [0, 1, 20], "onc": [0, 8], "past": [0, 20, 22], "call": [0, 3, 12, 14, 22], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 20], "must": [0, 22], "now": [0, 1, 22], "provid": [0, 1, 3, 8, 11, 13, 19, 22], "pastefil": [0, 3, 7, 20], "184": 0, "remov": [0, 3, 15, 18, 19, 20], "store": [0, 3, 7, 8, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 15], "when": [0, 3, 4, 6, 7, 8, 10, 12, 14, 19, 20, 22], "stop": [0, 7, 15], "addit": 0, "exist": [0, 1, 22], "logic": 0, "timeout": [0, 3, 15, 19], "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, 18, 19, 21, 22], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22], "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, 20], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 19, 20], "pythondiscord": [0, 20], "com": [0, 20], "8": 0, "13th": 0, "181": 0, "7": 0, "176": 0, "migrat": 0, "repo": 0, "ruff": 0, "lint": 0, "177": 0, "automat": [0, 3, 19], "handl": [0, 13, 17, 22], "forbidden": [0, 9, 13], "90001": [0, 13], "error": [0, 3, 6, 7, 13, 17, 20], "schedul": [0, 3, 7], "179": 0, "upload": [0, 20], "text": [0, 3, 6, 11, 19, 20], "our": [0, 1, 7], "6th": 0, "mai": [0, 3, 8, 19], "175": 0, "wait": [0, 3, 22], "guild": [0, 1, 3, 10, 17], "avail": [0, 3], "befor": [0, 3, 10, 15, 19, 22], "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, 19, 22], "been": 0, "also": [0, 3, 7, 14, 15, 19], "need": [0, 1, 3, 19], "run": [0, 1, 12, 22], "task": [0, 22], "23rd": 0, "170": 0, "save": [0, 3, 20], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 12, 14, 19, 22], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 18, 19, 22], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 21], "member": [0, 3, 7, 15], "get_or_fetch_memb": [0, 3, 7, 17], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 20, 22], "11": 0, "162": 0, "being": [0, 7, 10, 17], "abl": 0, "button": [0, 15], "press": 0, "88": 0, "decor": [0, 8, 10, 12, 14], "success": [0, 20], "duplic": [0, 12], "invoc": [0, 12], "158": 0, "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 16], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 21], "option": [0, 3, 4, 6, 8, 11, 12, 13, 15, 16, 17, 19], "match": [0, 3], "lead": 0, "www": 0, "27th": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 15, 17, 19, 20], "rediscach": 0, "v1": [0, 3, 19, 20], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 10, 14, 22], "108": 0, "101": 0, "clean": [0, 11], "string": [0, 6], "referenc": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 10, 16, 19, 20, 22], "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, 16], "103": 0, "attach": 0, "parent": [0, 15], "gener": [0, 3, 12, 22], "98": 0, "close": [0, 2, 3, 6, 22], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 10, 22], "91": 0, "miss": 0, "await": [0, 3, 12, 15, 17, 19], "ping_servic": [0, 2, 3], "some": [0, 3, 19, 20], "case": [0, 3, 19], "pass": [0, 6, 16, 17, 22], "self": [0, 3, 15], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 17], "96": 0, "connect": [0, 3, 4], "statsd_url": [0, 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, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 16, 19], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 10, 22], "out": [0, 1, 15], "75": 0, "invit": [0, 21], "longer": [0, 15], "safe": 0, "result": [0, 22], "captur": [0, 14, 21], "charact": [0, 3, 19], "up": [0, 1, 3, 19], "whitespac": [0, 21], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3, 10, 19], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "number": [0, 3, 10, 19, 20], "so": [0, 1, 7], "should": [0, 1, 3, 6, 15, 19, 20], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 17], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 14], "main": 0, "don": [0, 10, 22], "t": [0, 10, 11, 13, 14, 22], "modul": [0, 3, 7, 14, 22], "start": [0, 3, 22], "_": 0, "66": 0, "each": [0, 3, 19], "own": [0, 14], "avoid": [0, 3, 19], "singl": [0, 3, 19], "crash": 0, "entir": [0, 3], "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 22], "manipul": [0, 14], "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 3, 14, 19], "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 16], "basic": [0, 15], "forum": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 15, 19, 22], "instanc": [0, 3, 6, 8, 9, 10, 16, 22], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 20], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 22], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3, 19], "made": [0, 18], "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 20], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 12, 15, 16, 19, 20, 22], "abstract": 0, "lot": 0, "share": [0, 14], "between": [0, 1, 14], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 16], "import": 0, "can": [0, 1, 3, 10, 15, 16, 19, 22], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "api": [0, 6, 17], "wrapper": [0, 6, 12, 14, 22], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "cach": [0, 3, 7, 9, 17], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 3, 7, 15, 16, 19], "intersphinx": 0, "12": 0, "block": [0, 3, 12, 19, 21], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "To": [1, 3, 16], "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], "below": 1, "more": [1, 3, 14, 19], "both": [1, 20], "what": 1, "go": [1, 3, 19], "them": [1, 3, 14, 22], "you": [1, 9, 21], "ll": [1, 22], "write": 1, "might": [1, 10], "mean": 1, "modifi": [1, 17], "ones": 1, "etc": [1, 10], "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 22], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19, 20, 22], "vari": 1, "re": [1, 3, 13, 18, 22], "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, 19, 20, 22], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 14, 18], "free": 1, "howev": 1, "like": [1, 14], "m": 1, "docker": 1, "compos": 1, "d": [1, 14], "configur": [1, 3, 19, 20], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 3, 4, 19], "invok": [1, 10, 12, 15], "mention": [1, 3], "A": [1, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16, 19, 20, 22], "comma": 1, "seper": 1, "id": [1, 3, 9, 10, 15, 19, 22], "anyth": [1, 20], "reinstal": 1, "applic": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "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, 19], "add_lin": [2, 3, 7, 19], "paginationemoji": [2, 3, 7, 19], "model_computed_field": [2, 3, 7, 19, 20], "model_config": [2, 3, 7, 19, 20], "model_field": [2, 3, 7, 19, 20], "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, 19], "inform": [2, 16], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12, 16], "http_session": [3, 20], "redis_sess": 3, "kwarg": [3, 6, 12, 15, 16, 22], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22], "implement": [3, 4, 8, 15, 16], "initialis": [3, 8], "int": [3, 4, 8, 9, 10, 15, 19, 20, 22], "clientsess": [3, 6, 20], "redissess": 3, "str": [3, 4, 6, 7, 10, 11, 14, 15, 16, 19, 20, 22], "server": [3, 21], "If": [3, 6, 10, 12, 14, 15, 18, 19, 22], "oper": [3, 19, 22], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 15, 22], "instead": [3, 12, 22], "connector": 3, "resolv": [3, 14], "sync_app_command": 3, "true": [3, 6, 10, 12, 16, 18, 19, 20, 22], "all_extens": 3, "bool": [3, 6, 9, 10, 12, 15, 18, 19, 22], "intern": [3, 7], "becom": 3, "appear": 3, "still": [3, 19], "empti": [3, 19], "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 14, 18], "relev": 3, "name": [3, 7, 14, 16, 19, 20, 22], "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, 19, 22], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 10, 12, 14, 16, 19, 20, 22], "rais": [3, 6, 9, 10, 11, 12, 13, 14, 17, 19, 20, 22], "suffix": [3, 19], "max_siz": [3, 8, 19, 20], "4000": [3, 19], "scale_to_s": [3, 19], "max_lin": [3, 19], "linesep": [3, 19], "n": [3, 19], "aid": [3, 19], "pagination_emoji": [3, 19], "insert": [3, 19], "everi": [3, 19], "e": [3, 19], "g": [3, 19], "three": [3, 19], "backtick": [3, 19], "append": [3, 19], "end": [3, 19], "maximum": [3, 8, 19, 20], "amount": [3, 19], "codepoint": [3, 19], "line": [3, 19], "scale": [3, 19], "overrid": [3, 19], "insid": [3, 19], "It": [3, 7, 19], "order": [3, 8, 19, 22], "per": [3, 10, 19], "fals": [3, 10, 12, 19, 20], "current": [3, 19, 22], "exce": [3, 8, 19], "overflow": [3, 19], "word": [3, 19], "exceed": [3, 19], "excess": [3, 19], "place": [3, 19], "unti": [3, 19], "remain": [3, 19], "boundari": [3, 19], "truncat": [3, 19], "continu": [3, 19], "onto": [3, 19], "In": [3, 19], "alreadi": [3, 19, 22], "would": [3, 19], "caus": [3, 7, 19], "done": [3, 15, 19, 22], "best": [3, 19], "effort": [3, 19], "while": [3, 12, 19], "keep": [3, 19, 22], "total": [3, 19], "length": [3, 12, 19], "reason": [3, 19], "size": [3, 8, 19, 20], "indic": [3, 17, 19], "classmethod": [3, 19], "ctx": [3, 10, 11, 15, 19], "500": [3, 19], "restrict_to_us": [3, 19], "300": [3, 19], "footer_text": [3, 19], "exception_on_empty_emb": [3, 19], "repli": [3, 11, 12, 13, 19], "switch": [3, 19], "finish": [3, 19], "appli": [3, 7, 8, 10, 12, 19, 20], "These": [3, 19], "five": [3, 19], "minut": [3, 19], "limit": [3, 19], "author": [3, 10, 18, 19], "ani": [3, 6, 10, 19, 21, 22], "moder": [3, 15, 18, 19], "context": [3, 10, 11, 19], "hold": [3, 19], "serv": [3, 19], "whom": [3, 19], "restrict": [3, 19], "anymor": [3, 19], "footer": [3, 19], "sequenc": [3, 7, 14, 15, 19], "exampl": [3, 19], "set_author": [3, 19], "icon_url": [3, 19], "icon": [3, 19], "data": [3, 19, 20], "basemodel": [3, 19, 20], "classvar": [3, 19, 20], "dict": [3, 6, 19, 20], "computedfieldinfo": [3, 19, 20], "dictionari": [3, 19, 20], "comput": [3, 19, 20], "field": [3, 19, 20], "correspond": [3, 19, 20], "object": [3, 6, 7, 8, 9, 12, 17, 19, 20, 22], "configdict": [3, 19, 20], "model": [3, 19, 20], "conform": [3, 19, 20], "pydant": [3, 19, 20], "config": [3, 19, 20], "fieldinfo": [3, 19, 20], "annot": [3, 14, 19, 20], "trashcan": [3, 19], "637136429717389331": [3, 19], "first": [3, 19], "last": [3, 10, 15, 19], "left": [3, 19], "metadata": [3, 19, 20], "about": [3, 12, 19, 20], "defin": [3, 19, 20], "map": [3, 19, 20], "replac": [3, 10, 14, 19, 20], "__fields__": [3, 19, 20], "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], "update_wrapper_glob": [3, 7, 14], "customlogg": [3, 7, 16], "get_logg": [3, 7, 16], "max_paste_s": [3, 7, 20], "pasterespons": [3, 7, 20], "pastetoolongerror": [3, 7, 20], "pasteunsupportedlexererror": [3, 7, 20], "pasteuploaderror": [3, 7, 20], "formatted_code_regex": [3, 7, 21], "raw_code_regex": [3, 7, 21], "create_task": [3, 7, 22], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 20], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 22], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 22], "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, 22], "authent": 6, "keyword": [6, 7, 16], "argument": [6, 7, 8, 11, 12, 16, 17], "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, 20], "represent": 6, "group": [7, 21], "root_alias": 7, "two": 7, "act": 7, "top": 7, "rather": 7, "than": [7, 20], "attribut": [7, 14], "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], "__contains__": [7, 22], "cancel": [7, 22], "cancel_al": [7, 22], "schedule_at": [7, 22], "schedule_lat": [7, 22], "relat": [8, 16], "128": 8, "lru": 8, "coroutin": [8, 17, 22], "kei": 8, "fifo": 8, "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 10, 12, 14, 17], "wrap": [8, 14, 22], "target": 8, "item": 8, "channel_id": 9, "fetch": [9, 17], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 10, 20], "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, 16], "futur": [10, 22], "trigger": 10, "float": [10, 12, 15, 22], "durat": 10, "long": [10, 20, 22], "buckettyp": 10, "iter": [10, 12], "describ": 10, "behavior": 10, "typeerror": 10, "verifi": 10, "alwai": 10, "dm": 10, "sinc": 10, "where": 10, "union": 10, "collect": 10, "least": 10, "otherwis": [10, 22], "doesn": [10, 22], "redirect": 10, "fail_sil": 10, "issu": 10, "whitelist": 10, "silent": 10, "badargu": 11, "wasn": 11, "els": 11, "commanderror": 12, "typevar": [12, 14, 22], "valu": [12, 14, 16], "signatur": 12, "cooldown_dur": 12, "send_notic": 12, "args_preprocessor": 12, "prevent": [12, 22], "same": [12, 22], "notifi": 12, "paramspec": [12, 14], "raw": [12, 21], "isn": 13, "conflict": 14, "global": 14, "assign": 14, "__module__": 14, "__name__": 14, "__qualname__": 14, "__doc__": 14, "__annotations__": 14, "__dict__": 14, "ignored_conflict_nam": 14, "frozenset": 14, "look": [14, 22], "forwardref": 14, "evalu": 14, "detail": 14, "_p": 14, "_r": 14, "found": [14, 17, 22], "behav": 14, "functool": 14, "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, "accept": 15, "input": 15, "similar": [15, 21], "occur": 15, "listen": 15, "access": 15, "msg": 16, "sever": 16, "exc_info": 16, "houston": 16, "we": [16, 17], "interest": 16, "mypi": 16, "recognis": 16, "formatt": 16, "interactin": 17, "member_id": 17, "failur": 17, "could": 17, "coro": [17, 22], "sole": 17, "expect": 17, "add_rol": 17, "remove_rol": 17, "purpos": 17, "intend": 17, "message_id": 18, "allowed_emoji": 18, "allow_mod": 18, "even": 18, "524288": 20, "byte": 20, "format": [20, 21], "link": 20, "too": 20, "larg": 20, "unsupport": 20, "encount": 20, "paste_url": 20, "max": 20, "larger": 20, "reject": 20, "max_length": 20, "greater": 20, "regular": 21, "express": 21, "pattern": 21, "pleas": 21, "sanitis": 21, "output": 21, "someth": 21, "urllib": 21, "pars": 21, "quot": 21, "execut": 22, "track": 22, "distinguish": 22, "suggest": 22, "immedi": 22, "uniqu": 22, "prematur": 22, "task_id": 22, "hashabl": 22, "unschedul": 22, "identifi": 22, "known": 22, "unawait": 22, "elsewher": 22, "timezon": 22, "awar": 22, "calcul": 22, "subtract": 22, "na\u00efv": 22, "utc": 22, "datetim": 22, "delai": 22, "suppressed_except": 22, "event_loop": 22, "task_return": 22, "tupl": 22}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 3, 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, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [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, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [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, 4, 1, "", "model_computed_fields"], [3, 4, 1, "", "model_config"], [3, 4, 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, 3, 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, "-", "logging"], [17, 0, 0, "-", "members"], [18, 0, 0, "-", "messages"], [19, 0, 0, "-", "pagination"], [20, 0, 0, "-", "paste_service"], [21, 0, 0, "-", "regex"], [22, 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, 3, 1, "", "ContextCheckFailure"], [10, 3, 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, 3, 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, 3, 1, "", "GlobalNameConflictError"], [14, 5, 1, "", "command_wraps"], [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.logging": [[16, 1, 1, "", "CustomLogger"], [16, 5, 1, "", "get_logger"], [16, 6, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[16, 2, 1, "", "trace"]], "pydis_core.utils.members": [[17, 5, 1, "", "get_or_fetch_member"], [17, 5, 1, "", "handle_role_change"]], "pydis_core.utils.messages": [[18, 5, 1, "", "reaction_check"]], "pydis_core.utils.pagination": [[19, 3, 1, "", "EmptyPaginatorEmbedError"], [19, 1, 1, "", "LinePaginator"], [19, 1, 1, "", "PaginationEmojis"]], "pydis_core.utils.pagination.LinePaginator": [[19, 2, 1, "", "__init__"], [19, 2, 1, "", "add_line"], [19, 2, 1, "", "paginate"]], "pydis_core.utils.pagination.PaginationEmojis": [[19, 4, 1, "", "model_computed_fields"], [19, 4, 1, "", "model_config"], [19, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[20, 6, 1, "", "MAX_PASTE_SIZE"], [20, 1, 1, "", "PasteFile"], [20, 1, 1, "", "PasteResponse"], [20, 3, 1, "", "PasteTooLongError"], [20, 3, 1, "", "PasteUnsupportedLexerError"], [20, 3, 1, "", "PasteUploadError"], [20, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[20, 4, 1, "", "model_computed_fields"], [20, 4, 1, "", "model_config"], [20, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[20, 4, 1, "", "model_computed_fields"], [20, 4, 1, "", "model_config"], [20, 4, 1, "", "model_fields"]], "pydis_core.utils.regex": [[21, 6, 1, "", "DISCORD_INVITE"], [21, 6, 1, "", "FORMATTED_CODE_REGEX"], [21, 6, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[22, 1, 1, "", "Scheduler"], [22, 5, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[22, 2, 1, "", "__contains__"], [22, 2, 1, "", "__init__"], [22, 2, 1, "", "cancel"], [22, 2, 1, "", "cancel_all"], [22, 2, 1, "", "schedule"], [22, 2, 1, "", "schedule_at"], [22, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:attribute", "5": "py:function", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "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, "log": 16, "member": 17, "messag": 18, "pagin": 19, "paste_servic": 20, "regex": 21, "schedul": 22}, "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": {"site_api": [[6, "module-pydis_core.site_api"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Exts": [[5, "module-pydis_core.exts"]], "commands": [[11, "module-pydis_core.utils.commands"]], "function": [[14, "module-pydis_core.utils.function"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "error_handling": [[13, "module-pydis_core.utils.error_handling"]], "checks": [[10, "module-pydis_core.utils.checks"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "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"]], "paste_service": [[20, "module-pydis_core.utils.paste_service"]], "scheduling": [[22, "module-pydis_core.utils.scheduling"]], "regex": [[21, "module-pydis_core.utils.regex"]], "pagination": [[19, "module-pydis_core.utils.pagination"]], "members": [[17, "module-pydis_core.utils.members"]], "interactions": [[15, "module-pydis_core.utils.interactions"]], "logging": [[16, "module-pydis_core.utils.logging"]], "messages": [[18, "module-pydis_core.utils.messages"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "emptypaginatorembederror": [[3, "pydis_core.EmptyPaginatorEmbedError"], [19, "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__"], [19, "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"], [19, "pydis_core.utils.pagination.LinePaginator.add_line"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "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"], [19, "pydis_core.utils.pagination.PaginationEmojis.model_computed_fields"]], "model_config (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_config"], [19, "pydis_core.utils.pagination.PaginationEmojis.model_config"]], "model_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_fields"], [19, "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.logging"], [17, "module-pydis_core.utils.members"], [18, "module-pydis_core.utils.messages"], [19, "module-pydis_core.utils.pagination"], [20, "module-pydis_core.utils.paste_service"], [21, "module-pydis_core.utils.regex"], [22, "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"], [19, "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"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "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"]], "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"]], "customlogger (class in pydis_core.utils.logging)": [[16, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[16, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[16, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[16, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[16, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[17, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[17, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[17, "module-pydis_core.utils.members"]], "pydis_core.utils.messages": [[18, "module-pydis_core.utils.messages"]], "reaction_check() (in module pydis_core.utils.messages)": [[18, "pydis_core.utils.messages.reaction_check"]], "linepaginator (class in pydis_core.utils.pagination)": [[19, "pydis_core.utils.pagination.LinePaginator"]], "paginationemojis (class in pydis_core.utils.pagination)": [[19, "pydis_core.utils.pagination.PaginationEmojis"]], "pydis_core.utils.pagination": [[19, "module-pydis_core.utils.pagination"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[20, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[20, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[20, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[20, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[20, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[20, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[20, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[20, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[20, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[20, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[20, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[21, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[21, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[21, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[21, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[22, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[22, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[22, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[22, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[22, "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": {"10": 0, "7": 0, "0": [0, 8, 10, 15, 16, 17], "30th": 0, "januari": 0, "2024": 0, "featur": [0, 1, 3], "194": 0, "add": [0, 3, 10, 12, 20], "pydis_cor": [0, 1, 3, 15, 17], "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, "support": [0, 4, 7, 23], "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, 6, 21, 22], "code": [0, 1, 3, 6, 16, 20, 22], "204": [0, 6], "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], "releas": 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], "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], "botbas": [0, 2, 3], "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, "document": 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, 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, 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, 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, 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, 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, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 15, 16, 20, 23], "instanc": [0, 3, 6, 8, 9, 10, 17, 23], "61": 0, "reconnect": 0, "redi": 0, "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, 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, 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, "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], "http_session": [3, 21], "redis_sess": 3, "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], "initialis": [3, 8], "int": [3, 4, 8, 9, 10, 14, 15, 20, 21, 23], "clientsess": [3, 6, 21], "redissess": 3, "str": [3, 4, 6, 7, 10, 11, 14, 15, 16, 17, 20, 21, 23], "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], "all_extens": 3, "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], "next": [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, "commun": 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], "attribut": [7, 14], "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, "frozenset": 14, "look": [14, 23], "forwardref": 14, "evalu": 14, "detail": 14, "_p": 14, "_r": 14, "found": [14, 18, 23], "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, 3, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 3, 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, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [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, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [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, 4, 1, "", "model_computed_fields"], [3, 4, 1, "", "model_config"], [3, 4, 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, 3, 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, 3, 1, "", "ContextCheckFailure"], [10, 3, 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, 3, 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, 3, 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, 3, 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, 4, 1, "", "id"], [16, 4, 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, 3, 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, 4, 1, "", "model_computed_fields"], [20, 4, 1, "", "model_config"], [20, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[21, 6, 1, "", "MAX_PASTE_SIZE"], [21, 1, 1, "", "PasteFile"], [21, 1, 1, "", "PasteResponse"], [21, 3, 1, "", "PasteTooLongError"], [21, 3, 1, "", "PasteUnsupportedLexerError"], [21, 3, 1, "", "PasteUploadError"], [21, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[21, 4, 1, "", "model_computed_fields"], [21, 4, 1, "", "model_config"], [21, 4, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[21, 4, 1, "", "model_computed_fields"], [21, 4, 1, "", "model_config"], [21, 4, 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:exception", "4": "py:attribute", "5": "py:function", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "exception", "Python exception"], "4": ["py", "attribute", "Python attribute"], "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": {"site_api": [[6, "module-pydis_core.site_api"]], "channel": [[9, "module-pydis_core.utils.channel"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "commands": [[11, "module-pydis_core.utils.commands"]], "checks": [[10, "module-pydis_core.utils.checks"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Exts": [[5, "module-pydis_core.exts"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "logging": [[17, "module-pydis_core.utils.logging"]], "lock": [[16, "module-pydis_core.utils.lock"]], "error_handling": [[13, "module-pydis_core.utils.error_handling"]], "interactions": [[15, "module-pydis_core.utils.interactions"]], "function": [[14, "module-pydis_core.utils.function"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "messages": [[19, "module-pydis_core.utils.messages"]], "scheduling": [[23, "module-pydis_core.utils.scheduling"]], "regex": [[22, "module-pydis_core.utils.regex"]], "members": [[18, "module-pydis_core.utils.members"]], "pagination": [[20, "module-pydis_core.utils.pagination"]], "paste_service": [[21, "module-pydis_core.utils.paste_service"]]}, "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"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "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"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "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
diff --git a/main/versions.html b/main/versions.html
index a5f55fac..e65ad606 100644
--- a/main/versions.html
+++ b/main/versions.html
@@ -10,8 +10,8 @@
<link rel="stylesheet" type="text/css" href="_static/styles/furo.css?v=135e06be" />
<link rel="stylesheet" type="text/css" href="_static/styles/furo-extensions.css?v=36a5483c" />
<link rel="stylesheet" type="text/css" href="_static/changelog.css?v=117bb91a" />
- <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
<link rel="stylesheet" type="text/css" href="_static/index.css?v=832e2368" />
+ <link rel="stylesheet" type="text/css" href="_static/logo.css?v=41ebe54c" />
@@ -173,6 +173,7 @@
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.error_handling.html">error_handling</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.function.html">function</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.interactions.html">interactions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.lock.html">lock</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.logging.html">logging</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.members.html">members</a></li>
<li class="toctree-l3"><a class="reference internal" href="output/pydis_core.utils.messages.html">messages</a></li>
@@ -358,6 +359,10 @@
</li>
<li class="toctree-l2 ">
+ <a class="version_link reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+ </li>
+
+ <li class="toctree-l2 ">
<a class="version_link reference internal" href="../v10.6.0/index.html">v10.6.0</a>
</li>
@@ -673,6 +678,12 @@
</li>
<li>
+ <a class="reference internal" href="../v10.7.0/index.html">v10.7.0</a>
+
+
+ </li>
+
+ <li>
<a class="reference internal" href="../v10.6.0/index.html">v10.6.0</a>