From 003ab979ba58844a175b6182445e768181b622a8 Mon Sep 17 00:00:00 2001 From: ChrisLovering Date: Wed, 14 Jun 2023 11:27:16 +0000 Subject: Deploying to docs from @ python-discord/bot-core@b3425c40532b02ad54ac7be9eb96e830d7e1a5ef 🚀 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- _static/documentation_options.js | 2 +- index.html | 2 +- main/.buildinfo | 2 +- main/_static/documentation_options.js | 2 +- main/changelog.html | 11 ++++-- main/development.html | 6 +-- main/genindex.html | 6 +-- main/index.html | 6 +-- main/index_redirect.html | 2 +- main/objects.inv | Bin 1588 -> 1588 bytes main/output/pydis_core.async_stats.html | 12 +++--- main/output/pydis_core.exts.html | 6 +-- main/output/pydis_core.html | 42 ++++++++++----------- main/output/pydis_core.site_api.html | 32 ++++++++-------- main/output/pydis_core.utils.caching.html | 14 +++---- main/output/pydis_core.utils.channel.html | 24 ++++++------ main/output/pydis_core.utils.commands.html | 12 +++--- main/output/pydis_core.utils.cooldown.html | 20 +++++----- main/output/pydis_core.utils.error_handling.html | 12 +++--- main/output/pydis_core.utils.function.html | 12 +++--- main/output/pydis_core.utils.html | 12 +++--- main/output/pydis_core.utils.interactions.html | 28 +++++++------- main/output/pydis_core.utils.logging.html | 12 +++--- main/output/pydis_core.utils.members.html | 24 ++++++------ main/output/pydis_core.utils.paste_service.html | 16 ++++---- main/output/pydis_core.utils.regex.html | 12 +++--- main/output/pydis_core.utils.scheduling.html | 24 ++++++------ main/py-modindex.html | 6 +-- main/search.html | 6 +-- main/searchindex.js | 2 +- main/versions.html | 6 +-- v7.1.1/.buildinfo | 2 +- v7.1.1/output/botcore.html | 4 +- v7.1.1/output/botcore.utils.channel.html | 14 +++---- v7.1.1/output/botcore.utils.html | 2 +- v7.1.1/output/botcore.utils.members.html | 12 +++--- v7.1.1/searchindex.js | 2 +- v7.1.2/.buildinfo | 2 +- v7.1.2/output/botcore.html | 4 +- v7.1.2/output/botcore.utils.channel.html | 14 +++---- v7.1.2/output/botcore.utils.html | 2 +- v7.1.2/output/botcore.utils.members.html | 12 +++--- v7.1.2/searchindex.js | 2 +- v7.1.3/.buildinfo | 2 +- v7.1.3/output/botcore.html | 4 +- v7.1.3/output/botcore.utils.channel.html | 14 +++---- v7.1.3/output/botcore.utils.html | 2 +- v7.1.3/output/botcore.utils.members.html | 12 +++--- v7.1.3/searchindex.js | 2 +- v7.2.0/.buildinfo | 2 +- v7.2.0/output/botcore.html | 4 +- v7.2.0/output/botcore.utils.channel.html | 14 +++---- v7.2.0/output/botcore.utils.html | 2 +- v7.2.0/output/botcore.utils.members.html | 12 +++--- v7.2.0/searchindex.js | 2 +- v7.2.1/.buildinfo | 2 +- v7.2.1/output/botcore.html | 4 +- v7.2.1/output/botcore.utils.channel.html | 14 +++---- v7.2.1/output/botcore.utils.html | 2 +- v7.2.1/output/botcore.utils.members.html | 14 +++---- v7.2.1/searchindex.js | 2 +- v7.2.2/.buildinfo | 2 +- v7.2.2/output/botcore.html | 4 +- v7.2.2/output/botcore.utils.channel.html | 14 +++---- v7.2.2/output/botcore.utils.html | 2 +- v7.2.2/output/botcore.utils.members.html | 14 +++---- v7.2.2/searchindex.js | 2 +- v7.3.0/.buildinfo | 2 +- v7.3.0/output/botcore.html | 4 +- v7.3.0/output/botcore.utils.channel.html | 14 +++---- v7.3.0/output/botcore.utils.html | 2 +- v7.3.0/output/botcore.utils.interactions.html | 6 +-- v7.3.0/output/botcore.utils.members.html | 14 +++---- v7.3.0/searchindex.js | 2 +- v7.3.1/.buildinfo | 2 +- v7.3.1/output/botcore.html | 4 +- v7.3.1/output/botcore.utils.channel.html | 14 +++---- v7.3.1/output/botcore.utils.html | 2 +- v7.3.1/output/botcore.utils.interactions.html | 6 +-- v7.3.1/output/botcore.utils.members.html | 14 +++---- v7.3.1/searchindex.js | 2 +- v7.4.0-beta1/.buildinfo | 2 +- v7.4.0-beta1/output/botcore.html | 4 +- v7.4.0-beta1/output/botcore.utils.channel.html | 14 +++---- v7.4.0-beta1/output/botcore.utils.html | 2 +- .../output/botcore.utils.interactions.html | 8 ++-- v7.4.0-beta1/output/botcore.utils.members.html | 14 +++---- v7.4.0-beta1/searchindex.js | 2 +- v7.4.0/.buildinfo | 2 +- v7.4.0/output/botcore.html | 4 +- v7.4.0/output/botcore.utils.channel.html | 14 +++---- v7.4.0/output/botcore.utils.html | 2 +- v7.4.0/output/botcore.utils.interactions.html | 8 ++-- v7.4.0/output/botcore.utils.members.html | 14 +++---- v7.4.0/searchindex.js | 2 +- v7.5.0/.buildinfo | 2 +- v7.5.0/output/botcore.html | 4 +- v7.5.0/output/botcore.utils.channel.html | 14 +++---- v7.5.0/output/botcore.utils.commands.html | 4 +- v7.5.0/output/botcore.utils.html | 2 +- v7.5.0/output/botcore.utils.interactions.html | 8 ++-- v7.5.0/output/botcore.utils.members.html | 14 +++---- v7.5.0/searchindex.js | 2 +- v8.0.0-beta.1/.buildinfo | 2 +- v8.0.0-beta.1/output/botcore.html | 4 +- v8.0.0-beta.1/output/botcore.utils.channel.html | 14 +++---- v8.0.0-beta.1/output/botcore.utils.commands.html | 4 +- v8.0.0-beta.1/output/botcore.utils.html | 2 +- .../output/botcore.utils.interactions.html | 8 ++-- v8.0.0-beta.1/output/botcore.utils.members.html | 14 +++---- v8.0.0-beta.1/searchindex.js | 2 +- v8.0.0-beta.2/.buildinfo | 2 +- v8.0.0-beta.2/output/botcore.html | 4 +- v8.0.0-beta.2/output/botcore.utils.channel.html | 14 +++---- v8.0.0-beta.2/output/botcore.utils.commands.html | 4 +- v8.0.0-beta.2/output/botcore.utils.html | 2 +- .../output/botcore.utils.interactions.html | 8 ++-- v8.0.0-beta.2/output/botcore.utils.members.html | 14 +++---- v8.0.0-beta.2/searchindex.js | 2 +- v8.0.0-beta.3/.buildinfo | 2 +- v8.0.0-beta.3/output/botcore.html | 4 +- v8.0.0-beta.3/output/botcore.utils.channel.html | 14 +++---- v8.0.0-beta.3/output/botcore.utils.commands.html | 4 +- v8.0.0-beta.3/output/botcore.utils.html | 2 +- .../output/botcore.utils.interactions.html | 8 ++-- v8.0.0-beta.3/output/botcore.utils.members.html | 14 +++---- v8.0.0-beta.3/searchindex.js | 2 +- v8.0.0-beta.4/.buildinfo | 2 +- v8.0.0-beta.4/output/botcore.html | 4 +- v8.0.0-beta.4/output/botcore.utils.channel.html | 14 +++---- v8.0.0-beta.4/output/botcore.utils.commands.html | 4 +- v8.0.0-beta.4/output/botcore.utils.html | 2 +- .../output/botcore.utils.interactions.html | 8 ++-- v8.0.0-beta.4/output/botcore.utils.members.html | 14 +++---- v8.0.0-beta.4/searchindex.js | 2 +- v8.0.0/.buildinfo | 2 +- v8.0.0/output/botcore.html | 4 +- v8.0.0/output/botcore.utils.channel.html | 14 +++---- v8.0.0/output/botcore.utils.commands.html | 4 +- v8.0.0/output/botcore.utils.html | 2 +- v8.0.0/output/botcore.utils.interactions.html | 8 ++-- v8.0.0/output/botcore.utils.members.html | 14 +++---- v8.0.0/searchindex.js | 2 +- v8.1.0/.buildinfo | 2 +- v8.1.0/output/botcore.html | 4 +- v8.1.0/output/botcore.utils.channel.html | 14 +++---- v8.1.0/output/botcore.utils.commands.html | 4 +- v8.1.0/output/botcore.utils.html | 2 +- v8.1.0/output/botcore.utils.interactions.html | 8 ++-- v8.1.0/output/botcore.utils.members.html | 14 +++---- v8.1.0/searchindex.js | 2 +- v8.2.0/.buildinfo | 2 +- v8.2.0/output/botcore.html | 4 +- v8.2.0/output/botcore.utils.channel.html | 14 +++---- v8.2.0/output/botcore.utils.commands.html | 4 +- v8.2.0/output/botcore.utils.html | 2 +- v8.2.0/output/botcore.utils.interactions.html | 8 ++-- v8.2.0/output/botcore.utils.members.html | 14 +++---- v8.2.0/searchindex.js | 2 +- v8.2.1/.buildinfo | 2 +- v8.2.1/output/botcore.html | 4 +- v8.2.1/output/botcore.utils.channel.html | 14 +++---- v8.2.1/output/botcore.utils.commands.html | 4 +- v8.2.1/output/botcore.utils.html | 2 +- v8.2.1/output/botcore.utils.interactions.html | 8 ++-- v8.2.1/output/botcore.utils.members.html | 14 +++---- v8.2.1/searchindex.js | 2 +- v8.3.0-beta/.buildinfo | 2 +- v8.3.0-beta/output/botcore.html | 4 +- v8.3.0-beta/output/botcore.utils.channel.html | 14 +++---- v8.3.0-beta/output/botcore.utils.commands.html | 4 +- v8.3.0-beta/output/botcore.utils.cooldown.html | 2 +- v8.3.0-beta/output/botcore.utils.html | 2 +- v8.3.0-beta/output/botcore.utils.interactions.html | 8 ++-- v8.3.0-beta/output/botcore.utils.members.html | 14 +++---- v8.3.0-beta/searchindex.js | 2 +- v9.0.0/.buildinfo | 2 +- v9.0.0/output/pydis_core.html | 4 +- v9.0.0/output/pydis_core.utils.channel.html | 14 +++---- v9.0.0/output/pydis_core.utils.commands.html | 4 +- v9.0.0/output/pydis_core.utils.cooldown.html | 2 +- v9.0.0/output/pydis_core.utils.html | 2 +- v9.0.0/output/pydis_core.utils.interactions.html | 8 ++-- v9.0.0/output/pydis_core.utils.members.html | 14 +++---- v9.0.0/searchindex.js | 2 +- v9.1.1/.buildinfo | 2 +- v9.1.1/output/pydis_core.html | 4 +- v9.1.1/output/pydis_core.utils.channel.html | 14 +++---- v9.1.1/output/pydis_core.utils.commands.html | 4 +- v9.1.1/output/pydis_core.utils.cooldown.html | 2 +- v9.1.1/output/pydis_core.utils.html | 2 +- v9.1.1/output/pydis_core.utils.interactions.html | 8 ++-- v9.1.1/output/pydis_core.utils.members.html | 14 +++---- v9.1.1/searchindex.js | 2 +- v9.2.0/.buildinfo | 2 +- v9.2.0/output/pydis_core.html | 4 +- v9.2.0/output/pydis_core.utils.channel.html | 14 +++---- v9.2.0/output/pydis_core.utils.commands.html | 4 +- v9.2.0/output/pydis_core.utils.cooldown.html | 2 +- v9.2.0/output/pydis_core.utils.html | 2 +- v9.2.0/output/pydis_core.utils.interactions.html | 8 ++-- v9.2.0/output/pydis_core.utils.members.html | 14 +++---- v9.2.0/searchindex.js | 2 +- v9.3.0/.buildinfo | 2 +- v9.3.0/output/pydis_core.html | 4 +- v9.3.0/output/pydis_core.utils.channel.html | 14 +++---- v9.3.0/output/pydis_core.utils.commands.html | 4 +- v9.3.0/output/pydis_core.utils.cooldown.html | 2 +- v9.3.0/output/pydis_core.utils.html | 2 +- v9.3.0/output/pydis_core.utils.interactions.html | 8 ++-- v9.3.0/output/pydis_core.utils.members.html | 14 +++---- v9.3.0/searchindex.js | 2 +- v9.4.0/.buildinfo | 2 +- v9.4.0/output/pydis_core.html | 4 +- v9.4.0/output/pydis_core.utils.channel.html | 14 +++---- v9.4.0/output/pydis_core.utils.commands.html | 4 +- v9.4.0/output/pydis_core.utils.cooldown.html | 2 +- v9.4.0/output/pydis_core.utils.html | 2 +- v9.4.0/output/pydis_core.utils.interactions.html | 8 ++-- v9.4.0/output/pydis_core.utils.members.html | 14 +++---- v9.4.0/searchindex.js | 2 +- v9.4.1/.buildinfo | 2 +- v9.4.1/output/pydis_core.html | 4 +- v9.4.1/output/pydis_core.utils.channel.html | 14 +++---- v9.4.1/output/pydis_core.utils.commands.html | 4 +- v9.4.1/output/pydis_core.utils.cooldown.html | 2 +- v9.4.1/output/pydis_core.utils.html | 2 +- v9.4.1/output/pydis_core.utils.interactions.html | 8 ++-- v9.4.1/output/pydis_core.utils.members.html | 14 +++---- v9.4.1/searchindex.js | 2 +- v9.5.0/.buildinfo | 2 +- v9.5.0/output/pydis_core.html | 4 +- v9.5.0/output/pydis_core.utils.channel.html | 14 +++---- v9.5.0/output/pydis_core.utils.commands.html | 4 +- v9.5.0/output/pydis_core.utils.cooldown.html | 2 +- v9.5.0/output/pydis_core.utils.html | 2 +- v9.5.0/output/pydis_core.utils.interactions.html | 8 ++-- v9.5.0/output/pydis_core.utils.members.html | 14 +++---- v9.5.0/searchindex.js | 2 +- v9.5.1/.buildinfo | 2 +- v9.5.1/output/pydis_core.html | 4 +- v9.5.1/output/pydis_core.utils.channel.html | 14 +++---- v9.5.1/output/pydis_core.utils.commands.html | 4 +- v9.5.1/output/pydis_core.utils.cooldown.html | 2 +- v9.5.1/output/pydis_core.utils.html | 2 +- v9.5.1/output/pydis_core.utils.interactions.html | 8 ++-- v9.5.1/output/pydis_core.utils.members.html | 14 +++---- v9.5.1/searchindex.js | 2 +- v9.6.0/.buildinfo | 2 +- v9.6.0/output/pydis_core.html | 4 +- v9.6.0/output/pydis_core.utils.channel.html | 14 +++---- v9.6.0/output/pydis_core.utils.commands.html | 4 +- v9.6.0/output/pydis_core.utils.cooldown.html | 2 +- v9.6.0/output/pydis_core.utils.html | 2 +- v9.6.0/output/pydis_core.utils.interactions.html | 8 ++-- v9.6.0/output/pydis_core.utils.members.html | 14 +++---- v9.6.0/searchindex.js | 2 +- v9.7.0/.buildinfo | 2 +- v9.7.0/output/pydis_core.html | 4 +- v9.7.0/output/pydis_core.utils.channel.html | 14 +++---- v9.7.0/output/pydis_core.utils.commands.html | 4 +- v9.7.0/output/pydis_core.utils.cooldown.html | 2 +- v9.7.0/output/pydis_core.utils.error_handling.html | 4 +- v9.7.0/output/pydis_core.utils.html | 2 +- v9.7.0/output/pydis_core.utils.interactions.html | 8 ++-- v9.7.0/output/pydis_core.utils.members.html | 14 +++---- v9.7.0/searchindex.js | 2 +- 267 files changed, 902 insertions(+), 897 deletions(-) diff --git a/_static/documentation_options.js b/_static/documentation_options.js index c909ae49..978f7061 100644 --- a/_static/documentation_options.js +++ b/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '9.7.0', + VERSION: '9.8.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/index.html b/index.html index 1243a228..c5c461a4 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ - Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) diff --git a/main/.buildinfo b/main/.buildinfo index ae9d92f8..e79535d7 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: 56cd931826ca4a8a171b25f6feaa3cb1 +config: c9e12d6485ee1e2d4d7dd1d47f0de296 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/main/_static/documentation_options.js b/main/_static/documentation_options.js index c909ae49..978f7061 100644 --- a/main/_static/documentation_options.js +++ b/main/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '9.7.0', + VERSION: '9.8.0', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/main/changelog.html b/main/changelog.html index d52d0297..3d27d6bc 100644 --- a/main/changelog.html +++ b/main/changelog.html @@ -6,7 +6,7 @@ - Changelog - Pydis Core Latest (9.7.0) + Changelog - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0)
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) diff --git a/main/genindex.html b/main/genindex.html index 6ce6854c..cd66a70f 100644 --- a/main/genindex.html +++ b/main/genindex.html @@ -4,7 +4,7 @@ - Index - Pydis Core Latest (9.7.0) + Index - Pydis Core Latest (9.8.0) @@ -125,7 +125,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -151,7 +151,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) diff --git a/main/index.html b/main/index.html index 86cabce6..0b28ec2e 100644 --- a/main/index.html +++ b/main/index.html @@ -6,7 +6,7 @@ - Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) diff --git a/main/index_redirect.html b/main/index_redirect.html index 1243a228..c5c461a4 100644 --- a/main/index_redirect.html +++ b/main/index_redirect.html @@ -9,7 +9,7 @@ - Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) diff --git a/main/objects.inv b/main/objects.inv index 46d7b65e..42983b3d 100644 Binary files a/main/objects.inv and b/main/objects.inv differ diff --git a/main/output/pydis_core.async_stats.html b/main/output/pydis_core.async_stats.html index 91e3ffb5..dbbaad2a 100644 --- a/main/output/pydis_core.async_stats.html +++ b/main/output/pydis_core.async_stats.html @@ -6,7 +6,7 @@ - async_stats - Pydis Core Latest (9.7.0) + async_stats - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -391,12 +391,12 @@

An async transport method for statsd communication.

-class AsyncStatsClient(loop, host='localhost', port=8125, prefix=None)[source]#
+class AsyncStatsClient(loop, host='localhost', port=8125, prefix=None)[source]#

Bases: StatsClientBase

An async implementation of statsd.client.base.StatsClientBase that supports async stat communication.

-__init__(loop, host='localhost', port=8125, prefix=None)[source]#
+__init__(loop, host='localhost', port=8125, prefix=None)[source]#

Create a new AsyncStatsClient.

Parameters:
@@ -413,7 +413,7 @@
-async create_socket()[source]#
+async create_socket()[source]#

Use asyncio.loop.create_datagram_endpoint from the loop given on init to create a socket.

Return type:
diff --git a/main/output/pydis_core.exts.html b/main/output/pydis_core.exts.html index 3059a1b3..30fc941e 100644 --- a/main/output/pydis_core.exts.html +++ b/main/output/pydis_core.exts.html @@ -6,7 +6,7 @@ - Exts - Pydis Core Latest (9.7.0) + Exts - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) diff --git a/main/output/pydis_core.html b/main/output/pydis_core.html index 65624653..7c801c98 100644 --- a/main/output/pydis_core.html +++ b/main/output/pydis_core.html @@ -6,7 +6,7 @@ - Pydis Core - Pydis Core Latest (9.7.0) + Pydis Core - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -391,12 +391,12 @@

Useful utilities and tools for Discord bot development.

-class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
-

Bases: Bot

+class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]# +

Bases: Bot

A sub-class that implements many common features that Python Discord bots use.

-__init__(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
+__init__(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#

Initialise the base bot instance.

Parameters:
@@ -415,7 +415,7 @@ a dummy statsd client will be created.

-async add_cog(cog)[source]#
+async add_cog(cog)[source]#

Add the given cog to the bot and log the operation.

Return type:
@@ -426,7 +426,7 @@ a dummy statsd client will be created.

-add_command(command)[source]#
+add_command(command)[source]#

Add command as normal and then add its root aliases to the bot.

Return type:
@@ -437,7 +437,7 @@ a dummy statsd client will be created.

-clear()[source]#
+clear()[source]#

Not implemented! Re-instantiate the bot instead of attempting to re-use a closed one.

Return type:
@@ -448,7 +448,7 @@ a dummy statsd client will be created.

-async close()[source]#
+async close()[source]#

Close the Discord connection, and the aiohttp session, connector, statsd client, and resolver.

Return type:
@@ -459,7 +459,7 @@ a dummy statsd client will be created.

-async load_extensions(module, sync_app_commands=True)[source]#
+async load_extensions(module, sync_app_commands=True)[source]#

Load all the extensions within the given module and save them to self.all_extensions.

Parameters:
@@ -473,7 +473,7 @@ a dummy statsd client will be created.

-async log_to_dev_log(message)[source]#
+async log_to_dev_log(message)[source]#

Log the given message to #dev-log.

Return type:
@@ -484,7 +484,7 @@ a dummy statsd client will be created.

-async on_guild_available(guild)[source]#
+async on_guild_available(guild)[source]#

Set the internal guild available event when self.guild_id becomes available.

If the cache appears to still be empty (no members, no channels, or no roles), the event will not be set and guild_available_but_cache_empty event will be emitted.

@@ -497,7 +497,7 @@ will not be set and guild_available_but_cache_empty event will be e
-async on_guild_unavailable(guild)[source]#
+async on_guild_unavailable(guild)[source]#

Clear the internal guild available event when self.guild_id becomes unavailable.

Return type:
@@ -508,7 +508,7 @@ will not be set and guild_available_but_cache_empty event will be e
-async ping_services()[source]#
+async ping_services()[source]#

Ping all required services on setup to ensure they are up before starting.

Return type:
@@ -519,20 +519,20 @@ will not be set and guild_available_but_cache_empty event will be e
-remove_command(name)[source]#
+remove_command(name)[source]#

Remove a command/alias as normal and then remove its root aliases from the bot.

Individual root aliases cannot be removed by this function. To remove them, either remove the entire command or manually edit bot.all_commands.

Return type:
-

Optional[Command]

+

Optional[Command]

-async setup_hook()[source]#
+async setup_hook()[source]#

An async init to startup generic services.

Connects to statsd, and calls AsyncStatsClient.create_socket @@ -546,7 +546,7 @@ and

-async wait_until_guild_available()[source]#
+async wait_until_guild_available()[source]#

Wait until the guild that matches the guild_id given at init is available (and the cache is ready).

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.

@@ -561,12 +561,12 @@ gateway event before giving up and thus not populating the cache for unavailable
-exception StartupError(base)[source]#
+exception StartupError(base)[source]#

Bases: Exception

Exception class for startup errors.

-__init__(base)[source]#
+__init__(base)[source]#
diff --git a/main/output/pydis_core.site_api.html b/main/output/pydis_core.site_api.html index 9f9ee8b4..dbb1eefa 100644 --- a/main/output/pydis_core.site_api.html +++ b/main/output/pydis_core.site_api.html @@ -6,7 +6,7 @@ - site_api - Pydis Core Latest (9.7.0) + site_api - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -391,12 +391,12 @@

An API wrapper around the Site API.

-class APIClient(site_api_url, site_api_token, **session_kwargs)[source]#
+class APIClient(site_api_url, site_api_token, **session_kwargs)[source]#

Bases: object

A wrapper for the Django Site API.

-__init__(site_api_url, site_api_token, **session_kwargs)[source]#
+__init__(site_api_url, site_api_token, **session_kwargs)[source]#

Initialize a new APIClient instance.

Parameters:
@@ -411,7 +411,7 @@
-async close()[source]#
+async close()[source]#

Close the aiohttp session.

Return type:
@@ -422,7 +422,7 @@
-async delete(endpoint, *, raise_for_status=True, **kwargs)[source]#
+async delete(endpoint, *, raise_for_status=True, **kwargs)[source]#

Send a DELETE request to the site API and return the JSON response.

Parameters:
@@ -443,7 +443,7 @@
-async get(endpoint, *, raise_for_status=True, **kwargs)[source]#
+async get(endpoint, *, raise_for_status=True, **kwargs)[source]#

Equivalent to APIClient.request() with GET passed as the method.

Return type:
@@ -454,7 +454,7 @@
-async static maybe_raise_for_status(response, should_raise)[source]#
+async static maybe_raise_for_status(response, should_raise)[source]#

Raise ResponseCodeError for non-OK response if an exception should be raised.

Parameters:
@@ -474,7 +474,7 @@
-async patch(endpoint, *, raise_for_status=True, **kwargs)[source]#
+async patch(endpoint, *, raise_for_status=True, **kwargs)[source]#

Equivalent to APIClient.request() with PATCH passed as the method.

Return type:
@@ -485,7 +485,7 @@
-async post(endpoint, *, raise_for_status=True, **kwargs)[source]#
+async post(endpoint, *, raise_for_status=True, **kwargs)[source]#

Equivalent to APIClient.request() with POST passed as the method.

Return type:
@@ -496,7 +496,7 @@
-async put(endpoint, *, raise_for_status=True, **kwargs)[source]#
+async put(endpoint, *, raise_for_status=True, **kwargs)[source]#

Equivalent to APIClient.request() with PUT passed as the method.

Return type:
@@ -507,7 +507,7 @@
-async request(method, endpoint, *, raise_for_status=True, **kwargs)[source]#
+async request(method, endpoint, *, raise_for_status=True, **kwargs)[source]#

Send an HTTP request to the site API and return the JSON response.

Parameters:
@@ -534,12 +534,12 @@
-exception ResponseCodeError(response, response_json=None, response_text=None)[source]#
+exception ResponseCodeError(response, response_json=None, response_text=None)[source]#

Bases: ValueError

Raised in APIClient.request() when a non-OK HTTP response is received.

-__init__(response, response_json=None, response_text=None)[source]#
+__init__(response, response_json=None, response_text=None)[source]#

Initialize a new ResponseCodeError instance.

Parameters:
@@ -554,7 +554,7 @@
-__str__()[source]#
+__str__()[source]#

Return a string representation of the error.

diff --git a/main/output/pydis_core.utils.caching.html b/main/output/pydis_core.utils.caching.html index 42252166..9872e1a1 100644 --- a/main/output/pydis_core.utils.caching.html +++ b/main/output/pydis_core.utils.caching.html @@ -6,7 +6,7 @@ - caching - Pydis Core Latest (9.7.0) + caching - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -391,14 +391,14 @@

Utilities related to custom caches.

-class AsyncCache(max_size=128)[source]#
+class AsyncCache(max_size=128)[source]#

Bases: object

LRU cache implementation for coroutines.

Once the cache exceeds the maximum size, keys are deleted in FIFO order.

An offset may be optionally provided to be applied to the coroutine’s arguments when creating the cache key.

-__call__(arg_offset=0)[source]#
+__call__(arg_offset=0)[source]#

Decorator for async cache.

Parameters:
@@ -415,7 +415,7 @@
-__init__(max_size=128)[source]#
+__init__(max_size=128)[source]#

Initialise a new AsyncCache instance.

Parameters:
@@ -426,7 +426,7 @@
-clear()[source]#
+clear()[source]#

Clear cache instance.

Return type:
diff --git a/main/output/pydis_core.utils.channel.html b/main/output/pydis_core.utils.channel.html index f79ec6ab..9b2b9f0a 100644 --- a/main/output/pydis_core.utils.channel.html +++ b/main/output/pydis_core.utils.channel.html @@ -6,7 +6,7 @@ - channel - Pydis Core Latest (9.7.0) + channel - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -391,25 +391,25 @@

Useful helper functions for interacting with various discord channel objects.

-async get_or_fetch_channel(bot, channel_id)[source]#
+async get_or_fetch_channel(bot, channel_id)[source]#

Attempt to get or fetch the given channel_id from the bots cache, and return it.

Parameters:
Raises:
Return type:
-

GuildChannel

+

GuildChannel

Returns:

The channel from the ID.

@@ -419,12 +419,12 @@
-is_in_category(channel, category_id)[source]#
+is_in_category(channel, category_id)[source]#

Return whether the given channel in the the category with the id category_id.

Parameters:
    -
  • channel (TextChannel) – The channel to check.

  • +
  • channel (TextChannel) – The channel to check.

  • category_id (int) – The category to check for.

diff --git a/main/output/pydis_core.utils.commands.html b/main/output/pydis_core.utils.commands.html index 6a1ce232..e5cd879d 100644 --- a/main/output/pydis_core.utils.commands.html +++ b/main/output/pydis_core.utils.commands.html @@ -6,7 +6,7 @@ - commands - Pydis Core Latest (9.7.0) + commands - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -390,17 +390,17 @@

commands#

-async clean_text_or_reply(ctx, text=None)[source]#
+async clean_text_or_reply(ctx, text=None)[source]#

Cleans a text argument or replied message’s content.

Parameters:
    -
  • ctx (Context) – The command’s context

  • +
  • ctx (Context) – The command’s context

  • text (Optional[str]) – The provided text argument of the command (if given)

Raises:
-

discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

+

discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

Return type:

str

diff --git a/main/output/pydis_core.utils.cooldown.html b/main/output/pydis_core.utils.cooldown.html index c5eaa4ad..1c58904e 100644 --- a/main/output/pydis_core.utils.cooldown.html +++ b/main/output/pydis_core.utils.cooldown.html @@ -6,7 +6,7 @@ - cooldown - Pydis Core Latest (9.7.0) + cooldown - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -391,17 +391,17 @@

Helpers for setting a cooldown on commands.

-exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
-

Bases: CommandError, Generic[P, R]

+exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]# +

Bases: CommandError, Generic[P, R]

Raised when a command is invoked while on cooldown.

-__init__(message, function, /, *args, **kwargs)[source]#
+__init__(message, function, /, *args, **kwargs)[source]#
-async call_without_cooldown()[source]#
+async call_without_cooldown()[source]#

Run the command this cooldown blocked.

Return type:
@@ -417,20 +417,20 @@
-P = ~P[source]#
+P = ~P[source]#

The command’s signature.

-class R[source]#
+class R[source]#

The command’s return value.

alias of TypeVar(‘R’)

-block_duplicate_invocations(*, cooldown_duration=5, send_notice=False, args_preprocessor=None)[source]#
+block_duplicate_invocations(*, cooldown_duration=5, send_notice=False, args_preprocessor=None)[source]#

Prevent duplicate invocations of a command with the same arguments in a channel for cooldown_duration seconds.

Parameters:
diff --git a/main/output/pydis_core.utils.error_handling.html b/main/output/pydis_core.utils.error_handling.html index fc5a59c1..46ed3162 100644 --- a/main/output/pydis_core.utils.error_handling.html +++ b/main/output/pydis_core.utils.error_handling.html @@ -6,7 +6,7 @@ - error_handling - Pydis Core Latest (9.7.0) + error_handling - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -390,13 +390,13 @@

error_handling#

-async handle_forbidden_from_block(error, message=None)[source]#
+async handle_forbidden_from_block(error, message=None)[source]#

Handles discord.Forbidden 90001 errors, or re-raises if error isn’t a 90001 error.

Parameters:
    -
  • error (Forbidden) – The raised discord.Forbidden to check.

  • -
  • message (Optional[Message]) – The message to reply to and include in logs, if error is 90001 and message is provided.

  • +
  • error (Forbidden) – The raised discord.Forbidden to check.

  • +
  • message (Optional[Message]) – The message to reply to and include in logs, if error is 90001 and message is provided.

Return type:
diff --git a/main/output/pydis_core.utils.function.html b/main/output/pydis_core.utils.function.html index ef438148..853b64f2 100644 --- a/main/output/pydis_core.utils.function.html +++ b/main/output/pydis_core.utils.function.html @@ -6,7 +6,7 @@ - function - Pydis Core Latest (9.7.0) + function - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -391,14 +391,14 @@

Utils for manipulating functions.

-exception GlobalNameConflictError[source]#
+exception GlobalNameConflictError[source]#

Bases: Exception

Raised on a conflict between the globals used to resolve annotations of a wrapped function and its wrapper.

-command_wraps(wrapped, assigned=('__module__', '__name__', '__qualname__', '__doc__', '__annotations__'), updated=('__dict__',), *, ignored_conflict_names=frozenset({}))[source]#
+command_wraps(wrapped, assigned=('__module__', '__name__', '__qualname__', '__doc__', '__annotations__'), updated=('__dict__',), *, ignored_conflict_names=frozenset({}))[source]#

Update the decorated function to look like wrapped, and update globals for discord.py forwardref evaluation.

See update_wrapper_globals() for more details on how the globals are updated.

@@ -422,7 +422,7 @@ with the wrapper replaced with the function
-update_wrapper_globals(wrapper, wrapped, *, ignored_conflict_names=frozenset({}))[source]#
+update_wrapper_globals(wrapper, wrapped, *, ignored_conflict_names=frozenset({}))[source]#

Create a copy of wrapper, the copy’s globals are updated with wrapped's globals.

For forwardrefs in command annotations, discord.py uses the __global__ attribute of the function to resolve their values. This breaks for decorators that replace the function because they have diff --git a/main/output/pydis_core.utils.html b/main/output/pydis_core.utils.html index 67ebd164..2001549d 100644 --- a/main/output/pydis_core.utils.html +++ b/main/output/pydis_core.utils.html @@ -6,7 +6,7 @@ - Utils - Pydis Core Latest (9.7.0) + Utils - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@

-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -391,7 +391,7 @@

Useful utilities and tools for Discord bot development.

-apply_monkey_patches()[source]#
+apply_monkey_patches()[source]#

Applies all common monkey patches for our bots.

Return type:
@@ -399,7 +399,7 @@
-
Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

It’s stored as an attribute also named root_aliases

@@ -410,7 +410,7 @@ that will act as top-level groups rather than being aliases of the command’s g
-unqualify(name)[source]#
+unqualify(name)[source]#

Return an unqualified name given a qualified module/package name.

Parameters:
diff --git a/main/output/pydis_core.utils.interactions.html b/main/output/pydis_core.utils.interactions.html index c212e23e..1c20b3f6 100644 --- a/main/output/pydis_core.utils.interactions.html +++ b/main/output/pydis_core.utils.interactions.html @@ -6,7 +6,7 @@ - interactions - Pydis Core Latest (9.7.0) + interactions - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
-
Pydis Core Latest (9.7.0)
+
Pydis Core Latest (9.8.0)
@@ -153,7 +153,7 @@
- Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -390,8 +390,8 @@

interactions#

-class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
-

Bases: Button

+class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]# +

Bases: Button

A button that can be added to a view to delete the message containing the view on click.

This button itself carries out no interaction checks, these should be done by the parent view.

See pydis_core.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

@@ -405,12 +405,12 @@
-__init__(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
+__init__(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
-async callback(interaction)[source]#
+async callback(interaction)[source]#

Delete the original message on button click.

Return type:
@@ -423,8 +423,8 @@
-class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
-

Bases: View

+class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]# +

Bases: View

A view that allows the original invoker and moderators to interact with it.

Parameters:
@@ -433,23 +433,23 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • -__init__(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    +__init__(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -async interaction_check(interaction)[source]#
    +async interaction_check(interaction)[source]#

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    @@ -459,7 +459,7 @@ If None
    -async on_timeout()[source]#
    +async on_timeout()[source]#

    Remove the view from self.message if set.

    Return type:
    diff --git a/main/output/pydis_core.utils.logging.html b/main/output/pydis_core.utils.logging.html index e271be9d..2506e1bf 100644 --- a/main/output/pydis_core.utils.logging.html +++ b/main/output/pydis_core.utils.logging.html @@ -6,7 +6,7 @@ - logging - Pydis Core Latest (9.7.0) + logging - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
    @@ -153,7 +153,7 @@
    - Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -391,12 +391,12 @@

    Common logging related functions.

    -class CustomLogger(name, level=0)[source]#
    +class CustomLogger(name, level=0)[source]#

    Bases: Logger

    Custom implementation of the logging.Logger class with an added trace method.

    -trace(msg, *args, **kwargs)[source]#
    +trace(msg, *args, **kwargs)[source]#

    Log the given message with the severity "TRACE".

    To pass exception information, use the keyword argument exc_info with a true value:

    logger.trace("Houston, we have an %s", "interesting problem", exc_info=1)
    @@ -420,7 +420,7 @@
     
     
    -get_logger(name=None)[source]#
    +get_logger(name=None)[source]#

    Utility to make mypy recognise that logger is of type CustomLogger.

    Parameters:
    diff --git a/main/output/pydis_core.utils.members.html b/main/output/pydis_core.utils.members.html index 8e7eca54..90bbe16e 100644 --- a/main/output/pydis_core.utils.members.html +++ b/main/output/pydis_core.utils.members.html @@ -6,7 +6,7 @@ - members - Pydis Core Latest (9.7.0) + members - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
    @@ -153,7 +153,7 @@
    - Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -388,33 +388,33 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    -async get_or_fetch_member(guild, member_id)[source]#
    +async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    -async handle_role_change(member, coro, role)[source]#
    +async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/main/output/pydis_core.utils.paste_service.html b/main/output/pydis_core.utils.paste_service.html index b465009c..6be189c3 100644 --- a/main/output/pydis_core.utils.paste_service.html +++ b/main/output/pydis_core.utils.paste_service.html @@ -6,7 +6,7 @@ - paste_service - Pydis Core Latest (9.7.0) + paste_service - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
    @@ -153,7 +153,7 @@
    - Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -390,13 +390,13 @@

    paste_service#

    -MAX_PASTE_SIZE = 131072[source]#
    +MAX_PASTE_SIZE = 131072[source]#

    The maximum allows size of a paste, in bytes.

    -class PasteResponse[source]#
    +class PasteResponse[source]#

    Bases: TypedDict

    A successful response from the paste service.

    @@ -411,21 +411,21 @@
    -exception PasteTooLongError[source]#
    +exception PasteTooLongError[source]#

    Bases: Exception

    Raised when content is too large to upload to the paste service.

    -exception PasteUploadError[source]#
    +exception PasteUploadError[source]#

    Bases: Exception

    Raised when an error is encountered uploading to the paste service.

    -async send_to_paste_service(*, contents, paste_url, http_session, file_name='', lexer='python', max_size=131072)[source]#
    +async send_to_paste_service(*, contents, paste_url, http_session, file_name='', lexer='python', max_size=131072)[source]#

    Upload some contents to the paste service.

    Parameters:
    diff --git a/main/output/pydis_core.utils.regex.html b/main/output/pydis_core.utils.regex.html index 1d2e3885..c9ef4440 100644 --- a/main/output/pydis_core.utils.regex.html +++ b/main/output/pydis_core.utils.regex.html @@ -6,7 +6,7 @@ - regex - Pydis Core Latest (9.7.0) + regex - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
    @@ -153,7 +153,7 @@
    - Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -391,7 +391,7 @@

    Common regular expressions.

    -DISCORD_INVITE[source]#
    +DISCORD_INVITE[source]#

    Regex for Discord server invites.

    Warning

    @@ -405,7 +405,7 @@ such as
    -FORMATTED_CODE_REGEX[source]#
    +FORMATTED_CODE_REGEX[source]#

    Regex for formatted code, using Discord’s code blocks.

    @@ -413,7 +413,7 @@ such as
    -RAW_CODE_REGEX[source]#
    +RAW_CODE_REGEX[source]#

    Regex for raw code, not using Discord’s code blocks.

    diff --git a/main/output/pydis_core.utils.scheduling.html b/main/output/pydis_core.utils.scheduling.html index b81218ec..c16c4717 100644 --- a/main/output/pydis_core.utils.scheduling.html +++ b/main/output/pydis_core.utils.scheduling.html @@ -6,7 +6,7 @@ - scheduling - Pydis Core Latest (9.7.0) + scheduling - Pydis Core Latest (9.8.0) @@ -127,7 +127,7 @@
    @@ -153,7 +153,7 @@
    - Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) @@ -391,7 +391,7 @@

    Generic python scheduler.

    -class Scheduler(name)[source]#
    +class Scheduler(name)[source]#

    Bases: object

    Schedule the execution of coroutines and keep track of them.

    When instantiating a Scheduler, a name must be provided. This name is used to distinguish the @@ -405,7 +405,7 @@ the same ID used to schedule it.

    Any exception raised in a scheduled task is logged when the task is done.

    -__contains__(task_id)[source]#
    +__contains__(task_id)[source]#

    Return True if a task with the given task_id is currently scheduled.

    Parameters:
    @@ -422,7 +422,7 @@ the same ID used to schedule it.

    -__init__(name)[source]#
    +__init__(name)[source]#

    Initialize a new Scheduler instance.

    Parameters:
    @@ -433,7 +433,7 @@ the same ID used to schedule it.

    -cancel(task_id)[source]#
    +cancel(task_id)[source]#

    Unschedule the task identified by task_id. Log a warning if the task doesn’t exist.

    Parameters:
    @@ -447,7 +447,7 @@ the same ID used to schedule it.

    -cancel_all()[source]#
    +cancel_all()[source]#

    Unschedule all known tasks.

    Return type:
    @@ -458,7 +458,7 @@ the same ID used to schedule it.

    -schedule(task_id, coroutine)[source]#
    +schedule(task_id, coroutine)[source]#

    Schedule the execution of a coroutine.

    If a task with task_id already exists, close coroutine instead of scheduling it. This prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-used elsewhere.

    @@ -477,7 +477,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
    -schedule_at(time, task_id, coroutine)[source]#
    +schedule_at(time, task_id, coroutine)[source]#

    Schedule coroutine to be executed at the given time.

    If time is timezone aware, then use that timezone to calculate now() when subtracting. If time is naïve, then use UTC.

    @@ -500,7 +500,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
    -schedule_later(delay, task_id, coroutine)[source]#
    +schedule_later(delay, task_id, coroutine)[source]#

    Schedule coroutine to be executed after delay seconds.

    If a task with task_id already exists, close coroutine instead of scheduling it. This prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-used elsewhere.

    @@ -522,7 +522,7 @@ prevents unawaited coroutine warnings. Don’t pass a coroutine that’ll be re-
    -create_task(coro, *, suppressed_exceptions=(), event_loop=None, **kwargs)[source]#
    +create_task(coro, *, suppressed_exceptions=(), event_loop=None, **kwargs)[source]#

    Wrapper for creating an asyncio.Task which logs exceptions raised in the task.

    If the event_loop kwarg is provided, the task is created from that event loop, otherwise the running loop is used.

    diff --git a/main/py-modindex.html b/main/py-modindex.html index d5546fa4..9e1d767b 100644 --- a/main/py-modindex.html +++ b/main/py-modindex.html @@ -4,7 +4,7 @@ - Python Module Index - Pydis Core Latest (9.7.0) + Python Module Index - Pydis Core Latest (9.8.0) @@ -125,7 +125,7 @@
    @@ -151,7 +151,7 @@
    - Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) diff --git a/main/search.html b/main/search.html index a313073e..ea01f691 100644 --- a/main/search.html +++ b/main/search.html @@ -4,7 +4,7 @@ - Search - Pydis Core Latest (9.7.0) + Search - Pydis Core Latest (9.8.0) @@ -124,7 +124,7 @@
    @@ -150,7 +150,7 @@
    - Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) diff --git a/main/searchindex.js b/main/searchindex.js index e3ff930c..c730954a 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.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.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.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.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "7": 0, "0": [0, 8, 14, 15], "10th": 0, "june": 0, "2023": 0, "featur": [0, 1, 3], "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "add": [0, 3, 11], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "support": [0, 4, 7, 19], "bump": 0, "py": [0, 13], "2": [0, 3, 14], "3": 0, "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 3, 6, 8, 10, 11, 12, 14, 15, 16], "match": [0, 3], "lead": 0, "http": [0, 6, 18], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "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, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "url": [0, 3, 6, 17], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "buttonstyl": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "131072": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "encount": 17, "paste_url": 17, "file_nam": 17, "lexer": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "site_api": [[6, "module-pydis_core.site_api"]], "Utils": [[7, "module-pydis_core.utils"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Exts": [[5, "module-pydis_core.exts"]], "Changelog": [[0, "changelog"]], "channel": [[9, "module-pydis_core.utils.channel"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "members": [[16, "module-pydis_core.utils.members"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "logging": [[15, "module-pydis_core.utils.logging"]], "function": [[13, "module-pydis_core.utils.function"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "regex": [[18, "module-pydis_core.utils.regex"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "commands": [[10, "module-pydis_core.utils.commands"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "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.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.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.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.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "8": 0, "0": [0, 8, 14, 15], "13th": 0, "june": 0, "2023": 0, "support": [0, 4, 7, 19], "181": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "py": [0, 13], "2": [0, 3, 14], "3": 0, "7": 0, "10th": 0, "featur": [0, 1, 3], "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "add": [0, 3, 11], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "pypi": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 3, 6, 8, 10, 11, 12, 14, 15, 16], "match": [0, 3], "lead": 0, "http": [0, 6, 18], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "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, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "url": [0, 3, 6, 17], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "buttonstyl": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "131072": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "encount": 17, "paste_url": 17, "file_nam": 17, "lexer": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Utils": [[7, "module-pydis_core.utils"]], "site_api": [[6, "module-pydis_core.site_api"]], "Changelog": [[0, "changelog"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "function": [[13, "module-pydis_core.utils.function"]], "logging": [[15, "module-pydis_core.utils.logging"]], "commands": [[10, "module-pydis_core.utils.commands"]], "regex": [[18, "module-pydis_core.utils.regex"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "members": [[16, "module-pydis_core.utils.members"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/main/versions.html b/main/versions.html index 2fb19c14..c6b0777b 100644 --- a/main/versions.html +++ b/main/versions.html @@ -5,7 +5,7 @@ - Versions - Pydis Core Latest (9.7.0) + Versions - Pydis Core Latest (9.8.0) @@ -126,7 +126,7 @@
    @@ -152,7 +152,7 @@
    - Pydis Core Latest (9.7.0) + Pydis Core Latest (9.8.0) diff --git a/v7.1.1/.buildinfo b/v7.1.1/.buildinfo index e1863a50..735728ea 100644 --- a/v7.1.1/.buildinfo +++ b/v7.1.1/.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: d6d79eb30b708b4238dc5948f38f9038 +config: 73d09b15f88918d4458ca28e21acd42e tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v7.1.1/output/botcore.html b/v7.1.1/output/botcore.html index e9065d3e..82d007dc 100644 --- a/v7.1.1/output/botcore.html +++ b/v7.1.1/output/botcore.html @@ -385,7 +385,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -516,7 +516,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v7.1.1/output/botcore.utils.channel.html b/v7.1.1/output/botcore.utils.channel.html index db24ef9d..1c4b58aa 100644 --- a/v7.1.1/output/botcore.utils.channel.html +++ b/v7.1.1/output/botcore.utils.channel.html @@ -389,20 +389,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -417,7 +417,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v7.1.1/output/botcore.utils.html b/v7.1.1/output/botcore.utils.html index a9447575..85f4c270 100644 --- a/v7.1.1/output/botcore.utils.html +++ b/v7.1.1/output/botcore.utils.html @@ -392,7 +392,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v7.1.1/output/botcore.utils.members.html b/v7.1.1/output/botcore.utils.members.html index 6981bae8..169624e8 100644 --- a/v7.1.1/output/botcore.utils.members.html +++ b/v7.1.1/output/botcore.utils.members.html @@ -381,17 +381,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -401,12 +401,12 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with member as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v7.1.1/searchindex.js b/v7.1.1/searchindex.js index 69aa2168..bd8774bd 100644 --- a/v7.1.1/searchindex.js +++ b/v7.1.1/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": 0, "x": 0, "featur": [0, 2], "releas": 0, "support": [0, 3, 6, 12], "79": 0, "restor": 0, "site": [0, 5], "add": [0, 2], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "1": [0, 9], "0": [0, 7, 9], "24th": 0, "mai": [0, 7], "2022": 0, "78": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 10, 11, 12], "fix": 0, "bug": 0, "permiss": [0, 8], "resolut": 0, "when": [0, 2, 3, 5, 6, 7, 12], "deal": 0, "time": [0, 12], "out": 0, "member": [0, 2, 6], "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "our": [0, 6], "now": [0, 12], "3": 0, "2": [0, 2], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "statsd_url": [0, 2], "get": [0, 2, 5, 8, 10], "pass": [0, 5, 9, 10, 12], "botbas": [0, 1, 2], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "i": [0, 2, 5, 6, 8, 9, 10, 12], "close": [0, 1, 2, 5, 12], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "creat": [0, 2, 3, 7, 12], "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "connect": [0, 2, 3], "real": 0, "case": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "which": [0, 6, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "9th": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "ping_servic": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "none": [2, 3, 5, 6, 7, 9, 10, 12], "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "paramet": [2, 3, 5, 6, 7, 8, 9, 10, 12], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "attempt": [2, 8, 10], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "self": 2, "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "onli": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "handle_role_chang": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "stat": 3, "new": [3, 5, 7, 12], "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "request_text": 5, "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": 6, "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "wa": [8, 12], "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "await": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"caching": [[7, "module-botcore.utils.caching"]], "regex": [[11, "module-botcore.utils.regex"]], "channel": [[8, "module-botcore.utils.channel"]], "members": [[10, "module-botcore.utils.members"]], "logging": [[9, "module-botcore.utils.logging"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Exts": [[4, "module-botcore.exts"]], "Changelog": [[0, "changelog"]], "site_api": [[5, "module-botcore.site_api"]], "async_stats": [[3, "module-botcore.async_stats"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": 0, "x": 0, "featur": [0, 2], "releas": 0, "support": [0, 3, 6, 12], "79": 0, "restor": 0, "site": [0, 5], "add": [0, 2], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "1": [0, 9], "0": [0, 7, 9], "24th": 0, "mai": [0, 7], "2022": 0, "78": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 10, 11, 12], "fix": 0, "bug": 0, "permiss": [0, 8], "resolut": 0, "when": [0, 2, 3, 5, 6, 7, 12], "deal": 0, "time": [0, 12], "out": 0, "member": [0, 2, 6], "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "our": [0, 6], "now": [0, 12], "3": 0, "2": [0, 2], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "statsd_url": [0, 2], "get": [0, 2, 5, 8, 10], "pass": [0, 5, 9, 10, 12], "botbas": [0, 1, 2], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "i": [0, 2, 5, 6, 8, 9, 10, 12], "close": [0, 1, 2, 5, 12], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "creat": [0, 2, 3, 7, 12], "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "connect": [0, 2, 3], "real": 0, "case": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "which": [0, 6, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "9th": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "ping_servic": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "none": [2, 3, 5, 6, 7, 9, 10, 12], "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "paramet": [2, 3, 5, 6, 7, 8, 9, 10, 12], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "attempt": [2, 8, 10], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "self": 2, "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "onli": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "handle_role_chang": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "stat": 3, "new": [3, 5, 7, 12], "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "request_text": 5, "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": 6, "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "wa": [8, 12], "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "await": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"channel": [[8, "module-botcore.utils.channel"]], "logging": [[9, "module-botcore.utils.logging"]], "caching": [[7, "module-botcore.utils.caching"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "regex": [[11, "module-botcore.utils.regex"]], "members": [[10, "module-botcore.utils.members"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Exts": [[4, "module-botcore.exts"]], "site_api": [[5, "module-botcore.site_api"]], "async_stats": [[3, "module-botcore.async_stats"]], "Changelog": [[0, "changelog"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v7.1.2/.buildinfo b/v7.1.2/.buildinfo index f010a6c2..5e0c25cc 100644 --- a/v7.1.2/.buildinfo +++ b/v7.1.2/.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: 150e40d18ba7989d4ff6b0005043c247 +config: 3aa97f8dcc970f5fa224f04580446130 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v7.1.2/output/botcore.html b/v7.1.2/output/botcore.html index 6876502a..1e8ad46f 100644 --- a/v7.1.2/output/botcore.html +++ b/v7.1.2/output/botcore.html @@ -385,7 +385,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -516,7 +516,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v7.1.2/output/botcore.utils.channel.html b/v7.1.2/output/botcore.utils.channel.html index 11cd2308..623d2bc9 100644 --- a/v7.1.2/output/botcore.utils.channel.html +++ b/v7.1.2/output/botcore.utils.channel.html @@ -389,20 +389,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -417,7 +417,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v7.1.2/output/botcore.utils.html b/v7.1.2/output/botcore.utils.html index f2526e4c..07cc1fd8 100644 --- a/v7.1.2/output/botcore.utils.html +++ b/v7.1.2/output/botcore.utils.html @@ -392,7 +392,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v7.1.2/output/botcore.utils.members.html b/v7.1.2/output/botcore.utils.members.html index a838dbea..96a25854 100644 --- a/v7.1.2/output/botcore.utils.members.html +++ b/v7.1.2/output/botcore.utils.members.html @@ -381,17 +381,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -401,12 +401,12 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with member as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v7.1.2/searchindex.js b/v7.1.2/searchindex.js index 547e8934..1b001ca4 100644 --- a/v7.1.2/searchindex.js +++ b/v7.1.2/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": [0, 5], "x": 0, "featur": [0, 2], "releas": 0, "support": [0, 3, 6, 12], "79": 0, "restor": 0, "site": [0, 5], "add": [0, 2], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "1": [0, 5, 9], "0": [0, 7, 9], "24th": 0, "mai": [0, 7], "2022": 0, "78": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "4cbe8f5": 0, "thi": [0, 2, 5, 6, 8, 10, 11, 12], "fix": 0, "bug": 0, "permiss": [0, 8], "resolut": 0, "when": [0, 2, 3, 5, 6, 7, 12], "deal": 0, "time": [0, 12], "out": 0, "member": [0, 2, 6], "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "our": [0, 6], "now": [0, 12], "3": 0, "2": [0, 2, 5], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "statsd_url": [0, 2], "get": [0, 2, 5, 8, 10], "pass": [0, 5, 9, 10, 12], "botbas": [0, 1, 2], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 5], "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "i": [0, 2, 5, 6, 8, 9, 10, 12], "close": [0, 1, 2, 5, 12], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "creat": [0, 2, 3, 7, 12], "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "connect": [0, 2, 3], "real": 0, "case": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "which": [0, 6, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "9th": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "ping_servic": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "none": [2, 3, 5, 6, 7, 9, 10, 12], "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "paramet": [2, 3, 5, 6, 7, 8, 9, 10, 12], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "attempt": [2, 8, 10], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "self": 2, "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "onli": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "handle_role_chang": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "stat": 3, "new": [3, 5, 7, 12], "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "wa": [5, 8, 12], "request_text": 5, "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": 6, "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "await": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "members": [[10, "module-botcore.utils.members"]], "caching": [[7, "module-botcore.utils.caching"]], "channel": [[8, "module-botcore.utils.channel"]], "logging": [[9, "module-botcore.utils.logging"]], "regex": [[11, "module-botcore.utils.regex"]], "Changelog": [[0, "changelog"]], "Exts": [[4, "module-botcore.exts"]], "site_api": [[5, "module-botcore.site_api"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "async_stats": [[3, "module-botcore.async_stats"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": [0, 5], "x": 0, "featur": [0, 2], "releas": 0, "support": [0, 3, 6, 12], "79": 0, "restor": 0, "site": [0, 5], "add": [0, 2], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "1": [0, 5, 9], "0": [0, 7, 9], "24th": 0, "mai": [0, 7], "2022": 0, "78": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "4cbe8f5": 0, "thi": [0, 2, 5, 6, 8, 10, 11, 12], "fix": 0, "bug": 0, "permiss": [0, 8], "resolut": 0, "when": [0, 2, 3, 5, 6, 7, 12], "deal": 0, "time": [0, 12], "out": 0, "member": [0, 2, 6], "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "our": [0, 6], "now": [0, 12], "3": 0, "2": [0, 2, 5], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "statsd_url": [0, 2], "get": [0, 2, 5, 8, 10], "pass": [0, 5, 9, 10, 12], "botbas": [0, 1, 2], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 5], "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "i": [0, 2, 5, 6, 8, 9, 10, 12], "close": [0, 1, 2, 5, 12], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "creat": [0, 2, 3, 7, 12], "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "connect": [0, 2, 3], "real": 0, "case": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "which": [0, 6, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "9th": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "ping_servic": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "none": [2, 3, 5, 6, 7, 9, 10, 12], "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "paramet": [2, 3, 5, 6, 7, 8, 9, 10, 12], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "attempt": [2, 8, 10], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "self": 2, "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "onli": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "handle_role_chang": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "stat": 3, "new": [3, 5, 7, 12], "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "wa": [5, 8, 12], "request_text": 5, "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": 6, "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "await": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"channel": [[8, "module-botcore.utils.channel"]], "logging": [[9, "module-botcore.utils.logging"]], "members": [[10, "module-botcore.utils.members"]], "regex": [[11, "module-botcore.utils.regex"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "caching": [[7, "module-botcore.utils.caching"]], "site_api": [[5, "module-botcore.site_api"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Changelog": [[0, "changelog"]], "async_stats": [[3, "module-botcore.async_stats"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Exts": [[4, "module-botcore.exts"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v7.1.3/.buildinfo b/v7.1.3/.buildinfo index 3eee2185..cbb62fee 100644 --- a/v7.1.3/.buildinfo +++ b/v7.1.3/.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: af250bda674e73628a5a6d64b5d1cc11 +config: 8aec1d1adf19b6a50c3b3a1c27ba53ec tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v7.1.3/output/botcore.html b/v7.1.3/output/botcore.html index 73b2e69f..5b0b4edb 100644 --- a/v7.1.3/output/botcore.html +++ b/v7.1.3/output/botcore.html @@ -385,7 +385,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -516,7 +516,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v7.1.3/output/botcore.utils.channel.html b/v7.1.3/output/botcore.utils.channel.html index 0d872ba8..914d4648 100644 --- a/v7.1.3/output/botcore.utils.channel.html +++ b/v7.1.3/output/botcore.utils.channel.html @@ -389,20 +389,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -417,7 +417,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v7.1.3/output/botcore.utils.html b/v7.1.3/output/botcore.utils.html index 17b3c479..275f8ad3 100644 --- a/v7.1.3/output/botcore.utils.html +++ b/v7.1.3/output/botcore.utils.html @@ -392,7 +392,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v7.1.3/output/botcore.utils.members.html b/v7.1.3/output/botcore.utils.members.html index a0d3ca8b..4ca26784 100644 --- a/v7.1.3/output/botcore.utils.members.html +++ b/v7.1.3/output/botcore.utils.members.html @@ -381,17 +381,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -401,12 +401,12 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with member as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v7.1.3/searchindex.js b/v7.1.3/searchindex.js index d103ee6d..0b5b8dbe 100644 --- a/v7.1.3/searchindex.js +++ b/v7.1.3/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": [0, 5], "x": 0, "featur": [0, 2], "releas": 0, "support": [0, 3, 6, 12], "79": 0, "restor": 0, "site": [0, 5], "add": [0, 2], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "1": [0, 5, 9], "0": [0, 7, 9], "24th": 0, "mai": [0, 7], "2022": 0, "78": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 10, 11, 12], "fix": 0, "bug": 0, "permiss": [0, 8], "resolut": 0, "when": [0, 2, 3, 5, 6, 7, 12], "deal": 0, "time": [0, 12], "out": 0, "member": [0, 2, 6], "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "our": [0, 6], "now": [0, 12], "3": [0, 5], "2": [0, 2], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "statsd_url": [0, 2], "get": [0, 2, 5, 8, 10], "pass": [0, 5, 9, 10, 12], "botbas": [0, 1, 2], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": [0, 5], "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "i": [0, 2, 5, 6, 8, 9, 10, 12], "close": [0, 1, 2, 5, 12], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "creat": [0, 2, 3, 7, 12], "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "connect": [0, 2, 3], "real": 0, "case": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "which": [0, 6, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "9th": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "ping_servic": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "none": [2, 3, 5, 6, 7, 9, 10, 12], "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "paramet": [2, 3, 5, 6, 7, 8, 9, 10, 12], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "attempt": [2, 8, 10], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "self": 2, "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "onli": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "handle_role_chang": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "stat": 3, "new": [3, 5, 7, 12], "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "And": 5, "request_text": 5, "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": 6, "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "wa": [8, 12], "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "await": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "channel": [[8, "module-botcore.utils.channel"]], "regex": [[11, "module-botcore.utils.regex"]], "members": [[10, "module-botcore.utils.members"]], "logging": [[9, "module-botcore.utils.logging"]], "caching": [[7, "module-botcore.utils.caching"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Exts": [[4, "module-botcore.exts"]], "async_stats": [[3, "module-botcore.async_stats"]], "site_api": [[5, "module-botcore.site_api"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": [0, 5], "x": 0, "featur": [0, 2], "releas": 0, "support": [0, 3, 6, 12], "79": 0, "restor": 0, "site": [0, 5], "add": [0, 2], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "1": [0, 5, 9], "0": [0, 7, 9], "24th": 0, "mai": [0, 7], "2022": 0, "78": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 10, 11, 12], "fix": 0, "bug": 0, "permiss": [0, 8], "resolut": 0, "when": [0, 2, 3, 5, 6, 7, 12], "deal": 0, "time": [0, 12], "out": 0, "member": [0, 2, 6], "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "our": [0, 6], "now": [0, 12], "3": [0, 5], "2": [0, 2], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "statsd_url": [0, 2], "get": [0, 2, 5, 8, 10], "pass": [0, 5, 9, 10, 12], "botbas": [0, 1, 2], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": [0, 5], "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "i": [0, 2, 5, 6, 8, 9, 10, 12], "close": [0, 1, 2, 5, 12], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "creat": [0, 2, 3, 7, 12], "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "connect": [0, 2, 3], "real": 0, "case": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "which": [0, 6, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "9th": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "ping_servic": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "none": [2, 3, 5, 6, 7, 9, 10, 12], "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "paramet": [2, 3, 5, 6, 7, 8, 9, 10, 12], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "attempt": [2, 8, 10], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "self": 2, "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "onli": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "handle_role_chang": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "stat": 3, "new": [3, 5, 7, 12], "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "And": 5, "request_text": 5, "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": 6, "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "wa": [8, 12], "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "await": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"members": [[10, "module-botcore.utils.members"]], "logging": [[9, "module-botcore.utils.logging"]], "channel": [[8, "module-botcore.utils.channel"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "caching": [[7, "module-botcore.utils.caching"]], "regex": [[11, "module-botcore.utils.regex"]], "site_api": [[5, "module-botcore.site_api"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "async_stats": [[3, "module-botcore.async_stats"]], "Exts": [[4, "module-botcore.exts"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v7.2.0/.buildinfo b/v7.2.0/.buildinfo index 35727c71..9220b189 100644 --- a/v7.2.0/.buildinfo +++ b/v7.2.0/.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: bb63885b7ffc28237ce32a750c460f80 +config: 1e79b587f6112c3610ac181f51beabb7 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v7.2.0/output/botcore.html b/v7.2.0/output/botcore.html index f1916c76..c39a3833 100644 --- a/v7.2.0/output/botcore.html +++ b/v7.2.0/output/botcore.html @@ -385,7 +385,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -516,7 +516,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v7.2.0/output/botcore.utils.channel.html b/v7.2.0/output/botcore.utils.channel.html index e3302829..589332bf 100644 --- a/v7.2.0/output/botcore.utils.channel.html +++ b/v7.2.0/output/botcore.utils.channel.html @@ -389,20 +389,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -417,7 +417,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v7.2.0/output/botcore.utils.html b/v7.2.0/output/botcore.utils.html index c224c435..212e71ed 100644 --- a/v7.2.0/output/botcore.utils.html +++ b/v7.2.0/output/botcore.utils.html @@ -392,7 +392,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v7.2.0/output/botcore.utils.members.html b/v7.2.0/output/botcore.utils.members.html index 0f0d82b7..0cb5bf84 100644 --- a/v7.2.0/output/botcore.utils.members.html +++ b/v7.2.0/output/botcore.utils.members.html @@ -381,17 +381,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -401,12 +401,12 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with member as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v7.2.0/searchindex.js b/v7.2.0/searchindex.js index 1c2ef618..fe1ede06 100644 --- a/v7.2.0/searchindex.js +++ b/v7.2.0/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "2": [0, 2], "0": [0, 7, 9], "28th": 0, "june": 0, "2022": 0, "support": [0, 3, 6, 12], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "0eb3d26": 0, "add": [0, 2], "auto": 0, "mod": 0, "which": [0, 6, 12], "new": [0, 3, 5, 7, 12], "auto_mod": 0, "message_typ": 0, "i": [0, 2, 5, 6, 8, 9, 10, 12], "need": 0, "our": [0, 6], "filter": 0, "system": 0, "1": [0, 9], "3": 0, "30th": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "featur": [0, 2], "78": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 10, 11, 12], "fix": 0, "bug": 0, "permiss": [0, 8], "resolut": 0, "when": [0, 2, 3, 5, 6, 7, 12], "deal": 0, "time": [0, 12], "out": 0, "member": [0, 2, 6], "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "now": [0, 12], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "statsd_url": [0, 2], "get": [0, 2, 5, 8, 10], "pass": [0, 5, 9, 10, 12], "botbas": [0, 1, 2], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "close": [0, 1, 2, 5, 12], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "creat": [0, 2, 3, 7, 12], "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "connect": [0, 2, 3], "real": 0, "case": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "9th": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "ping_servic": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "none": [2, 3, 5, 6, 7, 9, 10, 12], "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "paramet": [2, 3, 5, 6, 7, 8, 9, 10, 12], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "attempt": [2, 8, 10], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "self": 2, "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "onli": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "handle_role_chang": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "stat": 3, "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "request_text": 5, "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": 6, "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "wa": [8, 12], "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "await": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"logging": [[9, "module-botcore.utils.logging"]], "members": [[10, "module-botcore.utils.members"]], "regex": [[11, "module-botcore.utils.regex"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "channel": [[8, "module-botcore.utils.channel"]], "caching": [[7, "module-botcore.utils.caching"]], "site_api": [[5, "module-botcore.site_api"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "async_stats": [[3, "module-botcore.async_stats"]], "Exts": [[4, "module-botcore.exts"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "2": [0, 2], "0": [0, 7, 9], "28th": 0, "june": 0, "2022": 0, "support": [0, 3, 6, 12], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "0eb3d26": 0, "add": [0, 2], "auto": 0, "mod": 0, "which": [0, 6, 12], "new": [0, 3, 5, 7, 12], "auto_mod": 0, "message_typ": 0, "i": [0, 2, 5, 6, 8, 9, 10, 12], "need": 0, "our": [0, 6], "filter": 0, "system": 0, "1": [0, 9], "3": 0, "30th": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "featur": [0, 2], "78": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 10, 11, 12], "fix": 0, "bug": 0, "permiss": [0, 8], "resolut": 0, "when": [0, 2, 3, 5, 6, 7, 12], "deal": 0, "time": [0, 12], "out": 0, "member": [0, 2, 6], "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "now": [0, 12], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "statsd_url": [0, 2], "get": [0, 2, 5, 8, 10], "pass": [0, 5, 9, 10, 12], "botbas": [0, 1, 2], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "close": [0, 1, 2, 5, 12], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "creat": [0, 2, 3, 7, 12], "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "connect": [0, 2, 3], "real": 0, "case": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "9th": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "ping_servic": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "none": [2, 3, 5, 6, 7, 9, 10, 12], "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "paramet": [2, 3, 5, 6, 7, 8, 9, 10, 12], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "attempt": [2, 8, 10], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "self": 2, "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "onli": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "handle_role_chang": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "stat": 3, "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "request_text": 5, "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": 6, "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "wa": [8, 12], "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "await": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"regex": [[11, "module-botcore.utils.regex"]], "channel": [[8, "module-botcore.utils.channel"]], "logging": [[9, "module-botcore.utils.logging"]], "caching": [[7, "module-botcore.utils.caching"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "members": [[10, "module-botcore.utils.members"]], "Exts": [[4, "module-botcore.exts"]], "Changelog": [[0, "changelog"]], "async_stats": [[3, "module-botcore.async_stats"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "site_api": [[5, "module-botcore.site_api"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v7.2.1/.buildinfo b/v7.2.1/.buildinfo index 1b78b15b..e1235dbb 100644 --- a/v7.2.1/.buildinfo +++ b/v7.2.1/.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: f082544a50adcd5ba0ccde86b3ea0da3 +config: ff41d7ebbb72c92fd8d322129718e5b0 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v7.2.1/output/botcore.html b/v7.2.1/output/botcore.html index 80de65dd..f6e0c806 100644 --- a/v7.2.1/output/botcore.html +++ b/v7.2.1/output/botcore.html @@ -385,7 +385,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -516,7 +516,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v7.2.1/output/botcore.utils.channel.html b/v7.2.1/output/botcore.utils.channel.html index d083b48d..c5d51434 100644 --- a/v7.2.1/output/botcore.utils.channel.html +++ b/v7.2.1/output/botcore.utils.channel.html @@ -389,20 +389,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -417,7 +417,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v7.2.1/output/botcore.utils.html b/v7.2.1/output/botcore.utils.html index 7e68436d..61de0c39 100644 --- a/v7.2.1/output/botcore.utils.html +++ b/v7.2.1/output/botcore.utils.html @@ -392,7 +392,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v7.2.1/output/botcore.utils.members.html b/v7.2.1/output/botcore.utils.members.html index 4e72bcad..841d9407 100644 --- a/v7.2.1/output/botcore.utils.members.html +++ b/v7.2.1/output/botcore.utils.members.html @@ -381,17 +381,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -401,13 +401,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v7.2.1/searchindex.js b/v7.2.1/searchindex.js index 6ba1c511..ea91f901 100644 --- a/v7.2.1/searchindex.js +++ b/v7.2.1/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "2": [0, 2], "1": [0, 9], "30th": 0, "june": 0, "2022": 0, "bug": 0, "91": 0, "add": [0, 2], "miss": 0, "await": [0, 10], "botbas": [0, 1, 2], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 9, 10, 12], "self": [0, 2], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "fix": 0, "incorrect": 0, "docstr": 0, "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 10], "96": 0, "attempt": [0, 2, 8, 10], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 12], "i": [0, 2, 5, 6, 8, 9, 10, 12], "none": [0, 2, 3, 5, 6, 7, 9, 10, 12], "0": [0, 7, 9], "28th": 0, "support": [0, 3, 6, 12], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 12], "new": [0, 3, 5, 7, 12], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "3": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "featur": [0, 2], "78": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 10, 11, 12], "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 12], "out": 0, "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "now": [0, 12], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "get": [0, 2, 5, 8, 10], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "close": [0, 1, 2, 5, 12], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "creat": [0, 2, 3, 7, 12], "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 10, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "9th": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "onli": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "stat": 3, "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": [6, 10], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "wa": [8, 12], "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "modifi": 10, "purpos": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "typevar": 12, "task_return": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "caching": [[7, "module-botcore.utils.caching"]], "channel": [[8, "module-botcore.utils.channel"]], "members": [[10, "module-botcore.utils.members"]], "logging": [[9, "module-botcore.utils.logging"]], "regex": [[11, "module-botcore.utils.regex"]], "site_api": [[5, "module-botcore.site_api"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Exts": [[4, "module-botcore.exts"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "async_stats": [[3, "module-botcore.async_stats"]], "Changelog": [[0, "changelog"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "2": [0, 2], "1": [0, 9], "30th": 0, "june": 0, "2022": 0, "bug": 0, "91": 0, "add": [0, 2], "miss": 0, "await": [0, 10], "botbas": [0, 1, 2], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 9, 10, 12], "self": [0, 2], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "fix": 0, "incorrect": 0, "docstr": 0, "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 10], "96": 0, "attempt": [0, 2, 8, 10], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 12], "i": [0, 2, 5, 6, 8, 9, 10, 12], "none": [0, 2, 3, 5, 6, 7, 9, 10, 12], "0": [0, 7, 9], "28th": 0, "support": [0, 3, 6, 12], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 12], "new": [0, 3, 5, 7, 12], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "3": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "featur": [0, 2], "78": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 10, 11, 12], "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 12], "out": 0, "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "now": [0, 12], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "get": [0, 2, 5, 8, 10], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "close": [0, 1, 2, 5, 12], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "creat": [0, 2, 3, 7, 12], "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 10, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "9th": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "onli": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "stat": 3, "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": [6, 10], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "wa": [8, 12], "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "modifi": 10, "purpos": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "typevar": 12, "task_return": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"members": [[10, "module-botcore.utils.members"]], "regex": [[11, "module-botcore.utils.regex"]], "logging": [[9, "module-botcore.utils.logging"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "channel": [[8, "module-botcore.utils.channel"]], "caching": [[7, "module-botcore.utils.caching"]], "site_api": [[5, "module-botcore.site_api"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Changelog": [[0, "changelog"]], "Exts": [[4, "module-botcore.exts"]], "async_stats": [[3, "module-botcore.async_stats"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v7.2.2/.buildinfo b/v7.2.2/.buildinfo index 5f0badce..8b2651a7 100644 --- a/v7.2.2/.buildinfo +++ b/v7.2.2/.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: f50835a6d6fee426838ae1ac17204219 +config: d34e87ec248b6c62ab1a5cbcc4291198 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v7.2.2/output/botcore.html b/v7.2.2/output/botcore.html index d160be3e..234f4afa 100644 --- a/v7.2.2/output/botcore.html +++ b/v7.2.2/output/botcore.html @@ -385,7 +385,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -516,7 +516,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v7.2.2/output/botcore.utils.channel.html b/v7.2.2/output/botcore.utils.channel.html index 43481cee..802bdad7 100644 --- a/v7.2.2/output/botcore.utils.channel.html +++ b/v7.2.2/output/botcore.utils.channel.html @@ -389,20 +389,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -417,7 +417,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v7.2.2/output/botcore.utils.html b/v7.2.2/output/botcore.utils.html index 03b80cc3..8686fe6d 100644 --- a/v7.2.2/output/botcore.utils.html +++ b/v7.2.2/output/botcore.utils.html @@ -392,7 +392,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v7.2.2/output/botcore.utils.members.html b/v7.2.2/output/botcore.utils.members.html index 1b841548..dcd6a249 100644 --- a/v7.2.2/output/botcore.utils.members.html +++ b/v7.2.2/output/botcore.utils.members.html @@ -381,17 +381,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -401,13 +401,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v7.2.2/searchindex.js b/v7.2.2/searchindex.js index 0a4aaf98..847d3536 100644 --- a/v7.2.2/searchindex.js +++ b/v7.2.2/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "2": [0, 2], "9th": 0, "juli": 0, "2022": 0, "bug": 0, "98": 0, "onli": [0, 2], "close": [0, 1, 2, 5, 12], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 12], "creat": [0, 2, 3, 7, 12], "1": [0, 9], "30th": 0, "june": 0, "91": 0, "add": [0, 2], "miss": 0, "await": [0, 10], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 9, 10, 12], "self": [0, 2], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "fix": 0, "incorrect": 0, "docstr": 0, "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 10], "96": 0, "attempt": [0, 2, 8, 10], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 12], "i": [0, 2, 5, 6, 8, 9, 10, 12], "none": [0, 2, 3, 5, 6, 7, 9, 10, 12], "0": [0, 7, 9], "28th": 0, "support": [0, 3, 6, 12], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 12], "new": [0, 3, 5, 7, 12], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "3": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "featur": [0, 2], "78": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 10, 11, 12], "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 12], "out": 0, "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "now": [0, 12], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "get": [0, 2, 5, 8, 10], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 10, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": [6, 10], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "modifi": 10, "purpos": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "typevar": 12, "task_return": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"logging": [[9, "module-botcore.utils.logging"]], "channel": [[8, "module-botcore.utils.channel"]], "members": [[10, "module-botcore.utils.members"]], "regex": [[11, "module-botcore.utils.regex"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "caching": [[7, "module-botcore.utils.caching"]], "Exts": [[4, "module-botcore.exts"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "site_api": [[5, "module-botcore.site_api"]], "Changelog": [[0, "changelog"]], "async_stats": [[3, "module-botcore.async_stats"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "2": [0, 2], "9th": 0, "juli": 0, "2022": 0, "bug": 0, "98": 0, "onli": [0, 2], "close": [0, 1, 2, 5, 12], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 12], "creat": [0, 2, 3, 7, 12], "1": [0, 9], "30th": 0, "june": 0, "91": 0, "add": [0, 2], "miss": 0, "await": [0, 10], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 9, 10, 12], "self": [0, 2], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "fix": 0, "incorrect": 0, "docstr": 0, "botcor": [0, 1], "util": [0, 1, 2, 7, 9], "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 10], "96": 0, "attempt": [0, 2, 8, 10], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 12], "i": [0, 2, 5, 6, 8, 9, 10, 12], "none": [0, 2, 3, 5, 6, 7, 9, 10, 12], "0": [0, 7, 9], "28th": 0, "support": [0, 3, 6, 12], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 10, 11], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 12], "new": [0, 3, 5, 7, 12], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "3": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 9], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "featur": [0, 2], "78": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 10, 11, 12], "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 12], "out": 0, "10th": 0, "break": 0, "75": 0, "invit": [0, 11], "regex": [0, 2, 6], "longer": 0, "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 12], "url": [0, 2, 5], "safe": 0, "result": [0, 12], "refer": 0, "document": 0, "handl": [0, 10, 12], "captur": [0, 11], "all": [0, 2, 3, 6, 12], "charact": 0, "up": [0, 2], "whitespac": [0, 11], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": 0, "guild": [0, 2, 10], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 12], "number": 0, "so": [0, 6], "should": [0, 2, 5], "actual": 0, "work": 0, "now": [0, 12], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 9, 10, 11, 12], "get": [0, 2, 5, 8, 10], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 12], "t": [0, 12], "load": [0, 2, 6], "modul": [0, 2, 6, 12], "start": [0, 2, 12], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 11, 12], "own": 0, "task": [0, 2, 12], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 12], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 9], "pagin": 0, "also": [0, 6], "basic": 0, "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "allow": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 9, 12], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 12], "specifi": 0, "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 9, 12], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 12], "event": [0, 2, 3, 12], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 12], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 10], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 12], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 10, 12], "trace": [0, 6, 9], "import": 0, "can": [0, 12], "function": [0, 2, 7, 8, 9, 10, 12], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 10], "wrapper": [0, 5, 12], "from": [0, 2, 3, 5, 6, 8, 10, 12], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 9, 11], "cach": [0, 2, 6, 8, 10], "logger": [0, 9], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 11], "block": [0, 11], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 9], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 9], "guild_id": 2, "allowed_rol": 2, "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 12], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12], "A": [2, 5, 6, 7, 8, 12], "implement": [2, 3, 7, 9], "python": [2, 12], "initialis": [2, 7], "int": [2, 3, 7, 8, 12], "The": [2, 3, 5, 6, 7, 8, 9, 10, 12], "id": [2, 8, 12], "list": 2, "role": [2, 10], "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 12], "server": [2, 11], "If": [2, 5, 12], "given": [2, 3, 6, 8, 9, 10, 12], "oper": [2, 12], "type": [2, 3, 5, 6, 7, 8, 9, 10, 12], "normal": 2, "its": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 12], "instanti": [2, 12], "instead": [2, 12], "connector": 2, "resolv": 2, "save": 2, "them": [2, 12], "all_extens": 2, "ran": 2, "loop": [2, 3, 12], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 12], "messag": [2, 9, 12], "dev": 2, "set": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 12], "servic": 2, "ensur": [2, 11], "thei": 2, "ar": [2, 7, 11], "name": [2, 6, 9, 12], "alia": [2, 6], "individu": 2, "To": [2, 9], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "gener": [2, 12], "create_socket": [2, 3], "wait": [2, 12], "until": [2, 11], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 12], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 9, 12], "error": [2, 5, 6, 10], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 9], "get_logg": [2, 6, 9], "get_or_fetch_memb": [2, 6, 10], "discord_invit": [2, 6, 11], "formatted_code_regex": [2, 6, 11], "raw_code_regex": [2, 6, 11], "create_task": [2, 6, 12], "delet": [2, 5, 7], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 11], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 9], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 12], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 10, 12], "django": 5, "initi": [5, 12], "token": 5, "authent": 5, "keyword": [5, 6, 9], "argument": [5, 6, 7, 9, 10], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 9, 12], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 12], "whether": [5, 8], "rais": [5, 8, 10, 12], "ok": 5, "ani": [5, 11, 12], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 12], "http": [5, 11], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 11], "root_alias": 6, "two": 6, "sequenc": 6, "act": 6, "top": 6, "level": [6, 9], "rather": 6, "than": 6, "being": [6, 10], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "__contains__": [6, 12], "cancel": [6, 12], "cancel_al": [6, 12], "schedule_at": [6, 12], "schedule_lat": [6, 12], "relat": [7, 9], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 10, 12], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 12], "offset": 7, "provid": [7, 12], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 10], "wrap": [7, 12], "target": 7, "how": [7, 12], "item": 7, "helper": [8, 10], "interact": 8, "variou": 8, "channel_id": 8, "fetch": [8, 10], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 11], "do": 8, "have": [8, 9], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "msg": 9, "sever": 9, "exc_info": 9, "valu": 9, "houston": 9, "we": [9, 10], "interest": 9, "problem": 9, "mypi": 9, "recognis": 9, "interactin": 10, "member_id": 10, "failur": 10, "indic": 10, "could": 10, "found": [10, 12], "coro": [10, 12], "sole": 10, "expect": 10, "add_rol": 10, "remove_rol": 10, "modifi": 10, "purpos": 10, "intend": 10, "regular": 11, "express": 11, "pattern": 11, "similar": 11, "pleas": 11, "sanitis": 11, "output": 11, "someth": 11, "urllib": 11, "pars": 11, "quot": 11, "format": 11, "raw": 11, "execut": 12, "keep": 12, "track": 12, "must": 12, "distinguish": 12, "other": 12, "contain": 12, "suggest": 12, "immedi": 12, "futur": 12, "uniqu": 12, "prematur": 12, "same": 12, "current": 12, "done": 12, "task_id": 12, "hashabl": 12, "look": 12, "unschedul": 12, "identifi": 12, "warn": 12, "doesn": 12, "exist": 12, "known": 12, "alreadi": 12, "prevent": 12, "unawait": 12, "ll": 12, "elsewher": 12, "timezon": 12, "awar": 12, "calcul": 12, "subtract": 12, "na\u00efv": 12, "utc": 12, "past": 12, "datetim": 12, "delai": 12, "after": 12, "union": 12, "float": 12, "long": 12, "suppressed_except": 12, "event_loop": 12, "otherwis": 12, "run": 12, "typevar": 12, "task_return": 12, "tupl": 12}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "logging"], [10, 0, 0, "-", "members"], [11, 0, 0, "-", "regex"], [12, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.logging": [[9, 1, 1, "", "CustomLogger"], [9, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[9, 2, 1, "", "trace"]], "botcore.utils.members": [[10, 4, 1, "", "get_or_fetch_member"], [10, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[11, 5, 1, "", "DISCORD_INVITE"], [11, 5, 1, "", "FORMATTED_CODE_REGEX"], [11, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[12, 1, 1, "", "Scheduler"], [12, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[12, 2, 1, "", "__contains__"], [12, 2, 1, "", "__init__"], [12, 2, 1, "", "cancel"], [12, 2, 1, "", "cancel_all"], [12, 2, 1, "", "schedule"], [12, 2, 1, "", "schedule_at"], [12, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "log": 9, "member": 10, "regex": 11, "schedul": 12}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"members": [[10, "module-botcore.utils.members"]], "caching": [[7, "module-botcore.utils.caching"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "regex": [[11, "module-botcore.utils.regex"]], "channel": [[8, "module-botcore.utils.channel"]], "logging": [[9, "module-botcore.utils.logging"]], "Changelog": [[0, "changelog"]], "async_stats": [[3, "module-botcore.async_stats"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Exts": [[4, "module-botcore.exts"]], "site_api": [[5, "module-botcore.site_api"]], "scheduling": [[12, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.logging"], [10, "module-botcore.utils.members"], [11, "module-botcore.utils.regex"], [12, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "customlogger (class in botcore.utils.logging)": [[9, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[9, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[9, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[9, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[10, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[10, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[10, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[11, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[11, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[11, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[12, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[12, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[12, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v7.3.0/.buildinfo b/v7.3.0/.buildinfo index ebab7ddc..dafdff09 100644 --- a/v7.3.0/.buildinfo +++ b/v7.3.0/.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: c5397a8cd0ef6e3f1beb5b9c12b32601 +config: 424ab1e4c8912a64d739033e988ef05c tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v7.3.0/output/botcore.html b/v7.3.0/output/botcore.html index 5ac0cc4a..f4e7d514 100644 --- a/v7.3.0/output/botcore.html +++ b/v7.3.0/output/botcore.html @@ -386,7 +386,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -517,7 +517,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v7.3.0/output/botcore.utils.channel.html b/v7.3.0/output/botcore.utils.channel.html index 2e53108b..c1b3dc59 100644 --- a/v7.3.0/output/botcore.utils.channel.html +++ b/v7.3.0/output/botcore.utils.channel.html @@ -390,20 +390,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -418,7 +418,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v7.3.0/output/botcore.utils.html b/v7.3.0/output/botcore.utils.html index 6c0943da..cdb19f41 100644 --- a/v7.3.0/output/botcore.utils.html +++ b/v7.3.0/output/botcore.utils.html @@ -393,7 +393,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v7.3.0/output/botcore.utils.interactions.html b/v7.3.0/output/botcore.utils.interactions.html index e8f3cd6d..21680c00 100644 --- a/v7.3.0/output/botcore.utils.interactions.html +++ b/v7.3.0/output/botcore.utils.interactions.html @@ -385,7 +385,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -418,7 +418,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -441,7 +441,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v7.3.0/output/botcore.utils.members.html b/v7.3.0/output/botcore.utils.members.html index 2e497b82..de7538b6 100644 --- a/v7.3.0/output/botcore.utils.members.html +++ b/v7.3.0/output/botcore.utils.members.html @@ -382,17 +382,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -402,13 +402,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v7.3.0/searchindex.js b/v7.3.0/searchindex.js index da65ff77..be3d471a 100644 --- a/v7.3.0/searchindex.js +++ b/v7.3.0/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "3": 0, "0": [0, 7, 9, 10], "16th": 0, "juli": 0, "2022": 0, "featur": [0, 2], "103": 0, "add": [0, 2], "button": [0, 9], "botcor": [0, 1, 9], "util": [0, 1, 2, 7, 9, 10], "interact": [0, 2, 6, 8], "deletemessagebutton": [0, 2, 6, 9], "delet": [0, 2, 5, 7, 9], "messag": [0, 2, 9, 10, 13], "attach": 0, "its": [0, 2], "parent": [0, 9], "view": [0, 9], "gener": [0, 2, 13], "viewwithuserandrolecheck": [0, 2, 6, 9], "onli": [0, 2], "allow": [0, 2, 9], "specifi": [0, 9], "user": [0, 9], "role": [0, 2, 9, 11], "2": [0, 2, 9], "9th": 0, "bug": 0, "98": 0, "close": [0, 1, 2, 5, 13], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 13], "creat": [0, 2, 3, 7, 13], "1": [0, 10], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 10, 11, 13], "self": [0, 2], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "fix": 0, "incorrect": 0, "docstr": 0, "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 11], "96": 0, "attempt": [0, 2, 8, 11], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 13], "i": [0, 2, 5, 6, 8, 9, 10, 11, 13], "none": [0, 2, 3, 5, 6, 7, 9, 10, 11, 13], "28th": 0, "support": [0, 3, 6, 13], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 11, 12], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 13], "new": [0, 3, 5, 7, 13], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 10], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 9, 11, 12, 13], "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 13], "out": [0, 9], "10th": 0, "break": 0, "75": 0, "invit": [0, 12], "regex": [0, 2, 6], "longer": [0, 9], "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "url": [0, 2, 5], "safe": 0, "result": [0, 13], "refer": 0, "document": 0, "handl": [0, 11, 13], "captur": [0, 12], "all": [0, 2, 3, 6, 13], "charact": 0, "up": [0, 2], "whitespac": [0, 12], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": [0, 9], "guild": [0, 2, 11], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 10, 13], "number": 0, "so": [0, 6], "should": [0, 2, 5, 9], "actual": 0, "work": 0, "now": [0, 13], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 10, 11, 12, 13], "get": [0, 2, 5, 8, 11], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 13], "t": [0, 13], "load": [0, 2, 6], "modul": [0, 2, 6, 13], "start": [0, 2, 13], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 10, 12, 13], "own": 0, "task": [0, 2, 13], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 13], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 10], "pagin": 0, "also": [0, 6], "basic": [0, 9], "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "an": [0, 2, 3, 5, 6, 7, 8, 10, 13], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 9, 13], "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 10, 13], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 13], "event": [0, 2, 3, 13], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 9, 13], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 9, 11], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 10, 13], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 11, 13], "trace": [0, 6, 10], "import": 0, "can": [0, 9, 13], "function": [0, 2, 7, 8, 10, 11, 13], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 11], "wrapper": [0, 5, 13], "from": [0, 2, 3, 5, 6, 8, 9, 11, 13], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 10, 12], "cach": [0, 2, 6, 8, 11], "logger": [0, 10], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9, 10], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 12], "block": [0, 12], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 10], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 10], "guild_id": 2, "allowed_rol": [2, 9], "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 10, 13], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13], "A": [2, 5, 6, 7, 8, 9, 13], "implement": [2, 3, 7, 9, 10], "python": [2, 13], "initialis": [2, 7], "int": [2, 3, 7, 8, 9, 13], "The": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "id": [2, 8, 9, 13], "list": 2, "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10, 11], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 10, 13], "server": [2, 12], "If": [2, 5, 9, 13], "given": [2, 3, 6, 8, 10, 11, 13], "oper": [2, 13], "type": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "normal": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 13], "instanti": [2, 13], "instead": [2, 13], "connector": 2, "resolv": 2, "save": 2, "them": [2, 13], "all_extens": 2, "ran": 2, "loop": [2, 3, 13], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 13], "dev": 2, "set": [2, 9], "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 13], "servic": 2, "ensur": [2, 9, 12], "thei": 2, "ar": [2, 7, 9, 12], "name": [2, 6, 10, 13], "alia": [2, 6], "individu": 2, "To": [2, 10], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "create_socket": [2, 3], "wait": [2, 13], "until": [2, 12], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 9, 13], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 10, 13], "error": [2, 5, 6, 11], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 10], "get_logg": [2, 6, 10], "get_or_fetch_memb": [2, 6, 11], "discord_invit": [2, 6, 12], "formatted_code_regex": [2, 6, 12], "raw_code_regex": [2, 6, 12], "create_task": [2, 6, 13], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 12], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 10], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 13], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 11, 13], "django": 5, "initi": [5, 13], "token": 5, "authent": 5, "keyword": [5, 6, 10], "argument": [5, 6, 7, 10, 11], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 10, 13], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 9, 13], "whether": [5, 8], "rais": [5, 8, 11, 13], "ok": 5, "ani": [5, 12, 13], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 9, 13], "http": [5, 12], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 12], "root_alias": 6, "two": 6, "sequenc": [6, 9], "act": 6, "top": 6, "level": [6, 10], "rather": 6, "than": 6, "being": [6, 11], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "callback": [6, 9], "interaction_check": [6, 9], "__contains__": [6, 13], "cancel": [6, 13], "cancel_al": [6, 13], "schedule_at": [6, 13], "schedule_lat": [6, 13], "relat": [7, 10], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 11, 13], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 13], "offset": 7, "provid": [7, 13], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 11], "wrap": [7, 13], "target": 7, "how": [7, 13], "item": 7, "helper": [8, 11], "variou": 8, "channel_id": 8, "fetch": [8, 11], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 12], "do": 8, "have": [8, 10], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "style": 9, "buttonstyl": 9, "secondari": 9, "label": 9, "contain": [9, 13], "click": 9, "itself": 9, "carri": 9, "done": [9, 13], "see": 9, "origin": 9, "allowed_us": 9, "180": 9, "invok": 9, "moder": 9, "who": 9, "float": [9, 13], "last": 9, "ui": 9, "accept": 9, "input": 9, "occur": 9, "msg": 10, "sever": 10, "exc_info": 10, "valu": 10, "houston": 10, "we": [10, 11], "interest": 10, "problem": 10, "mypi": 10, "recognis": 10, "interactin": 11, "member_id": 11, "failur": 11, "indic": 11, "could": 11, "found": [11, 13], "coro": [11, 13], "sole": 11, "expect": 11, "add_rol": 11, "remove_rol": 11, "modifi": 11, "purpos": 11, "intend": 11, "regular": 12, "express": 12, "pattern": 12, "similar": 12, "pleas": 12, "sanitis": 12, "output": 12, "someth": 12, "urllib": 12, "pars": 12, "quot": 12, "format": 12, "raw": 12, "execut": 13, "keep": 13, "track": 13, "must": 13, "distinguish": 13, "other": 13, "suggest": 13, "immedi": 13, "futur": 13, "uniqu": 13, "prematur": 13, "same": 13, "current": 13, "task_id": 13, "hashabl": 13, "look": 13, "unschedul": 13, "identifi": 13, "warn": 13, "doesn": 13, "exist": 13, "known": 13, "alreadi": 13, "prevent": 13, "unawait": 13, "ll": 13, "elsewher": 13, "timezon": 13, "awar": 13, "calcul": 13, "subtract": 13, "na\u00efv": 13, "utc": 13, "past": 13, "datetim": 13, "delai": 13, "after": 13, "union": 13, "long": 13, "suppressed_except": 13, "event_loop": 13, "otherwis": 13, "run": 13, "typevar": 13, "task_return": 13, "tupl": 13}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "interactions"], [10, 0, 0, "-", "logging"], [11, 0, 0, "-", "members"], [12, 0, 0, "-", "regex"], [13, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.interactions": [[9, 1, 1, "", "DeleteMessageButton"], [9, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "interaction_check"]], "botcore.utils.logging": [[10, 1, 1, "", "CustomLogger"], [10, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[10, 2, 1, "", "trace"]], "botcore.utils.members": [[11, 4, 1, "", "get_or_fetch_member"], [11, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[12, 5, 1, "", "DISCORD_INVITE"], [12, 5, 1, "", "FORMATTED_CODE_REGEX"], [12, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[13, 1, 1, "", "Scheduler"], [13, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[13, 2, 1, "", "__contains__"], [13, 2, 1, "", "__init__"], [13, 2, 1, "", "cancel"], [13, 2, 1, "", "cancel_all"], [13, 2, 1, "", "schedule"], [13, 2, 1, "", "schedule_at"], [13, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "interact": 9, "log": 10, "member": 11, "regex": 12, "schedul": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Exts": [[4, "module-botcore.exts"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Submodules": [[2, "submodules"], [6, "submodules"]], "async_stats": [[3, "module-botcore.async_stats"]], "site_api": [[5, "module-botcore.site_api"]], "Utils": [[6, "module-botcore.utils"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "regex": [[12, "module-botcore.utils.regex"]], "channel": [[8, "module-botcore.utils.channel"]], "caching": [[7, "module-botcore.utils.caching"]], "interactions": [[9, "module-botcore.utils.interactions"]], "members": [[11, "module-botcore.utils.members"]], "scheduling": [[13, "module-botcore.utils.scheduling"]], "logging": [[10, "module-botcore.utils.logging"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.interactions"], [10, "module-botcore.utils.logging"], [11, "module-botcore.utils.members"], [12, "module-botcore.utils.regex"], [13, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "deletemessagebutton (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[9, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "customlogger (class in botcore.utils.logging)": [[10, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[10, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[10, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[10, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[11, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[11, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[11, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[12, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[12, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[13, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "3": 0, "0": [0, 7, 9, 10], "16th": 0, "juli": 0, "2022": 0, "featur": [0, 2], "103": 0, "add": [0, 2], "button": [0, 9], "botcor": [0, 1, 9], "util": [0, 1, 2, 7, 9, 10], "interact": [0, 2, 6, 8], "deletemessagebutton": [0, 2, 6, 9], "delet": [0, 2, 5, 7, 9], "messag": [0, 2, 9, 10, 13], "attach": 0, "its": [0, 2], "parent": [0, 9], "view": [0, 9], "gener": [0, 2, 13], "viewwithuserandrolecheck": [0, 2, 6, 9], "onli": [0, 2], "allow": [0, 2, 9], "specifi": [0, 9], "user": [0, 9], "role": [0, 2, 9, 11], "2": [0, 2, 9], "9th": 0, "bug": 0, "98": 0, "close": [0, 1, 2, 5, 13], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 13], "creat": [0, 2, 3, 7, 13], "1": [0, 10], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 10, 11, 13], "self": [0, 2], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "fix": 0, "incorrect": 0, "docstr": 0, "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 11], "96": 0, "attempt": [0, 2, 8, 11], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 13], "i": [0, 2, 5, 6, 8, 9, 10, 11, 13], "none": [0, 2, 3, 5, 6, 7, 9, 10, 11, 13], "28th": 0, "support": [0, 3, 6, 13], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 11, 12], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 13], "new": [0, 3, 5, 7, 13], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 10], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 9, 11, 12, 13], "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 13], "out": [0, 9], "10th": 0, "break": 0, "75": 0, "invit": [0, 12], "regex": [0, 2, 6], "longer": [0, 9], "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "url": [0, 2, 5], "safe": 0, "result": [0, 13], "refer": 0, "document": 0, "handl": [0, 11, 13], "captur": [0, 12], "all": [0, 2, 3, 6, 13], "charact": 0, "up": [0, 2], "whitespac": [0, 12], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": [0, 9], "guild": [0, 2, 11], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 10, 13], "number": 0, "so": [0, 6], "should": [0, 2, 5, 9], "actual": 0, "work": 0, "now": [0, 13], "25th": 0, "69": 0, "us": [0, 2, 3, 5, 6, 8, 10, 11, 12, 13], "get": [0, 2, 5, 8, 11], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 13], "t": [0, 13], "load": [0, 2, 6], "modul": [0, 2, 6, 13], "start": [0, 2, 13], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 10, 12, 13], "own": 0, "task": [0, 2, 13], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 13], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 10], "pagin": 0, "also": [0, 6], "basic": [0, 9], "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "an": [0, 2, 3, 5, 6, 7, 8, 10, 13], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 9, 13], "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 10, 13], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 13], "event": [0, 2, 3, 13], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 9, 13], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 9, 11], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 10, 13], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 11, 13], "trace": [0, 6, 10], "import": 0, "can": [0, 9, 13], "function": [0, 2, 7, 8, 10, 11, 13], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 11], "wrapper": [0, 5, 13], "from": [0, 2, 3, 5, 6, 8, 9, 11, 13], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 10, 12], "cach": [0, 2, 6, 8, 11], "logger": [0, 10], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9, 10], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 12], "block": [0, 12], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 10], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 10], "guild_id": 2, "allowed_rol": [2, 9], "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 10, 13], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13], "A": [2, 5, 6, 7, 8, 9, 13], "implement": [2, 3, 7, 9, 10], "python": [2, 13], "initialis": [2, 7], "int": [2, 3, 7, 8, 9, 13], "The": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "id": [2, 8, 9, 13], "list": 2, "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10, 11], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 10, 13], "server": [2, 12], "If": [2, 5, 9, 13], "given": [2, 3, 6, 8, 10, 11, 13], "oper": [2, 13], "type": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "normal": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 13], "instanti": [2, 13], "instead": [2, 13], "connector": 2, "resolv": 2, "save": 2, "them": [2, 13], "all_extens": 2, "ran": 2, "loop": [2, 3, 13], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 13], "dev": 2, "set": [2, 9], "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 13], "servic": 2, "ensur": [2, 9, 12], "thei": 2, "ar": [2, 7, 9, 12], "name": [2, 6, 10, 13], "alia": [2, 6], "individu": 2, "To": [2, 10], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "create_socket": [2, 3], "wait": [2, 13], "until": [2, 12], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 9, 13], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 10, 13], "error": [2, 5, 6, 11], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 10], "get_logg": [2, 6, 10], "get_or_fetch_memb": [2, 6, 11], "discord_invit": [2, 6, 12], "formatted_code_regex": [2, 6, 12], "raw_code_regex": [2, 6, 12], "create_task": [2, 6, 13], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 12], "__str__": [2, 5], "transport": 3, "method": [3, 5, 6, 10], "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 13], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 11, 13], "django": 5, "initi": [5, 13], "token": 5, "authent": 5, "keyword": [5, 6, 10], "argument": [5, 6, 7, 10, 11], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 10, 13], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 9, 13], "whether": [5, 8], "rais": [5, 8, 11, 13], "ok": 5, "ani": [5, 12, 13], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 9, 13], "http": [5, 12], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 12], "root_alias": 6, "two": 6, "sequenc": [6, 9], "act": 6, "top": 6, "level": [6, 10], "rather": 6, "than": 6, "being": [6, 11], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "callback": [6, 9], "interaction_check": [6, 9], "__contains__": [6, 13], "cancel": [6, 13], "cancel_al": [6, 13], "schedule_at": [6, 13], "schedule_lat": [6, 13], "relat": [7, 10], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 11, 13], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 13], "offset": 7, "provid": [7, 13], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 11], "wrap": [7, 13], "target": 7, "how": [7, 13], "item": 7, "helper": [8, 11], "variou": 8, "channel_id": 8, "fetch": [8, 11], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 12], "do": 8, "have": [8, 10], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "style": 9, "buttonstyl": 9, "secondari": 9, "label": 9, "contain": [9, 13], "click": 9, "itself": 9, "carri": 9, "done": [9, 13], "see": 9, "origin": 9, "allowed_us": 9, "180": 9, "invok": 9, "moder": 9, "who": 9, "float": [9, 13], "last": 9, "ui": 9, "accept": 9, "input": 9, "occur": 9, "msg": 10, "sever": 10, "exc_info": 10, "valu": 10, "houston": 10, "we": [10, 11], "interest": 10, "problem": 10, "mypi": 10, "recognis": 10, "interactin": 11, "member_id": 11, "failur": 11, "indic": 11, "could": 11, "found": [11, 13], "coro": [11, 13], "sole": 11, "expect": 11, "add_rol": 11, "remove_rol": 11, "modifi": 11, "purpos": 11, "intend": 11, "regular": 12, "express": 12, "pattern": 12, "similar": 12, "pleas": 12, "sanitis": 12, "output": 12, "someth": 12, "urllib": 12, "pars": 12, "quot": 12, "format": 12, "raw": 12, "execut": 13, "keep": 13, "track": 13, "must": 13, "distinguish": 13, "other": 13, "suggest": 13, "immedi": 13, "futur": 13, "uniqu": 13, "prematur": 13, "same": 13, "current": 13, "task_id": 13, "hashabl": 13, "look": 13, "unschedul": 13, "identifi": 13, "warn": 13, "doesn": 13, "exist": 13, "known": 13, "alreadi": 13, "prevent": 13, "unawait": 13, "ll": 13, "elsewher": 13, "timezon": 13, "awar": 13, "calcul": 13, "subtract": 13, "na\u00efv": 13, "utc": 13, "past": 13, "datetim": 13, "delai": 13, "after": 13, "union": 13, "long": 13, "suppressed_except": 13, "event_loop": 13, "otherwis": 13, "run": 13, "typevar": 13, "task_return": 13, "tupl": 13}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "interactions"], [10, 0, 0, "-", "logging"], [11, 0, 0, "-", "members"], [12, 0, 0, "-", "regex"], [13, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.interactions": [[9, 1, 1, "", "DeleteMessageButton"], [9, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "interaction_check"]], "botcore.utils.logging": [[10, 1, 1, "", "CustomLogger"], [10, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[10, 2, 1, "", "trace"]], "botcore.utils.members": [[11, 4, 1, "", "get_or_fetch_member"], [11, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[12, 5, 1, "", "DISCORD_INVITE"], [12, 5, 1, "", "FORMATTED_CODE_REGEX"], [12, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[13, 1, 1, "", "Scheduler"], [13, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[13, 2, 1, "", "__contains__"], [13, 2, 1, "", "__init__"], [13, 2, 1, "", "cancel"], [13, 2, 1, "", "cancel_all"], [13, 2, 1, "", "schedule"], [13, 2, 1, "", "schedule_at"], [13, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "interact": 9, "log": 10, "member": 11, "regex": 12, "schedul": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Submodules": [[2, "submodules"], [6, "submodules"]], "site_api": [[5, "module-botcore.site_api"]], "Utils": [[6, "module-botcore.utils"]], "Changelog": [[0, "changelog"]], "Exts": [[4, "module-botcore.exts"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "async_stats": [[3, "module-botcore.async_stats"]], "logging": [[10, "module-botcore.utils.logging"]], "channel": [[8, "module-botcore.utils.channel"]], "caching": [[7, "module-botcore.utils.caching"]], "regex": [[12, "module-botcore.utils.regex"]], "interactions": [[9, "module-botcore.utils.interactions"]], "scheduling": [[13, "module-botcore.utils.scheduling"]], "members": [[11, "module-botcore.utils.members"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.interactions"], [10, "module-botcore.utils.logging"], [11, "module-botcore.utils.members"], [12, "module-botcore.utils.regex"], [13, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "deletemessagebutton (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[9, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "customlogger (class in botcore.utils.logging)": [[10, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[10, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[10, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[10, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[11, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[11, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[11, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[12, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[12, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[13, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v7.3.1/.buildinfo b/v7.3.1/.buildinfo index 3df99771..9fbbc5ce 100644 --- a/v7.3.1/.buildinfo +++ b/v7.3.1/.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: c8e978bb6231015b803886f1e808e078 +config: 8b44b3c166d766abae357ef02a8d94ed tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v7.3.1/output/botcore.html b/v7.3.1/output/botcore.html index a25f4589..bcc3b705 100644 --- a/v7.3.1/output/botcore.html +++ b/v7.3.1/output/botcore.html @@ -386,7 +386,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -517,7 +517,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v7.3.1/output/botcore.utils.channel.html b/v7.3.1/output/botcore.utils.channel.html index 9e5cbff4..0c53b19d 100644 --- a/v7.3.1/output/botcore.utils.channel.html +++ b/v7.3.1/output/botcore.utils.channel.html @@ -390,20 +390,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -418,7 +418,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v7.3.1/output/botcore.utils.html b/v7.3.1/output/botcore.utils.html index 6502deb2..d41a2272 100644 --- a/v7.3.1/output/botcore.utils.html +++ b/v7.3.1/output/botcore.utils.html @@ -393,7 +393,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v7.3.1/output/botcore.utils.interactions.html b/v7.3.1/output/botcore.utils.interactions.html index 66ddd574..8adbf779 100644 --- a/v7.3.1/output/botcore.utils.interactions.html +++ b/v7.3.1/output/botcore.utils.interactions.html @@ -385,7 +385,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -418,7 +418,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -441,7 +441,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v7.3.1/output/botcore.utils.members.html b/v7.3.1/output/botcore.utils.members.html index ba03bdcd..e11f9ea6 100644 --- a/v7.3.1/output/botcore.utils.members.html +++ b/v7.3.1/output/botcore.utils.members.html @@ -382,17 +382,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -402,13 +402,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v7.3.1/searchindex.js b/v7.3.1/searchindex.js index a3daf2a8..2eb51eb6 100644 --- a/v7.3.1/searchindex.js +++ b/v7.3.1/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "3": 0, "1": [0, 10], "16th": 0, "juli": 0, "2022": 0, "bug": 0, "104": 0, "fix": 0, "botcor": [0, 1, 9], "util": [0, 1, 2, 7, 9, 10], "interact": [0, 2, 6, 8], "deletemessagebutton": [0, 2, 6, 9], "work": 0, "due": 0, "us": [0, 2, 3, 5, 6, 8, 10, 11, 12, 13], "wrong": 0, "delet": [0, 2, 5, 7, 9], "method": [0, 3, 5, 6, 10], "0": [0, 7, 9, 10], "featur": [0, 2], "103": 0, "add": [0, 2], "button": [0, 9], "messag": [0, 2, 9, 10, 13], "attach": 0, "its": [0, 2], "parent": [0, 9], "view": [0, 9], "gener": [0, 2, 13], "viewwithuserandrolecheck": [0, 2, 6, 9], "onli": [0, 2], "allow": [0, 2, 9], "specifi": [0, 9], "user": [0, 9], "role": [0, 2, 9, 11], "2": [0, 2, 9], "9th": 0, "98": 0, "close": [0, 1, 2, 5, 13], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 13], "creat": [0, 2, 3, 7, 13], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 10, 11, 13], "self": [0, 2], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "incorrect": 0, "docstr": 0, "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 11], "96": 0, "attempt": [0, 2, 8, 11], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 13], "i": [0, 2, 5, 6, 8, 9, 10, 11, 13], "none": [0, 2, 3, 5, 6, 7, 9, 10, 11, 13], "28th": 0, "support": [0, 3, 6, 13], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 11, 12], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 13], "new": [0, 3, 5, 7, 13], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 10], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 9, 11, 12, 13], "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 13], "out": [0, 9], "10th": 0, "break": 0, "75": 0, "invit": [0, 12], "regex": [0, 2, 6], "longer": [0, 9], "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "url": [0, 2, 5], "safe": 0, "result": [0, 13], "refer": 0, "document": 0, "handl": [0, 11, 13], "captur": [0, 12], "all": [0, 2, 3, 6, 13], "charact": 0, "up": [0, 2], "whitespac": [0, 12], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": [0, 9], "guild": [0, 2, 11], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 10, 13], "number": 0, "so": [0, 6], "should": [0, 2, 5, 9], "actual": 0, "now": [0, 13], "25th": 0, "69": 0, "get": [0, 2, 5, 8, 11], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 13], "t": [0, 13], "load": [0, 2, 6], "modul": [0, 2, 6, 13], "start": [0, 2, 13], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 10, 12, 13], "own": 0, "task": [0, 2, 13], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 13], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 10], "pagin": 0, "also": [0, 6], "basic": [0, 9], "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "an": [0, 2, 3, 5, 6, 7, 8, 10, 13], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 9, 13], "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 10, 13], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 13], "event": [0, 2, 3, 13], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 9, 13], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 9, 11], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 10, 13], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 11, 13], "trace": [0, 6, 10], "import": 0, "can": [0, 9, 13], "function": [0, 2, 7, 8, 10, 11, 13], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 11], "wrapper": [0, 5, 13], "from": [0, 2, 3, 5, 6, 8, 9, 11, 13], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 10, 12], "cach": [0, 2, 6, 8, 11], "logger": [0, 10], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9, 10], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 12], "block": [0, 12], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 10], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 10], "guild_id": 2, "allowed_rol": [2, 9], "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 10, 13], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13], "A": [2, 5, 6, 7, 8, 9, 13], "implement": [2, 3, 7, 9, 10], "python": [2, 13], "initialis": [2, 7], "int": [2, 3, 7, 8, 9, 13], "The": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "id": [2, 8, 9, 13], "list": 2, "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10, 11], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 10, 13], "server": [2, 12], "If": [2, 5, 9, 13], "given": [2, 3, 6, 8, 10, 11, 13], "oper": [2, 13], "type": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "normal": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 13], "instanti": [2, 13], "instead": [2, 13], "connector": 2, "resolv": 2, "save": 2, "them": [2, 13], "all_extens": 2, "ran": 2, "loop": [2, 3, 13], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 13], "dev": 2, "set": [2, 9], "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 13], "servic": 2, "ensur": [2, 9, 12], "thei": 2, "ar": [2, 7, 9, 12], "name": [2, 6, 10, 13], "alia": [2, 6], "individu": 2, "To": [2, 10], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "create_socket": [2, 3], "wait": [2, 13], "until": [2, 12], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 9, 13], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 10, 13], "error": [2, 5, 6, 11], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 10], "get_logg": [2, 6, 10], "get_or_fetch_memb": [2, 6, 11], "discord_invit": [2, 6, 12], "formatted_code_regex": [2, 6, 12], "raw_code_regex": [2, 6, 12], "create_task": [2, 6, 13], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 12], "__str__": [2, 5], "transport": 3, "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 13], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 11, 13], "django": 5, "initi": [5, 13], "token": 5, "authent": 5, "keyword": [5, 6, 10], "argument": [5, 6, 7, 10, 11], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 10, 13], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 9, 13], "whether": [5, 8], "rais": [5, 8, 11, 13], "ok": 5, "ani": [5, 12, 13], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 9, 13], "http": [5, 12], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 12], "root_alias": 6, "two": 6, "sequenc": [6, 9], "act": 6, "top": 6, "level": [6, 10], "rather": 6, "than": 6, "being": [6, 11], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "callback": [6, 9], "interaction_check": [6, 9], "__contains__": [6, 13], "cancel": [6, 13], "cancel_al": [6, 13], "schedule_at": [6, 13], "schedule_lat": [6, 13], "relat": [7, 10], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 11, 13], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 13], "offset": 7, "provid": [7, 13], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 11], "wrap": [7, 13], "target": 7, "how": [7, 13], "item": 7, "helper": [8, 11], "variou": 8, "channel_id": 8, "fetch": [8, 11], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 12], "do": 8, "have": [8, 10], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "style": 9, "buttonstyl": 9, "secondari": 9, "label": 9, "contain": [9, 13], "click": 9, "itself": 9, "carri": 9, "done": [9, 13], "see": 9, "origin": 9, "allowed_us": 9, "180": 9, "invok": 9, "moder": 9, "who": 9, "float": [9, 13], "last": 9, "ui": 9, "accept": 9, "input": 9, "occur": 9, "msg": 10, "sever": 10, "exc_info": 10, "valu": 10, "houston": 10, "we": [10, 11], "interest": 10, "problem": 10, "mypi": 10, "recognis": 10, "interactin": 11, "member_id": 11, "failur": 11, "indic": 11, "could": 11, "found": [11, 13], "coro": [11, 13], "sole": 11, "expect": 11, "add_rol": 11, "remove_rol": 11, "modifi": 11, "purpos": 11, "intend": 11, "regular": 12, "express": 12, "pattern": 12, "similar": 12, "pleas": 12, "sanitis": 12, "output": 12, "someth": 12, "urllib": 12, "pars": 12, "quot": 12, "format": 12, "raw": 12, "execut": 13, "keep": 13, "track": 13, "must": 13, "distinguish": 13, "other": 13, "suggest": 13, "immedi": 13, "futur": 13, "uniqu": 13, "prematur": 13, "same": 13, "current": 13, "task_id": 13, "hashabl": 13, "look": 13, "unschedul": 13, "identifi": 13, "warn": 13, "doesn": 13, "exist": 13, "known": 13, "alreadi": 13, "prevent": 13, "unawait": 13, "ll": 13, "elsewher": 13, "timezon": 13, "awar": 13, "calcul": 13, "subtract": 13, "na\u00efv": 13, "utc": 13, "past": 13, "datetim": 13, "delai": 13, "after": 13, "union": 13, "long": 13, "suppressed_except": 13, "event_loop": 13, "otherwis": 13, "run": 13, "typevar": 13, "task_return": 13, "tupl": 13}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "interactions"], [10, 0, 0, "-", "logging"], [11, 0, 0, "-", "members"], [12, 0, 0, "-", "regex"], [13, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.interactions": [[9, 1, 1, "", "DeleteMessageButton"], [9, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "interaction_check"]], "botcore.utils.logging": [[10, 1, 1, "", "CustomLogger"], [10, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[10, 2, 1, "", "trace"]], "botcore.utils.members": [[11, 4, 1, "", "get_or_fetch_member"], [11, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[12, 5, 1, "", "DISCORD_INVITE"], [12, 5, 1, "", "FORMATTED_CODE_REGEX"], [12, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[13, 1, 1, "", "Scheduler"], [13, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[13, 2, 1, "", "__contains__"], [13, 2, 1, "", "__init__"], [13, 2, 1, "", "cancel"], [13, 2, 1, "", "cancel_all"], [13, 2, 1, "", "schedule"], [13, 2, 1, "", "schedule_at"], [13, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "interact": 9, "log": 10, "member": 11, "regex": 12, "schedul": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "site_api": [[5, "module-botcore.site_api"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Changelog": [[0, "changelog"]], "async_stats": [[3, "module-botcore.async_stats"]], "Exts": [[4, "module-botcore.exts"]], "interactions": [[9, "module-botcore.utils.interactions"]], "regex": [[12, "module-botcore.utils.regex"]], "members": [[11, "module-botcore.utils.members"]], "channel": [[8, "module-botcore.utils.channel"]], "caching": [[7, "module-botcore.utils.caching"]], "logging": [[10, "module-botcore.utils.logging"]], "scheduling": [[13, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.interactions"], [10, "module-botcore.utils.logging"], [11, "module-botcore.utils.members"], [12, "module-botcore.utils.regex"], [13, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "deletemessagebutton (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[9, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "customlogger (class in botcore.utils.logging)": [[10, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[10, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[10, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[10, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[11, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[11, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[11, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[12, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[12, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[13, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "3": 0, "1": [0, 10], "16th": 0, "juli": 0, "2022": 0, "bug": 0, "104": 0, "fix": 0, "botcor": [0, 1, 9], "util": [0, 1, 2, 7, 9, 10], "interact": [0, 2, 6, 8], "deletemessagebutton": [0, 2, 6, 9], "work": 0, "due": 0, "us": [0, 2, 3, 5, 6, 8, 10, 11, 12, 13], "wrong": 0, "delet": [0, 2, 5, 7, 9], "method": [0, 3, 5, 6, 10], "0": [0, 7, 9, 10], "featur": [0, 2], "103": 0, "add": [0, 2], "button": [0, 9], "messag": [0, 2, 9, 10, 13], "attach": 0, "its": [0, 2], "parent": [0, 9], "view": [0, 9], "gener": [0, 2, 13], "viewwithuserandrolecheck": [0, 2, 6, 9], "onli": [0, 2], "allow": [0, 2, 9], "specifi": [0, 9], "user": [0, 9], "role": [0, 2, 9, 11], "2": [0, 2, 9], "9th": 0, "98": 0, "close": [0, 1, 2, 5, 13], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 13], "creat": [0, 2, 3, 7, 13], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 10, 11, 13], "self": [0, 2], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "incorrect": 0, "docstr": 0, "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 11], "96": 0, "attempt": [0, 2, 8, 11], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 13], "i": [0, 2, 5, 6, 8, 9, 10, 11, 13], "none": [0, 2, 3, 5, 6, 7, 9, 10, 11, 13], "28th": 0, "support": [0, 3, 6, 13], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 11, 12], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 13], "new": [0, 3, 5, 7, 13], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 10], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "thi": [0, 2, 6, 8, 9, 11, 12, 13], "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 13], "out": [0, 9], "10th": 0, "break": 0, "75": 0, "invit": [0, 12], "regex": [0, 2, 6], "longer": [0, 9], "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "url": [0, 2, 5], "safe": 0, "result": [0, 13], "refer": 0, "document": 0, "handl": [0, 11, 13], "captur": [0, 12], "all": [0, 2, 3, 6, 13], "charact": 0, "up": [0, 2], "whitespac": [0, 12], "6": 0, "4": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "timeout": [0, 9], "guild": [0, 2, 11], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 10, 13], "number": 0, "so": [0, 6], "should": [0, 2, 5, 9], "actual": 0, "now": [0, 13], "25th": 0, "69": 0, "get": [0, 2, 5, 8, 11], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 13], "t": [0, 13], "load": [0, 2, 6], "modul": [0, 2, 6, 13], "start": [0, 2, 13], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 10, 12, 13], "own": 0, "task": [0, 2, 13], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 13], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 10], "pagin": 0, "also": [0, 6], "basic": [0, 9], "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "an": [0, 2, 3, 5, 6, 7, 8, 10, 13], "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 9, 13], "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 10, 13], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 13], "event": [0, 2, 3, 13], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 9, 13], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 9, 11], "42": 0, "remov": [0, 2], "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 10, 13], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 11, 13], "trace": [0, 6, 10], "import": 0, "can": [0, 9, 13], "function": [0, 2, 7, 8, 10, 11, 13], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 11], "wrapper": [0, 5, 13], "from": [0, 2, 3, 5, 6, 8, 9, 11, 13], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 10, 12], "cach": [0, 2, 6, 8, 11], "logger": [0, 10], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9, 10], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 12], "block": [0, 12], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "17th": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 10], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 10], "guild_id": 2, "allowed_rol": [2, 9], "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 10, 13], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13], "A": [2, 5, 6, 7, 8, 9, 13], "implement": [2, 3, 7, 9, 10], "python": [2, 13], "initialis": [2, 7], "int": [2, 3, 7, 8, 9, 13], "The": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "id": [2, 8, 9, 13], "list": 2, "mention": 2, "clientsess": [2, 5], "option": [2, 5, 7, 9, 10, 11], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 10, 13], "server": [2, 12], "If": [2, 5, 9, 13], "given": [2, 3, 6, 8, 10, 11, 13], "oper": [2, 13], "type": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "normal": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 13], "instanti": [2, 13], "instead": [2, 13], "connector": 2, "resolv": 2, "save": 2, "them": [2, 13], "all_extens": 2, "ran": 2, "loop": [2, 3, 13], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 13], "dev": 2, "set": [2, 9], "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 13], "servic": 2, "ensur": [2, 9, 12], "thei": 2, "ar": [2, 7, 9, 12], "name": [2, 6, 10, 13], "alia": [2, 6], "individu": 2, "To": [2, 10], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "create_socket": [2, 3], "wait": [2, 13], "until": [2, 12], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 9, 13], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 10, 13], "error": [2, 5, 6, 11], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 10], "get_logg": [2, 6, 10], "get_or_fetch_memb": [2, 6, 11], "discord_invit": [2, 6, 12], "formatted_code_regex": [2, 6, 12], "raw_code_regex": [2, 6, 12], "create_task": [2, 6, 13], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 12], "__str__": [2, 5], "transport": 3, "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 13], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 11, 13], "django": 5, "initi": [5, 13], "token": 5, "authent": 5, "keyword": [5, 6, 10], "argument": [5, 6, 7, 10, 11], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 10, 13], "send": 5, "json": 5, "respons": 5, "bool": [5, 8, 9, 13], "whether": [5, 8], "rais": [5, 8, 11, 13], "ok": 5, "ani": [5, 12, 13], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 9, 13], "http": [5, 12], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 12], "root_alias": 6, "two": 6, "sequenc": [6, 9], "act": 6, "top": 6, "level": [6, 10], "rather": 6, "than": 6, "being": [6, 11], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "ha": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "callback": [6, 9], "interaction_check": [6, 9], "__contains__": [6, 13], "cancel": [6, 13], "cancel_al": [6, 13], "schedule_at": [6, 13], "schedule_lat": [6, 13], "relat": [7, 10], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 11, 13], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 13], "offset": 7, "provid": [7, 13], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 11], "wrap": [7, 13], "target": 7, "how": [7, 13], "item": 7, "helper": [8, 11], "variou": 8, "channel_id": 8, "fetch": [8, 11], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 12], "do": 8, "have": [8, 10], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "style": 9, "buttonstyl": 9, "secondari": 9, "label": 9, "contain": [9, 13], "click": 9, "itself": 9, "carri": 9, "done": [9, 13], "see": 9, "origin": 9, "allowed_us": 9, "180": 9, "invok": 9, "moder": 9, "who": 9, "float": [9, 13], "last": 9, "ui": 9, "accept": 9, "input": 9, "occur": 9, "msg": 10, "sever": 10, "exc_info": 10, "valu": 10, "houston": 10, "we": [10, 11], "interest": 10, "problem": 10, "mypi": 10, "recognis": 10, "interactin": 11, "member_id": 11, "failur": 11, "indic": 11, "could": 11, "found": [11, 13], "coro": [11, 13], "sole": 11, "expect": 11, "add_rol": 11, "remove_rol": 11, "modifi": 11, "purpos": 11, "intend": 11, "regular": 12, "express": 12, "pattern": 12, "similar": 12, "pleas": 12, "sanitis": 12, "output": 12, "someth": 12, "urllib": 12, "pars": 12, "quot": 12, "format": 12, "raw": 12, "execut": 13, "keep": 13, "track": 13, "must": 13, "distinguish": 13, "other": 13, "suggest": 13, "immedi": 13, "futur": 13, "uniqu": 13, "prematur": 13, "same": 13, "current": 13, "task_id": 13, "hashabl": 13, "look": 13, "unschedul": 13, "identifi": 13, "warn": 13, "doesn": 13, "exist": 13, "known": 13, "alreadi": 13, "prevent": 13, "unawait": 13, "ll": 13, "elsewher": 13, "timezon": 13, "awar": 13, "calcul": 13, "subtract": 13, "na\u00efv": 13, "utc": 13, "past": 13, "datetim": 13, "delai": 13, "after": 13, "union": 13, "long": 13, "suppressed_except": 13, "event_loop": 13, "otherwis": 13, "run": 13, "typevar": 13, "task_return": 13, "tupl": 13}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "interactions"], [10, 0, 0, "-", "logging"], [11, 0, 0, "-", "members"], [12, 0, 0, "-", "regex"], [13, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.interactions": [[9, 1, 1, "", "DeleteMessageButton"], [9, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "interaction_check"]], "botcore.utils.logging": [[10, 1, 1, "", "CustomLogger"], [10, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[10, 2, 1, "", "trace"]], "botcore.utils.members": [[11, 4, 1, "", "get_or_fetch_member"], [11, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[12, 5, 1, "", "DISCORD_INVITE"], [12, 5, 1, "", "FORMATTED_CODE_REGEX"], [12, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[13, 1, 1, "", "Scheduler"], [13, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[13, 2, 1, "", "__contains__"], [13, 2, 1, "", "__init__"], [13, 2, 1, "", "cancel"], [13, 2, 1, "", "cancel_all"], [13, 2, 1, "", "schedule"], [13, 2, 1, "", "schedule_at"], [13, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "interact": 9, "log": 10, "member": 11, "regex": 12, "schedul": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"site_api": [[5, "module-botcore.site_api"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "Changelog": [[0, "changelog"]], "Exts": [[4, "module-botcore.exts"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "async_stats": [[3, "module-botcore.async_stats"]], "members": [[11, "module-botcore.utils.members"]], "interactions": [[9, "module-botcore.utils.interactions"]], "channel": [[8, "module-botcore.utils.channel"]], "caching": [[7, "module-botcore.utils.caching"]], "regex": [[12, "module-botcore.utils.regex"]], "logging": [[10, "module-botcore.utils.logging"]], "scheduling": [[13, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.interactions"], [10, "module-botcore.utils.logging"], [11, "module-botcore.utils.members"], [12, "module-botcore.utils.regex"], [13, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "deletemessagebutton (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[9, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "customlogger (class in botcore.utils.logging)": [[10, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[10, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[10, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[10, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[11, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[11, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[11, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[12, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[12, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[13, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v7.4.0-beta1/.buildinfo b/v7.4.0-beta1/.buildinfo index abdd7bd7..8116b673 100644 --- a/v7.4.0-beta1/.buildinfo +++ b/v7.4.0-beta1/.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: 1c573ce18a68018e90fcead3fdcac26c +config: 0d196919123dd2fb31fa7847d95b56d4 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v7.4.0-beta1/output/botcore.html b/v7.4.0-beta1/output/botcore.html index 290ce595..b0d2593b 100644 --- a/v7.4.0-beta1/output/botcore.html +++ b/v7.4.0-beta1/output/botcore.html @@ -386,7 +386,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -517,7 +517,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v7.4.0-beta1/output/botcore.utils.channel.html b/v7.4.0-beta1/output/botcore.utils.channel.html index 4d88ee25..81426578 100644 --- a/v7.4.0-beta1/output/botcore.utils.channel.html +++ b/v7.4.0-beta1/output/botcore.utils.channel.html @@ -390,20 +390,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -418,7 +418,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v7.4.0-beta1/output/botcore.utils.html b/v7.4.0-beta1/output/botcore.utils.html index bdebcf07..7f16f4e8 100644 --- a/v7.4.0-beta1/output/botcore.utils.html +++ b/v7.4.0-beta1/output/botcore.utils.html @@ -393,7 +393,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v7.4.0-beta1/output/botcore.utils.interactions.html b/v7.4.0-beta1/output/botcore.utils.interactions.html index e603d23c..0b56e1d1 100644 --- a/v7.4.0-beta1/output/botcore.utils.interactions.html +++ b/v7.4.0-beta1/output/botcore.utils.interactions.html @@ -385,7 +385,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -418,7 +418,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -427,7 +427,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -443,7 +443,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v7.4.0-beta1/output/botcore.utils.members.html b/v7.4.0-beta1/output/botcore.utils.members.html index 7174908a..5b77d8d8 100644 --- a/v7.4.0-beta1/output/botcore.utils.members.html +++ b/v7.4.0-beta1/output/botcore.utils.members.html @@ -382,17 +382,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -402,13 +402,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v7.4.0-beta1/searchindex.js b/v7.4.0-beta1/searchindex.js index 4db0df5e..50f32ace 100644 --- a/v7.4.0-beta1/searchindex.js +++ b/v7.4.0-beta1/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "4": 0, "0": [0, 7, 9, 10], "17th": 0, "juli": 0, "2022": 0, "featur": [0, 2], "106": 0, "add": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 10, 13], "option": [0, 2, 5, 7, 9, 10, 11], "messag": [0, 2, 9, 10, 13], "attr": 0, "botcor": [0, 1, 9], "util": [0, 1, 2, 7, 9, 10], "interact": [0, 2, 6, 8], "viewwithuserandrolecheck": [0, 2, 6, 9], "On": 0, "view": [0, 9], "timeout": [0, 9], "thi": [0, 2, 6, 8, 9, 11, 12, 13], "ha": [0, 6], "": [0, 6, 7, 9, 10, 12, 13], "remov": [0, 2, 9], "set": [0, 2, 9], "3": 0, "1": [0, 10], "16th": 0, "bug": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 2, 6, 9], "work": 0, "due": 0, "us": [0, 2, 3, 5, 6, 8, 10, 11, 12, 13], "wrong": 0, "delet": [0, 2, 5, 7, 9], "method": [0, 3, 5, 6, 10], "103": 0, "button": [0, 9], "attach": 0, "its": [0, 2], "parent": [0, 9], "gener": [0, 2, 13], "onli": [0, 2], "allow": [0, 2, 9], "specifi": [0, 9], "user": [0, 9], "role": [0, 2, 9, 11], "2": [0, 2, 9], "9th": 0, "98": 0, "close": [0, 1, 2, 5, 13], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 13], "creat": [0, 2, 3, 7, 13], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 9, 11], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 10, 11, 13], "self": [0, 2, 9], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "incorrect": 0, "docstr": 0, "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 11], "96": 0, "attempt": [0, 2, 8, 11], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 13], "i": [0, 2, 5, 6, 8, 9, 10, 11, 13], "none": [0, 2, 3, 5, 6, 7, 9, 10, 11, 13], "28th": 0, "support": [0, 3, 6, 13], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 11, 12], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 13], "new": [0, 3, 5, 7, 13], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 10], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 13], "out": [0, 9], "10th": 0, "break": 0, "75": 0, "invit": [0, 12], "regex": [0, 2, 6], "longer": [0, 9], "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "url": [0, 2, 5], "safe": 0, "result": [0, 13], "refer": 0, "document": 0, "handl": [0, 11, 13], "captur": [0, 12], "all": [0, 2, 3, 6, 13], "charact": 0, "up": [0, 2], "whitespac": [0, 12], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 2, 11], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 10, 13], "number": 0, "so": [0, 6], "should": [0, 2, 5, 9], "actual": 0, "now": [0, 13], "25th": 0, "69": 0, "get": [0, 2, 5, 8, 11], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 13], "t": [0, 13], "load": [0, 2, 6], "modul": [0, 2, 6, 13], "start": [0, 2, 13], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "own": 0, "task": [0, 2, 13], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 13], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 10], "pagin": 0, "also": [0, 6, 9], "basic": [0, 9], "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 9, 13], "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 10, 13], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 13], "event": [0, 2, 3, 13], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 9, 13], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 9, 11], "42": 0, "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 10, 13], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 11, 13], "trace": [0, 6, 10], "import": 0, "can": [0, 9, 13], "function": [0, 2, 7, 8, 10, 11, 13], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 11], "wrapper": [0, 5, 13], "from": [0, 2, 3, 5, 6, 8, 9, 11, 13], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 10, 12], "cach": [0, 2, 6, 8, 11], "logger": [0, 10], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9, 10], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 12], "block": [0, 12], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 10], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 10], "guild_id": 2, "allowed_rol": [2, 9], "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 10, 13], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13], "A": [2, 5, 6, 7, 8, 9, 13], "implement": [2, 3, 7, 9, 10], "python": [2, 13], "initialis": [2, 7], "int": [2, 3, 7, 8, 9, 13], "The": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "id": [2, 8, 9, 13], "list": 2, "mention": 2, "clientsess": [2, 5], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 10, 13], "server": [2, 12], "If": [2, 5, 9, 13], "given": [2, 3, 6, 8, 10, 11, 13], "oper": [2, 13], "type": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "normal": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 13], "instanti": [2, 9, 13], "instead": [2, 13], "connector": 2, "resolv": 2, "save": 2, "them": [2, 13], "all_extens": 2, "ran": 2, "loop": [2, 3, 13], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 13], "dev": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 13], "servic": 2, "ensur": [2, 9, 12], "thei": 2, "ar": [2, 7, 9, 12], "name": [2, 6, 10, 13], "alia": [2, 6], "individu": 2, "To": [2, 10], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "create_socket": [2, 3], "wait": [2, 13], "until": [2, 12], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 9, 13], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 10, 13], "error": [2, 5, 6, 11], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 10], "get_logg": [2, 6, 10], "get_or_fetch_memb": [2, 6, 11], "discord_invit": [2, 6, 12], "formatted_code_regex": [2, 6, 12], "raw_code_regex": [2, 6, 12], "create_task": [2, 6, 13], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 12], "__str__": [2, 5], "transport": 3, "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 13], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 11, 13], "django": 5, "initi": [5, 13], "token": 5, "authent": 5, "keyword": [5, 6, 10], "argument": [5, 6, 7, 10, 11], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 10, 13], "send": [5, 9], "json": 5, "respons": 5, "bool": [5, 8, 9, 13], "whether": [5, 8], "rais": [5, 8, 11, 13], "ok": 5, "ani": [5, 12, 13], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 9, 13], "http": [5, 12], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 12], "root_alias": 6, "two": 6, "sequenc": [6, 9], "act": 6, "top": 6, "level": [6, 10], "rather": 6, "than": 6, "being": [6, 11], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "callback": [6, 9], "interaction_check": [6, 9], "on_timeout": [6, 9], "__contains__": [6, 13], "cancel": [6, 13], "cancel_al": [6, 13], "schedule_at": [6, 13], "schedule_lat": [6, 13], "relat": [7, 10], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 11, 13], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 13], "offset": 7, "provid": [7, 13], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 11], "wrap": [7, 13], "target": 7, "how": [7, 13], "item": 7, "helper": [8, 11], "variou": 8, "channel_id": 8, "fetch": [8, 11], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 12], "do": 8, "have": [8, 10], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "style": 9, "buttonstyl": 9, "secondari": 9, "label": 9, "contain": [9, 13], "click": 9, "itself": 9, "carri": 9, "done": [9, 13], "see": 9, "origin": 9, "allowed_us": 9, "180": 9, "invok": 9, "moder": 9, "who": 9, "float": [9, 13], "last": 9, "ui": 9, "accept": 9, "input": 9, "ctx": 9, "similar": [9, 12], "after": [9, 13], "occur": 9, "msg": 10, "sever": 10, "exc_info": 10, "valu": 10, "houston": 10, "we": [10, 11], "interest": 10, "problem": 10, "mypi": 10, "recognis": 10, "interactin": 11, "member_id": 11, "failur": 11, "indic": 11, "could": 11, "found": [11, 13], "coro": [11, 13], "sole": 11, "expect": 11, "add_rol": 11, "remove_rol": 11, "modifi": 11, "purpos": 11, "intend": 11, "regular": 12, "express": 12, "pattern": 12, "pleas": 12, "sanitis": 12, "output": 12, "someth": 12, "urllib": 12, "pars": 12, "quot": 12, "format": 12, "raw": 12, "execut": 13, "keep": 13, "track": 13, "must": 13, "distinguish": 13, "other": 13, "suggest": 13, "immedi": 13, "futur": 13, "uniqu": 13, "prematur": 13, "same": 13, "current": 13, "task_id": 13, "hashabl": 13, "look": 13, "unschedul": 13, "identifi": 13, "warn": 13, "doesn": 13, "exist": 13, "known": 13, "alreadi": 13, "prevent": 13, "unawait": 13, "ll": 13, "elsewher": 13, "timezon": 13, "awar": 13, "calcul": 13, "subtract": 13, "na\u00efv": 13, "utc": 13, "past": 13, "datetim": 13, "delai": 13, "union": 13, "long": 13, "suppressed_except": 13, "event_loop": 13, "otherwis": 13, "run": 13, "typevar": 13, "task_return": 13, "tupl": 13}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "interactions"], [10, 0, 0, "-", "logging"], [11, 0, 0, "-", "members"], [12, 0, 0, "-", "regex"], [13, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.interactions": [[9, 1, 1, "", "DeleteMessageButton"], [9, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "interaction_check"], [9, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[10, 1, 1, "", "CustomLogger"], [10, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[10, 2, 1, "", "trace"]], "botcore.utils.members": [[11, 4, 1, "", "get_or_fetch_member"], [11, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[12, 5, 1, "", "DISCORD_INVITE"], [12, 5, 1, "", "FORMATTED_CODE_REGEX"], [12, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[13, 1, 1, "", "Scheduler"], [13, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[13, 2, 1, "", "__contains__"], [13, 2, 1, "", "__init__"], [13, 2, 1, "", "cancel"], [13, 2, 1, "", "cancel_all"], [13, 2, 1, "", "schedule"], [13, 2, 1, "", "schedule_at"], [13, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "interact": 9, "log": 10, "member": 11, "regex": 12, "schedul": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "site_api": [[5, "module-botcore.site_api"]], "Exts": [[4, "module-botcore.exts"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Submodules": [[2, "submodules"], [6, "submodules"]], "Utils": [[6, "module-botcore.utils"]], "async_stats": [[3, "module-botcore.async_stats"]], "Changelog": [[0, "changelog"]], "channel": [[8, "module-botcore.utils.channel"]], "logging": [[10, "module-botcore.utils.logging"]], "interactions": [[9, "module-botcore.utils.interactions"]], "members": [[11, "module-botcore.utils.members"]], "regex": [[12, "module-botcore.utils.regex"]], "scheduling": [[13, "module-botcore.utils.scheduling"]], "caching": [[7, "module-botcore.utils.caching"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.interactions"], [10, "module-botcore.utils.logging"], [11, "module-botcore.utils.members"], [12, "module-botcore.utils.regex"], [13, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "deletemessagebutton (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[9, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[10, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[10, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[10, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[10, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[11, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[11, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[11, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[12, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[12, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[13, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "4": 0, "0": [0, 7, 9, 10], "17th": 0, "juli": 0, "2022": 0, "featur": [0, 2], "106": 0, "add": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 10, 13], "option": [0, 2, 5, 7, 9, 10, 11], "messag": [0, 2, 9, 10, 13], "attr": 0, "botcor": [0, 1, 9], "util": [0, 1, 2, 7, 9, 10], "interact": [0, 2, 6, 8], "viewwithuserandrolecheck": [0, 2, 6, 9], "On": 0, "view": [0, 9], "timeout": [0, 9], "thi": [0, 2, 6, 8, 9, 11, 12, 13], "ha": [0, 6], "": [0, 6, 7, 9, 10, 12, 13], "remov": [0, 2, 9], "set": [0, 2, 9], "3": 0, "1": [0, 10], "16th": 0, "bug": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 2, 6, 9], "work": 0, "due": 0, "us": [0, 2, 3, 5, 6, 8, 10, 11, 12, 13], "wrong": 0, "delet": [0, 2, 5, 7, 9], "method": [0, 3, 5, 6, 10], "103": 0, "button": [0, 9], "attach": 0, "its": [0, 2], "parent": [0, 9], "gener": [0, 2, 13], "onli": [0, 2], "allow": [0, 2, 9], "specifi": [0, 9], "user": [0, 9], "role": [0, 2, 9, 11], "2": [0, 2, 9], "9th": 0, "98": 0, "close": [0, 1, 2, 5, 13], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 13], "creat": [0, 2, 3, 7, 13], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 9, 11], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 10, 11, 13], "self": [0, 2, 9], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "incorrect": 0, "docstr": 0, "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 11], "96": 0, "attempt": [0, 2, 8, 11], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 13], "i": [0, 2, 5, 6, 8, 9, 10, 11, 13], "none": [0, 2, 3, 5, 6, 7, 9, 10, 11, 13], "28th": 0, "support": [0, 3, 6, 13], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 11, 12], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 13], "new": [0, 3, 5, 7, 13], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 10], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 13], "out": [0, 9], "10th": 0, "break": 0, "75": 0, "invit": [0, 12], "regex": [0, 2, 6], "longer": [0, 9], "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "url": [0, 2, 5], "safe": 0, "result": [0, 13], "refer": 0, "document": 0, "handl": [0, 11, 13], "captur": [0, 12], "all": [0, 2, 3, 6, 13], "charact": 0, "up": [0, 2], "whitespac": [0, 12], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 2, 11], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 10, 13], "number": 0, "so": [0, 6], "should": [0, 2, 5, 9], "actual": 0, "now": [0, 13], "25th": 0, "69": 0, "get": [0, 2, 5, 8, 11], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 13], "t": [0, 13], "load": [0, 2, 6], "modul": [0, 2, 6, 13], "start": [0, 2, 13], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "own": 0, "task": [0, 2, 13], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 13], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 10], "pagin": 0, "also": [0, 6, 9], "basic": [0, 9], "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 9, 13], "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 10, 13], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 13], "event": [0, 2, 3, 13], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 9, 13], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 9, 11], "42": 0, "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 10, 13], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 11, 13], "trace": [0, 6, 10], "import": 0, "can": [0, 9, 13], "function": [0, 2, 7, 8, 10, 11, 13], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 11], "wrapper": [0, 5, 13], "from": [0, 2, 3, 5, 6, 8, 9, 11, 13], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 10, 12], "cach": [0, 2, 6, 8, 11], "logger": [0, 10], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9, 10], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 12], "block": [0, 12], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 10], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 10], "guild_id": 2, "allowed_rol": [2, 9], "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 10, 13], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13], "A": [2, 5, 6, 7, 8, 9, 13], "implement": [2, 3, 7, 9, 10], "python": [2, 13], "initialis": [2, 7], "int": [2, 3, 7, 8, 9, 13], "The": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "id": [2, 8, 9, 13], "list": 2, "mention": 2, "clientsess": [2, 5], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 10, 13], "server": [2, 12], "If": [2, 5, 9, 13], "given": [2, 3, 6, 8, 10, 11, 13], "oper": [2, 13], "type": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "normal": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 13], "instanti": [2, 9, 13], "instead": [2, 13], "connector": 2, "resolv": 2, "save": 2, "them": [2, 13], "all_extens": 2, "ran": 2, "loop": [2, 3, 13], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 13], "dev": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 13], "servic": 2, "ensur": [2, 9, 12], "thei": 2, "ar": [2, 7, 9, 12], "name": [2, 6, 10, 13], "alia": [2, 6], "individu": 2, "To": [2, 10], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "create_socket": [2, 3], "wait": [2, 13], "until": [2, 12], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 9, 13], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 10, 13], "error": [2, 5, 6, 11], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 10], "get_logg": [2, 6, 10], "get_or_fetch_memb": [2, 6, 11], "discord_invit": [2, 6, 12], "formatted_code_regex": [2, 6, 12], "raw_code_regex": [2, 6, 12], "create_task": [2, 6, 13], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 12], "__str__": [2, 5], "transport": 3, "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 13], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 11, 13], "django": 5, "initi": [5, 13], "token": 5, "authent": 5, "keyword": [5, 6, 10], "argument": [5, 6, 7, 10, 11], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 10, 13], "send": [5, 9], "json": 5, "respons": 5, "bool": [5, 8, 9, 13], "whether": [5, 8], "rais": [5, 8, 11, 13], "ok": 5, "ani": [5, 12, 13], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 9, 13], "http": [5, 12], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 12], "root_alias": 6, "two": 6, "sequenc": [6, 9], "act": 6, "top": 6, "level": [6, 10], "rather": 6, "than": 6, "being": [6, 11], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "callback": [6, 9], "interaction_check": [6, 9], "on_timeout": [6, 9], "__contains__": [6, 13], "cancel": [6, 13], "cancel_al": [6, 13], "schedule_at": [6, 13], "schedule_lat": [6, 13], "relat": [7, 10], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 11, 13], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 13], "offset": 7, "provid": [7, 13], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 11], "wrap": [7, 13], "target": 7, "how": [7, 13], "item": 7, "helper": [8, 11], "variou": 8, "channel_id": 8, "fetch": [8, 11], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 12], "do": 8, "have": [8, 10], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "style": 9, "buttonstyl": 9, "secondari": 9, "label": 9, "contain": [9, 13], "click": 9, "itself": 9, "carri": 9, "done": [9, 13], "see": 9, "origin": 9, "allowed_us": 9, "180": 9, "invok": 9, "moder": 9, "who": 9, "float": [9, 13], "last": 9, "ui": 9, "accept": 9, "input": 9, "ctx": 9, "similar": [9, 12], "after": [9, 13], "occur": 9, "msg": 10, "sever": 10, "exc_info": 10, "valu": 10, "houston": 10, "we": [10, 11], "interest": 10, "problem": 10, "mypi": 10, "recognis": 10, "interactin": 11, "member_id": 11, "failur": 11, "indic": 11, "could": 11, "found": [11, 13], "coro": [11, 13], "sole": 11, "expect": 11, "add_rol": 11, "remove_rol": 11, "modifi": 11, "purpos": 11, "intend": 11, "regular": 12, "express": 12, "pattern": 12, "pleas": 12, "sanitis": 12, "output": 12, "someth": 12, "urllib": 12, "pars": 12, "quot": 12, "format": 12, "raw": 12, "execut": 13, "keep": 13, "track": 13, "must": 13, "distinguish": 13, "other": 13, "suggest": 13, "immedi": 13, "futur": 13, "uniqu": 13, "prematur": 13, "same": 13, "current": 13, "task_id": 13, "hashabl": 13, "look": 13, "unschedul": 13, "identifi": 13, "warn": 13, "doesn": 13, "exist": 13, "known": 13, "alreadi": 13, "prevent": 13, "unawait": 13, "ll": 13, "elsewher": 13, "timezon": 13, "awar": 13, "calcul": 13, "subtract": 13, "na\u00efv": 13, "utc": 13, "past": 13, "datetim": 13, "delai": 13, "union": 13, "long": 13, "suppressed_except": 13, "event_loop": 13, "otherwis": 13, "run": 13, "typevar": 13, "task_return": 13, "tupl": 13}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "interactions"], [10, 0, 0, "-", "logging"], [11, 0, 0, "-", "members"], [12, 0, 0, "-", "regex"], [13, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.interactions": [[9, 1, 1, "", "DeleteMessageButton"], [9, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "interaction_check"], [9, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[10, 1, 1, "", "CustomLogger"], [10, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[10, 2, 1, "", "trace"]], "botcore.utils.members": [[11, 4, 1, "", "get_or_fetch_member"], [11, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[12, 5, 1, "", "DISCORD_INVITE"], [12, 5, 1, "", "FORMATTED_CODE_REGEX"], [12, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[13, 1, 1, "", "Scheduler"], [13, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[13, 2, 1, "", "__contains__"], [13, 2, 1, "", "__init__"], [13, 2, 1, "", "cancel"], [13, 2, 1, "", "cancel_all"], [13, 2, 1, "", "schedule"], [13, 2, 1, "", "schedule_at"], [13, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "interact": 9, "log": 10, "member": 11, "regex": 12, "schedul": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Submodules": [[2, "submodules"], [6, "submodules"]], "Changelog": [[0, "changelog"]], "Exts": [[4, "module-botcore.exts"]], "Utils": [[6, "module-botcore.utils"]], "site_api": [[5, "module-botcore.site_api"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "async_stats": [[3, "module-botcore.async_stats"]], "members": [[11, "module-botcore.utils.members"]], "channel": [[8, "module-botcore.utils.channel"]], "caching": [[7, "module-botcore.utils.caching"]], "regex": [[12, "module-botcore.utils.regex"]], "interactions": [[9, "module-botcore.utils.interactions"]], "scheduling": [[13, "module-botcore.utils.scheduling"]], "logging": [[10, "module-botcore.utils.logging"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.interactions"], [10, "module-botcore.utils.logging"], [11, "module-botcore.utils.members"], [12, "module-botcore.utils.regex"], [13, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "deletemessagebutton (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[9, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[10, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[10, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[10, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[10, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[11, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[11, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[11, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[12, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[12, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[13, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v7.4.0/.buildinfo b/v7.4.0/.buildinfo index 4676f922..9d3e2a97 100644 --- a/v7.4.0/.buildinfo +++ b/v7.4.0/.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: da8f4dbee681487931dfbfaea486de7c +config: dec3978c009835368913e47a0fb88b7a tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v7.4.0/output/botcore.html b/v7.4.0/output/botcore.html index 7548f6e4..b7c122da 100644 --- a/v7.4.0/output/botcore.html +++ b/v7.4.0/output/botcore.html @@ -386,7 +386,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -517,7 +517,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v7.4.0/output/botcore.utils.channel.html b/v7.4.0/output/botcore.utils.channel.html index 103c9547..f4790aac 100644 --- a/v7.4.0/output/botcore.utils.channel.html +++ b/v7.4.0/output/botcore.utils.channel.html @@ -390,20 +390,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -418,7 +418,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v7.4.0/output/botcore.utils.html b/v7.4.0/output/botcore.utils.html index 07a4d3fe..873e9fc7 100644 --- a/v7.4.0/output/botcore.utils.html +++ b/v7.4.0/output/botcore.utils.html @@ -393,7 +393,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v7.4.0/output/botcore.utils.interactions.html b/v7.4.0/output/botcore.utils.interactions.html index 5f147f52..8b321457 100644 --- a/v7.4.0/output/botcore.utils.interactions.html +++ b/v7.4.0/output/botcore.utils.interactions.html @@ -385,7 +385,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -418,7 +418,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -427,7 +427,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -443,7 +443,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v7.4.0/output/botcore.utils.members.html b/v7.4.0/output/botcore.utils.members.html index da72d589..2f5d1a46 100644 --- a/v7.4.0/output/botcore.utils.members.html +++ b/v7.4.0/output/botcore.utils.members.html @@ -382,17 +382,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -402,13 +402,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v7.4.0/searchindex.js b/v7.4.0/searchindex.js index 809e2e3f..8a9fb213 100644 --- a/v7.4.0/searchindex.js +++ b/v7.4.0/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "4": 0, "0": [0, 7, 9, 10], "17th": 0, "juli": 0, "2022": 0, "featur": [0, 2], "106": 0, "add": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 10, 13], "option": [0, 2, 5, 7, 9, 10, 11], "messag": [0, 2, 9, 10, 13], "attr": 0, "botcor": [0, 1, 9], "util": [0, 1, 2, 7, 9, 10], "interact": [0, 2, 6, 8], "viewwithuserandrolecheck": [0, 2, 6, 9], "On": 0, "view": [0, 9], "timeout": [0, 9], "thi": [0, 2, 6, 8, 9, 11, 12, 13], "ha": [0, 6], "its": [0, 2], "remov": [0, 2, 9], "set": [0, 2, 9], "3": 0, "1": [0, 10], "16th": 0, "bug": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 2, 6, 9], "work": 0, "due": 0, "us": [0, 2, 3, 5, 6, 8, 10, 11, 12, 13], "wrong": 0, "delet": [0, 2, 5, 7, 9], "method": [0, 3, 5, 6, 10], "103": 0, "button": [0, 9], "attach": 0, "parent": [0, 9], "gener": [0, 2, 13], "onli": [0, 2], "allow": [0, 2, 9], "specifi": [0, 9], "user": [0, 9], "role": [0, 2, 9, 11], "2": [0, 2, 9], "9th": 0, "98": 0, "close": [0, 1, 2, 5, 13], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 13], "creat": [0, 2, 3, 7, 13], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 9, 11], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 10, 11, 13], "self": [0, 2, 9], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "incorrect": 0, "docstr": 0, "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 11], "96": 0, "attempt": [0, 2, 8, 11], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 13], "i": [0, 2, 5, 6, 8, 9, 10, 11, 13], "none": [0, 2, 3, 5, 6, 7, 9, 10, 11, 13], "28th": 0, "support": [0, 3, 6, 13], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 11, 12], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 13], "new": [0, 3, 5, 7, 13], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 10], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 13], "out": [0, 9], "10th": 0, "break": 0, "75": 0, "invit": [0, 12], "regex": [0, 2, 6], "longer": [0, 9], "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "url": [0, 2, 5], "safe": 0, "result": [0, 13], "refer": 0, "document": 0, "handl": [0, 11, 13], "captur": [0, 12], "all": [0, 2, 3, 6, 13], "charact": 0, "up": [0, 2], "whitespac": [0, 12], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 2, 11], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 10, 13], "number": 0, "so": [0, 6], "should": [0, 2, 5, 9], "actual": 0, "now": [0, 13], "25th": 0, "69": 0, "get": [0, 2, 5, 8, 11], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 13], "t": [0, 13], "load": [0, 2, 6], "modul": [0, 2, 6, 13], "start": [0, 2, 13], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 10, 12, 13], "own": 0, "task": [0, 2, 13], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 13], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 10], "pagin": 0, "also": [0, 6, 9], "basic": [0, 9], "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 9, 13], "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 10, 13], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 13], "event": [0, 2, 3, 13], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 9, 13], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 9, 11], "42": 0, "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 10, 13], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 11, 13], "trace": [0, 6, 10], "import": 0, "can": [0, 9, 13], "function": [0, 2, 7, 8, 10, 11, 13], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 11], "wrapper": [0, 5, 13], "from": [0, 2, 3, 5, 6, 8, 9, 11, 13], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 10, 12], "cach": [0, 2, 6, 8, 11], "logger": [0, 10], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9, 10], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 12], "block": [0, 12], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 10], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 10], "guild_id": 2, "allowed_rol": [2, 9], "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 10, 13], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13], "A": [2, 5, 6, 7, 8, 9, 13], "implement": [2, 3, 7, 9, 10], "python": [2, 13], "initialis": [2, 7], "int": [2, 3, 7, 8, 9, 13], "The": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "id": [2, 8, 9, 13], "list": 2, "mention": 2, "clientsess": [2, 5], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 10, 13], "server": [2, 12], "If": [2, 5, 9, 13], "given": [2, 3, 6, 8, 10, 11, 13], "oper": [2, 13], "type": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "normal": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 13], "instanti": [2, 9, 13], "instead": [2, 13], "connector": 2, "resolv": 2, "save": 2, "them": [2, 13], "all_extens": 2, "ran": 2, "loop": [2, 3, 13], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 13], "dev": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 13], "servic": 2, "ensur": [2, 9, 12], "thei": 2, "ar": [2, 7, 9, 12], "name": [2, 6, 10, 13], "alia": [2, 6], "individu": 2, "To": [2, 10], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "create_socket": [2, 3], "wait": [2, 13], "until": [2, 12], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 9, 13], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 10, 13], "error": [2, 5, 6, 11], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 10], "get_logg": [2, 6, 10], "get_or_fetch_memb": [2, 6, 11], "discord_invit": [2, 6, 12], "formatted_code_regex": [2, 6, 12], "raw_code_regex": [2, 6, 12], "create_task": [2, 6, 13], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 12], "__str__": [2, 5], "transport": 3, "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 13], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 11, 13], "django": 5, "initi": [5, 13], "token": 5, "authent": 5, "keyword": [5, 6, 10], "argument": [5, 6, 7, 10, 11], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 10, 13], "send": [5, 9], "json": 5, "respons": 5, "bool": [5, 8, 9, 13], "whether": [5, 8], "rais": [5, 8, 11, 13], "ok": 5, "ani": [5, 12, 13], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 9, 13], "http": [5, 12], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 12], "root_alias": 6, "two": 6, "sequenc": [6, 9], "act": 6, "top": 6, "level": [6, 10], "rather": 6, "than": 6, "being": [6, 11], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "callback": [6, 9], "interaction_check": [6, 9], "on_timeout": [6, 9], "__contains__": [6, 13], "cancel": [6, 13], "cancel_al": [6, 13], "schedule_at": [6, 13], "schedule_lat": [6, 13], "relat": [7, 10], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 11, 13], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 13], "offset": 7, "provid": [7, 13], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 11], "wrap": [7, 13], "target": 7, "how": [7, 13], "item": 7, "helper": [8, 11], "variou": 8, "channel_id": 8, "fetch": [8, 11], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 12], "do": 8, "have": [8, 10], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "style": 9, "buttonstyl": 9, "secondari": 9, "label": 9, "contain": [9, 13], "click": 9, "itself": 9, "carri": 9, "done": [9, 13], "see": 9, "origin": 9, "allowed_us": 9, "180": 9, "invok": 9, "moder": 9, "who": 9, "float": [9, 13], "last": 9, "ui": 9, "accept": 9, "input": 9, "ctx": 9, "similar": [9, 12], "after": [9, 13], "occur": 9, "msg": 10, "sever": 10, "exc_info": 10, "valu": 10, "houston": 10, "we": [10, 11], "interest": 10, "problem": 10, "mypi": 10, "recognis": 10, "interactin": 11, "member_id": 11, "failur": 11, "indic": 11, "could": 11, "found": [11, 13], "coro": [11, 13], "sole": 11, "expect": 11, "add_rol": 11, "remove_rol": 11, "modifi": 11, "purpos": 11, "intend": 11, "regular": 12, "express": 12, "pattern": 12, "pleas": 12, "sanitis": 12, "output": 12, "someth": 12, "urllib": 12, "pars": 12, "quot": 12, "format": 12, "raw": 12, "execut": 13, "keep": 13, "track": 13, "must": 13, "distinguish": 13, "other": 13, "suggest": 13, "immedi": 13, "futur": 13, "uniqu": 13, "prematur": 13, "same": 13, "current": 13, "task_id": 13, "hashabl": 13, "look": 13, "unschedul": 13, "identifi": 13, "warn": 13, "doesn": 13, "exist": 13, "known": 13, "alreadi": 13, "prevent": 13, "unawait": 13, "ll": 13, "elsewher": 13, "timezon": 13, "awar": 13, "calcul": 13, "subtract": 13, "na\u00efv": 13, "utc": 13, "past": 13, "datetim": 13, "delai": 13, "union": 13, "long": 13, "suppressed_except": 13, "event_loop": 13, "otherwis": 13, "run": 13, "typevar": 13, "task_return": 13, "tupl": 13}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "interactions"], [10, 0, 0, "-", "logging"], [11, 0, 0, "-", "members"], [12, 0, 0, "-", "regex"], [13, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.interactions": [[9, 1, 1, "", "DeleteMessageButton"], [9, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "interaction_check"], [9, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[10, 1, 1, "", "CustomLogger"], [10, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[10, 2, 1, "", "trace"]], "botcore.utils.members": [[11, 4, 1, "", "get_or_fetch_member"], [11, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[12, 5, 1, "", "DISCORD_INVITE"], [12, 5, 1, "", "FORMATTED_CODE_REGEX"], [12, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[13, 1, 1, "", "Scheduler"], [13, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[13, 2, 1, "", "__contains__"], [13, 2, 1, "", "__init__"], [13, 2, 1, "", "cancel"], [13, 2, 1, "", "cancel_all"], [13, 2, 1, "", "schedule"], [13, 2, 1, "", "schedule_at"], [13, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "interact": 9, "log": 10, "member": 11, "regex": 12, "schedul": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Submodules": [[2, "submodules"], [6, "submodules"]], "site_api": [[5, "module-botcore.site_api"]], "Utils": [[6, "module-botcore.utils"]], "Changelog": [[0, "changelog"]], "async_stats": [[3, "module-botcore.async_stats"]], "Exts": [[4, "module-botcore.exts"]], "scheduling": [[13, "module-botcore.utils.scheduling"]], "regex": [[12, "module-botcore.utils.regex"]], "logging": [[10, "module-botcore.utils.logging"]], "members": [[11, "module-botcore.utils.members"]], "channel": [[8, "module-botcore.utils.channel"]], "interactions": [[9, "module-botcore.utils.interactions"]], "caching": [[7, "module-botcore.utils.caching"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.interactions"], [10, "module-botcore.utils.logging"], [11, "module-botcore.utils.members"], [12, "module-botcore.utils.regex"], [13, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "deletemessagebutton (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[9, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[10, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[10, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[10, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[10, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[11, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[11, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[11, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[12, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[12, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[13, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "4": 0, "0": [0, 7, 9, 10], "17th": 0, "juli": 0, "2022": 0, "featur": [0, 2], "106": 0, "add": [0, 2], "an": [0, 2, 3, 5, 6, 7, 8, 10, 13], "option": [0, 2, 5, 7, 9, 10, 11], "messag": [0, 2, 9, 10, 13], "attr": 0, "botcor": [0, 1, 9], "util": [0, 1, 2, 7, 9, 10], "interact": [0, 2, 6, 8], "viewwithuserandrolecheck": [0, 2, 6, 9], "On": 0, "view": [0, 9], "timeout": [0, 9], "thi": [0, 2, 6, 8, 9, 11, 12, 13], "ha": [0, 6], "its": [0, 2], "remov": [0, 2, 9], "set": [0, 2, 9], "3": 0, "1": [0, 10], "16th": 0, "bug": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 2, 6, 9], "work": 0, "due": 0, "us": [0, 2, 3, 5, 6, 8, 10, 11, 12, 13], "wrong": 0, "delet": [0, 2, 5, 7, 9], "method": [0, 3, 5, 6, 10], "103": 0, "button": [0, 9], "attach": 0, "parent": [0, 9], "gener": [0, 2, 13], "onli": [0, 2], "allow": [0, 2, 9], "specifi": [0, 9], "user": [0, 9], "role": [0, 2, 9, 11], "2": [0, 2, 9], "9th": 0, "98": 0, "close": [0, 1, 2, 5, 13], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 13], "creat": [0, 2, 3, 7, 13], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 9, 11], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 10, 11, 13], "self": [0, 2, 9], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "incorrect": 0, "docstr": 0, "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 11], "96": 0, "attempt": [0, 2, 8, 11], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 13], "i": [0, 2, 5, 6, 8, 9, 10, 11, 13], "none": [0, 2, 3, 5, 6, 7, 9, 10, 11, 13], "28th": 0, "support": [0, 3, 6, 13], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 11, 12], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 13], "new": [0, 3, 5, 7, 13], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 10], "avail": [0, 2], "older": 0, "doc": 0, "version": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 13], "out": [0, 9], "10th": 0, "break": 0, "75": 0, "invit": [0, 12], "regex": [0, 2, 6], "longer": [0, 9], "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "url": [0, 2, 5], "safe": 0, "result": [0, 13], "refer": 0, "document": 0, "handl": [0, 11, 13], "captur": [0, 12], "all": [0, 2, 3, 6, 13], "charact": 0, "up": [0, 2], "whitespac": [0, 12], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 2, 11], "chunk": 0, "base": [0, 2, 3, 5, 7, 9, 10, 13], "number": 0, "so": [0, 6], "should": [0, 2, 5, 9], "actual": 0, "now": [0, 13], "25th": 0, "69": 0, "get": [0, 2, 5, 8, 11], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 13], "t": [0, 13], "load": [0, 2, 6], "modul": [0, 2, 6, 13], "start": [0, 2, 13], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "": [0, 6, 7, 9, 10, 12, 13], "own": 0, "task": [0, 2, 13], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 13], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 10], "pagin": 0, "also": [0, 6, 9], "basic": [0, 9], "forum": 0, "channel": [0, 2, 6], "5": 0, "18th": 0, "63": 0, "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 9, 13], "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 10, 13], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 13], "event": [0, 2, 3, 13], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 9, 13], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 9, 11], "42": 0, "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 9, 10, 13], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 11, 13], "trace": [0, 6, 10], "import": 0, "can": [0, 9, 13], "function": [0, 2, 7, 8, 10, 11, 13], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 11], "wrapper": [0, 5, 13], "from": [0, 2, 3, 5, 6, 8, 9, 11, 13], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 10, 12], "cach": [0, 2, 6, 8, 11], "logger": [0, 10], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 9, 10], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 12], "block": [0, 12], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 10], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 10], "guild_id": 2, "allowed_rol": [2, 9], "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 9, 10, 13], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13], "A": [2, 5, 6, 7, 8, 9, 13], "implement": [2, 3, 7, 9, 10], "python": [2, 13], "initialis": [2, 7], "int": [2, 3, 7, 8, 9, 13], "The": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "id": [2, 8, 9, 13], "list": 2, "mention": 2, "clientsess": [2, 5], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 10, 13], "server": [2, 12], "If": [2, 5, 9, 13], "given": [2, 3, 6, 8, 10, 11, 13], "oper": [2, 13], "type": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13], "normal": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 13], "instanti": [2, 9, 13], "instead": [2, 13], "connector": 2, "resolv": 2, "save": 2, "them": [2, 13], "all_extens": 2, "ran": 2, "loop": [2, 3, 13], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 13], "dev": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 13], "servic": 2, "ensur": [2, 9, 12], "thei": 2, "ar": [2, 7, 9, 12], "name": [2, 6, 10, 13], "alia": [2, 6], "individu": 2, "To": [2, 10], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "create_socket": [2, 3], "wait": [2, 13], "until": [2, 12], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 9, 13], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 10, 13], "error": [2, 5, 6, 11], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "customlogg": [2, 6, 10], "get_logg": [2, 6, 10], "get_or_fetch_memb": [2, 6, 11], "discord_invit": [2, 6, 12], "formatted_code_regex": [2, 6, 12], "raw_code_regex": [2, 6, 12], "create_task": [2, 6, 13], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 12], "__str__": [2, 5], "transport": 3, "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 13], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 11, 13], "django": 5, "initi": [5, 13], "token": 5, "authent": 5, "keyword": [5, 6, 10], "argument": [5, 6, 7, 10, 11], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 10, 13], "send": [5, 9], "json": 5, "respons": 5, "bool": [5, 8, 9, 13], "whether": [5, 8], "rais": [5, 8, 11, 13], "ok": 5, "ani": [5, 12, 13], "extra": 5, "dict": 5, "204": 5, "No": 5, "content": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 9, 13], "http": [5, 12], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": 5, "string": 5, "represent": 5, "appli": [6, 7], "group": [6, 12], "root_alias": 6, "two": 6, "sequenc": [6, 9], "act": 6, "top": 6, "level": [6, 10], "rather": 6, "than": 6, "being": [6, 11], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "callback": [6, 9], "interaction_check": [6, 9], "on_timeout": [6, 9], "__contains__": [6, 13], "cancel": [6, 13], "cancel_al": [6, 13], "schedule_at": [6, 13], "schedule_lat": [6, 13], "relat": [7, 10], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 11, 13], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 13], "offset": 7, "provid": [7, 13], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 11], "wrap": [7, 13], "target": 7, "how": [7, 13], "item": 7, "helper": [8, 11], "variou": 8, "channel_id": 8, "fetch": [8, 11], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 12], "do": 8, "have": [8, 10], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "style": 9, "buttonstyl": 9, "secondari": 9, "label": 9, "contain": [9, 13], "click": 9, "itself": 9, "carri": 9, "done": [9, 13], "see": 9, "origin": 9, "allowed_us": 9, "180": 9, "invok": 9, "moder": 9, "who": 9, "float": [9, 13], "last": 9, "ui": 9, "accept": 9, "input": 9, "ctx": 9, "similar": [9, 12], "after": [9, 13], "occur": 9, "msg": 10, "sever": 10, "exc_info": 10, "valu": 10, "houston": 10, "we": [10, 11], "interest": 10, "problem": 10, "mypi": 10, "recognis": 10, "interactin": 11, "member_id": 11, "failur": 11, "indic": 11, "could": 11, "found": [11, 13], "coro": [11, 13], "sole": 11, "expect": 11, "add_rol": 11, "remove_rol": 11, "modifi": 11, "purpos": 11, "intend": 11, "regular": 12, "express": 12, "pattern": 12, "pleas": 12, "sanitis": 12, "output": 12, "someth": 12, "urllib": 12, "pars": 12, "quot": 12, "format": 12, "raw": 12, "execut": 13, "keep": 13, "track": 13, "must": 13, "distinguish": 13, "other": 13, "suggest": 13, "immedi": 13, "futur": 13, "uniqu": 13, "prematur": 13, "same": 13, "current": 13, "task_id": 13, "hashabl": 13, "look": 13, "unschedul": 13, "identifi": 13, "warn": 13, "doesn": 13, "exist": 13, "known": 13, "alreadi": 13, "prevent": 13, "unawait": 13, "ll": 13, "elsewher": 13, "timezon": 13, "awar": 13, "calcul": 13, "subtract": 13, "na\u00efv": 13, "utc": 13, "past": 13, "datetim": 13, "delai": 13, "union": 13, "long": 13, "suppressed_except": 13, "event_loop": 13, "otherwis": 13, "run": 13, "typevar": 13, "task_return": 13, "tupl": 13}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "interactions"], [10, 0, 0, "-", "logging"], [11, 0, 0, "-", "members"], [12, 0, 0, "-", "regex"], [13, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.interactions": [[9, 1, 1, "", "DeleteMessageButton"], [9, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[9, 2, 1, "", "__init__"], [9, 2, 1, "", "interaction_check"], [9, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[10, 1, 1, "", "CustomLogger"], [10, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[10, 2, 1, "", "trace"]], "botcore.utils.members": [[11, 4, 1, "", "get_or_fetch_member"], [11, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[12, 5, 1, "", "DISCORD_INVITE"], [12, 5, 1, "", "FORMATTED_CODE_REGEX"], [12, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[13, 1, 1, "", "Scheduler"], [13, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[13, 2, 1, "", "__contains__"], [13, 2, 1, "", "__init__"], [13, 2, 1, "", "cancel"], [13, 2, 1, "", "cancel_all"], [13, 2, 1, "", "schedule"], [13, 2, 1, "", "schedule_at"], [13, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "interact": 9, "log": 10, "member": 11, "regex": 12, "schedul": 13}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"site_api": [[5, "module-botcore.site_api"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Submodules": [[2, "submodules"], [6, "submodules"]], "Utils": [[6, "module-botcore.utils"]], "Exts": [[4, "module-botcore.exts"]], "Changelog": [[0, "changelog"]], "async_stats": [[3, "module-botcore.async_stats"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "interactions": [[9, "module-botcore.utils.interactions"]], "logging": [[10, "module-botcore.utils.logging"]], "regex": [[12, "module-botcore.utils.regex"]], "members": [[11, "module-botcore.utils.members"]], "scheduling": [[13, "module-botcore.utils.scheduling"]], "caching": [[7, "module-botcore.utils.caching"]], "channel": [[8, "module-botcore.utils.channel"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.interactions"], [10, "module-botcore.utils.logging"], [11, "module-botcore.utils.members"], [12, "module-botcore.utils.regex"], [13, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "deletemessagebutton (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[9, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[9, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[9, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[10, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[10, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[10, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[10, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[11, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[11, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[11, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[12, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[12, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[12, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[13, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[13, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[13, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v7.5.0/.buildinfo b/v7.5.0/.buildinfo index 356d83c0..cb21556f 100644 --- a/v7.5.0/.buildinfo +++ b/v7.5.0/.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: 335d3b8516c2e9ce1312387a4bed5bd9 +config: aa5612441dac3663f5af753974454999 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v7.5.0/output/botcore.html b/v7.5.0/output/botcore.html index 4fd7cc95..f38d64e8 100644 --- a/v7.5.0/output/botcore.html +++ b/v7.5.0/output/botcore.html @@ -387,7 +387,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -518,7 +518,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v7.5.0/output/botcore.utils.channel.html b/v7.5.0/output/botcore.utils.channel.html index 7a3c0078..a6c0f15a 100644 --- a/v7.5.0/output/botcore.utils.channel.html +++ b/v7.5.0/output/botcore.utils.channel.html @@ -391,20 +391,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -419,7 +419,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v7.5.0/output/botcore.utils.commands.html b/v7.5.0/output/botcore.utils.commands.html index cc397d0f..74cb96d9 100644 --- a/v7.5.0/output/botcore.utils.commands.html +++ b/v7.5.0/output/botcore.utils.commands.html @@ -390,12 +390,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v7.5.0/output/botcore.utils.html b/v7.5.0/output/botcore.utils.html index 1f5de277..5e6451ef 100644 --- a/v7.5.0/output/botcore.utils.html +++ b/v7.5.0/output/botcore.utils.html @@ -394,7 +394,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v7.5.0/output/botcore.utils.interactions.html b/v7.5.0/output/botcore.utils.interactions.html index fb27c22e..41b71fa7 100644 --- a/v7.5.0/output/botcore.utils.interactions.html +++ b/v7.5.0/output/botcore.utils.interactions.html @@ -386,7 +386,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -419,7 +419,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -428,7 +428,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -444,7 +444,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v7.5.0/output/botcore.utils.members.html b/v7.5.0/output/botcore.utils.members.html index 77a96e50..9da93d40 100644 --- a/v7.5.0/output/botcore.utils.members.html +++ b/v7.5.0/output/botcore.utils.members.html @@ -383,17 +383,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -403,13 +403,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v7.5.0/searchindex.js b/v7.5.0/searchindex.js index 94bca7e4..6dc8ba14 100644 --- a/v7.5.0/searchindex.js +++ b/v7.5.0/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "5": 0, "0": [0, 7, 10, 11], "23rd": 0, "juli": 0, "2022": 0, "featur": [0, 2], "101": 0, "add": [0, 2], "util": [0, 1, 2, 7, 10, 11], "clean": [0, 9], "string": [0, 5], "referenc": 0, "messag": [0, 2, 9, 10, 11, 14], "": [0, 6, 7, 9, 10, 11, 13, 14], "content": [0, 5, 9], "4": 0, "17th": 0, "106": 0, "an": [0, 2, 3, 5, 6, 7, 8, 11, 14], "option": [0, 2, 5, 7, 9, 10, 11, 12], "attr": 0, "botcor": [0, 1, 10], "interact": [0, 2, 6, 8], "viewwithuserandrolecheck": [0, 2, 6, 10], "On": 0, "view": [0, 10], "timeout": [0, 10], "thi": [0, 2, 6, 8, 10, 12, 13, 14], "ha": [0, 6], "its": [0, 2], "remov": [0, 2, 10], "set": [0, 2, 10], "3": 0, "1": [0, 11], "16th": 0, "bug": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 2, 6, 10], "work": 0, "due": 0, "us": [0, 2, 3, 5, 6, 8, 11, 12, 13, 14], "wrong": 0, "delet": [0, 2, 5, 7, 10], "method": [0, 3, 5, 6, 11], "103": 0, "button": [0, 10], "attach": 0, "parent": [0, 10], "gener": [0, 2, 14], "onli": [0, 2], "allow": [0, 2, 10], "specifi": [0, 10], "user": [0, 10], "role": [0, 2, 10, 12], "2": [0, 2, 10], "9th": 0, "98": 0, "close": [0, 1, 2, 5, 14], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 14], "creat": [0, 2, 3, 7, 14], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 10, 12], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 11, 12, 14], "self": [0, 2, 10], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14], "incorrect": 0, "docstr": 0, "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 12], "96": 0, "attempt": [0, 2, 8, 12], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 14], "i": [0, 2, 5, 6, 8, 10, 11, 12, 14], "none": [0, 2, 3, 5, 6, 7, 9, 10, 11, 12, 14], "28th": 0, "support": [0, 3, 6, 14], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 9, 12, 13], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 14], "new": [0, 3, 5, 7, 14], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 11], "avail": [0, 2], "older": 0, "doc": 0, "version": [0, 9], "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 14], "out": [0, 10], "10th": 0, "break": 0, "75": 0, "invit": [0, 13], "regex": [0, 2, 6], "longer": [0, 10], "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14], "url": [0, 2, 5], "safe": 0, "result": [0, 14], "refer": 0, "document": 0, "handl": [0, 12, 14], "captur": [0, 13], "all": [0, 2, 3, 6, 14], "charact": 0, "up": [0, 2], "whitespac": [0, 13], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 2, 12], "chunk": 0, "base": [0, 2, 3, 5, 7, 10, 11, 14], "number": 0, "so": [0, 6], "should": [0, 2, 5, 10], "actual": 0, "now": [0, 14], "25th": 0, "69": 0, "get": [0, 2, 5, 8, 12], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 14], "t": [0, 9, 14], "load": [0, 2, 6], "modul": [0, 2, 6, 14], "start": [0, 2, 14], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "own": 0, "task": [0, 2, 14], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 14], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 11], "pagin": 0, "also": [0, 6, 10], "basic": [0, 10], "forum": 0, "channel": [0, 2, 6], "18th": 0, "63": 0, "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 10, 14], "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 11, 14], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 14], "event": [0, 2, 3, 14], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 10, 14], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 9, 10, 12], "42": 0, "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8, 9], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 10, 11, 14], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 12, 14], "trace": [0, 6, 11], "import": 0, "can": [0, 10, 14], "function": [0, 2, 7, 8, 11, 12, 14], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 12], "wrapper": [0, 5, 14], "from": [0, 2, 3, 5, 6, 8, 10, 12, 14], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 11, 13], "cach": [0, 2, 6, 8, 12], "logger": [0, 11], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 10, 11], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 13], "block": [0, 13], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 11], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 11], "guild_id": 2, "allowed_rol": [2, 10], "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 10, 11, 14], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "A": [2, 5, 6, 7, 8, 10, 14], "implement": [2, 3, 7, 10, 11], "python": [2, 14], "initialis": [2, 7], "int": [2, 3, 7, 8, 10, 14], "The": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14], "id": [2, 8, 10, 14], "list": 2, "mention": 2, "clientsess": [2, 5], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 10, 11, 14], "server": [2, 13], "If": [2, 5, 10, 14], "given": [2, 3, 6, 8, 9, 11, 12, 14], "oper": [2, 14], "type": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14], "normal": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 14], "instanti": [2, 10, 14], "instead": [2, 14], "connector": 2, "resolv": 2, "save": 2, "them": [2, 14], "all_extens": 2, "ran": 2, "loop": [2, 3, 14], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 14], "dev": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 14], "servic": 2, "ensur": [2, 10, 13], "thei": 2, "ar": [2, 7, 10, 13], "name": [2, 6, 11, 14], "alia": [2, 6], "individu": 2, "To": [2, 11], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "create_socket": [2, 3], "wait": [2, 14], "until": [2, 13], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 10, 14], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 11, 14], "error": [2, 5, 6, 12], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "clean_text_or_repli": [2, 6, 9], "customlogg": [2, 6, 11], "get_logg": [2, 6, 11], "get_or_fetch_memb": [2, 6, 12], "discord_invit": [2, 6, 13], "formatted_code_regex": [2, 6, 13], "raw_code_regex": [2, 6, 13], "create_task": [2, 6, 14], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 13], "__str__": [2, 5], "transport": 3, "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 14], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 12, 14], "django": 5, "initi": [5, 14], "token": 5, "authent": 5, "keyword": [5, 6, 11], "argument": [5, 6, 7, 9, 11, 12], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 11, 14], "send": [5, 10], "json": 5, "respons": 5, "bool": [5, 8, 10, 14], "whether": [5, 8], "rais": [5, 8, 9, 12, 14], "ok": 5, "ani": [5, 13, 14], "extra": 5, "dict": 5, "204": 5, "No": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 10, 14], "http": [5, 13], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": [5, 9], "represent": 5, "appli": [6, 7], "group": [6, 13], "root_alias": 6, "two": 6, "sequenc": [6, 10], "act": 6, "top": 6, "level": [6, 11], "rather": 6, "than": 6, "being": [6, 12], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "callback": [6, 10], "interaction_check": [6, 10], "on_timeout": [6, 10], "__contains__": [6, 14], "cancel": [6, 14], "cancel_al": [6, 14], "schedule_at": [6, 14], "schedule_lat": [6, 14], "relat": [7, 11], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 12, 14], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 14], "offset": 7, "provid": [7, 9, 14], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 12], "wrap": [7, 14], "target": 7, "how": [7, 14], "item": 7, "helper": [8, 12], "variou": 8, "channel_id": 8, "fetch": [8, 12], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 13], "do": 8, "have": [8, 11], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "ctx": [9, 10], "repli": 9, "context": 9, "badargu": 9, "wasn": 9, "els": 9, "style": 10, "buttonstyl": 10, "secondari": 10, "label": 10, "contain": [10, 14], "click": 10, "itself": 10, "carri": 10, "done": [10, 14], "see": 10, "origin": 10, "allowed_us": 10, "180": 10, "invok": 10, "moder": 10, "who": 10, "float": [10, 14], "last": 10, "ui": 10, "accept": 10, "input": 10, "similar": [10, 13], "after": [10, 14], "occur": 10, "msg": 11, "sever": 11, "exc_info": 11, "valu": 11, "houston": 11, "we": [11, 12], "interest": 11, "problem": 11, "mypi": 11, "recognis": 11, "interactin": 12, "member_id": 12, "failur": 12, "indic": 12, "could": 12, "found": [12, 14], "coro": [12, 14], "sole": 12, "expect": 12, "add_rol": 12, "remove_rol": 12, "modifi": 12, "purpos": 12, "intend": 12, "regular": 13, "express": 13, "pattern": 13, "pleas": 13, "sanitis": 13, "output": 13, "someth": 13, "urllib": 13, "pars": 13, "quot": 13, "format": 13, "raw": 13, "execut": 14, "keep": 14, "track": 14, "must": 14, "distinguish": 14, "other": 14, "suggest": 14, "immedi": 14, "futur": 14, "uniqu": 14, "prematur": 14, "same": 14, "current": 14, "task_id": 14, "hashabl": 14, "look": 14, "unschedul": 14, "identifi": 14, "warn": 14, "doesn": 14, "exist": 14, "known": 14, "alreadi": 14, "prevent": 14, "unawait": 14, "ll": 14, "elsewher": 14, "timezon": 14, "awar": 14, "calcul": 14, "subtract": 14, "na\u00efv": 14, "utc": 14, "past": 14, "datetim": 14, "delai": 14, "union": 14, "long": 14, "suppressed_except": 14, "event_loop": 14, "otherwis": 14, "run": 14, "typevar": 14, "task_return": 14, "tupl": 14}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "commands"], [10, 0, 0, "-", "interactions"], [11, 0, 0, "-", "logging"], [12, 0, 0, "-", "members"], [13, 0, 0, "-", "regex"], [14, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[9, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[10, 1, 1, "", "DeleteMessageButton"], [10, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[10, 2, 1, "", "__init__"], [10, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[10, 2, 1, "", "__init__"], [10, 2, 1, "", "interaction_check"], [10, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[11, 1, 1, "", "CustomLogger"], [11, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[11, 2, 1, "", "trace"]], "botcore.utils.members": [[12, 4, 1, "", "get_or_fetch_member"], [12, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[13, 5, 1, "", "DISCORD_INVITE"], [13, 5, 1, "", "FORMATTED_CODE_REGEX"], [13, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[14, 1, 1, "", "Scheduler"], [14, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[14, 2, 1, "", "__contains__"], [14, 2, 1, "", "__init__"], [14, 2, 1, "", "cancel"], [14, 2, 1, "", "cancel_all"], [14, 2, 1, "", "schedule"], [14, 2, 1, "", "schedule_at"], [14, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "command": 9, "interact": 10, "log": 11, "member": 12, "regex": 13, "schedul": 14}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "site_api": [[5, "module-botcore.site_api"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "async_stats": [[3, "module-botcore.async_stats"]], "Changelog": [[0, "changelog"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Exts": [[4, "module-botcore.exts"]], "regex": [[13, "module-botcore.utils.regex"]], "members": [[12, "module-botcore.utils.members"]], "logging": [[11, "module-botcore.utils.logging"]], "channel": [[8, "module-botcore.utils.channel"]], "interactions": [[10, "module-botcore.utils.interactions"]], "caching": [[7, "module-botcore.utils.caching"]], "commands": [[9, "module-botcore.utils.commands"]], "scheduling": [[14, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.commands"], [10, "module-botcore.utils.interactions"], [11, "module-botcore.utils.logging"], [12, "module-botcore.utils.members"], [13, "module-botcore.utils.regex"], [14, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[9, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[9, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[10, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[10, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[10, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[10, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[10, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[10, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[10, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[10, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[11, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[11, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[11, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[11, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[12, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[12, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[12, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[13, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[13, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[13, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[13, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[14, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[14, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[14, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"7": 0, "5": 0, "0": [0, 7, 10, 11], "23rd": 0, "juli": 0, "2022": 0, "featur": [0, 2], "101": 0, "add": [0, 2], "util": [0, 1, 2, 7, 10, 11], "clean": [0, 9], "string": [0, 5], "referenc": 0, "messag": [0, 2, 9, 10, 11, 14], "": [0, 6, 7, 9, 10, 11, 13, 14], "content": [0, 5, 9], "4": 0, "17th": 0, "106": 0, "an": [0, 2, 3, 5, 6, 7, 8, 11, 14], "option": [0, 2, 5, 7, 9, 10, 11, 12], "attr": 0, "botcor": [0, 1, 10], "interact": [0, 2, 6, 8], "viewwithuserandrolecheck": [0, 2, 6, 10], "On": 0, "view": [0, 10], "timeout": [0, 10], "thi": [0, 2, 6, 8, 10, 12, 13, 14], "ha": [0, 6], "its": [0, 2], "remov": [0, 2, 10], "set": [0, 2, 10], "3": 0, "1": [0, 11], "16th": 0, "bug": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 2, 6, 10], "work": 0, "due": 0, "us": [0, 2, 3, 5, 6, 8, 11, 12, 13, 14], "wrong": 0, "delet": [0, 2, 5, 7, 10], "method": [0, 3, 5, 6, 11], "103": 0, "button": [0, 10], "attach": 0, "parent": [0, 10], "gener": [0, 2, 14], "onli": [0, 2], "allow": [0, 2, 10], "specifi": [0, 10], "user": [0, 10], "role": [0, 2, 10, 12], "2": [0, 2, 10], "9th": 0, "98": 0, "close": [0, 1, 2, 5, 14], "botbas": [0, 1, 2], "stat": [0, 3], "_transport": 0, "wa": [0, 8, 14], "creat": [0, 2, 3, 7, 14], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 10, 12], "ping_servic": [0, 1, 2], "some": 0, "case": 0, "pass": [0, 5, 11, 12, 14], "self": [0, 2, 10], "paramet": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14], "incorrect": 0, "docstr": 0, "member": [0, 2, 6], "handle_role_chang": [0, 2, 6, 12], "96": 0, "attempt": [0, 2, 8, 12], "connect": [0, 2, 3], "statsd_url": [0, 2], "when": [0, 2, 3, 5, 6, 7, 14], "i": [0, 2, 5, 6, 8, 10, 11, 12, 14], "none": [0, 2, 3, 5, 6, 7, 9, 10, 11, 12, 14], "28th": 0, "support": [0, 3, 6, 14], "93": 0, "bump": 0, "discord": [0, 2, 4, 6, 8, 9, 12, 13], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 6, 14], "new": [0, 3, 5, 7, 14], "auto_mod": 0, "message_typ": 0, "need": 0, "our": [0, 6], "filter": 0, "system": 0, "mai": [0, 7], "79": 0, "restor": 0, "site": [0, 5], "sphinx": 0, "multivers": 0, "make": [0, 11], "avail": [0, 2], "older": 0, "doc": 0, "version": [0, 9], "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 8], "resolut": 0, "deal": 0, "time": [0, 14], "out": [0, 10], "10th": 0, "break": 0, "75": 0, "invit": [0, 13], "regex": [0, 2, 6], "longer": [0, 10], "return": [0, 2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14], "url": [0, 2, 5], "safe": 0, "result": [0, 14], "refer": 0, "document": 0, "handl": [0, 12, 14], "captur": [0, 13], "all": [0, 2, 3, 6, 14], "charact": 0, "up": [0, 2], "whitespac": [0, 13], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 2], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 2, 12], "chunk": 0, "base": [0, 2, 3, 5, 7, 10, 11, 14], "number": 0, "so": [0, 6], "should": [0, 2, 5, 10], "actual": 0, "now": [0, 14], "25th": 0, "69": 0, "get": [0, 2, 5, 8, 12], "21st": 0, "68": 0, "correct": 0, "pyproject": 0, "toml": 0, "directli": 0, "main": 0, "don": [0, 14], "t": [0, 9, 14], "load": [0, 2, 6], "modul": [0, 2, 6, 14], "start": [0, 2, 14], "_": 0, "66": 0, "each": 0, "cog": [0, 2, 4], "own": 0, "task": [0, 2, 14], "avoid": [0, 2], "singl": 0, "crash": 0, "entir": [0, 2], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 1, 2, 6], "namespac": [0, 14], "bot": [0, 2, 6, 8], "manipul": 0, "extens": [0, 2], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": 0, "help": 0, "command": [0, 2, 6, 8], "behaviour": 0, "broke": 0, "custom": [0, 7, 11], "pagin": 0, "also": [0, 6, 10], "basic": [0, 10], "forum": 0, "channel": [0, 2, 6], "18th": 0, "63": 0, "api_cli": [0, 2], "__init__": [0, 1, 2, 3, 5, 6, 7, 10, 14], "site_api": [0, 1, 2], "apicli": [0, 1, 2, 5], "instanc": [0, 2, 5, 7, 8, 11, 14], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 2, 5], "setup": [0, 2], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 3, 14], "event": [0, 2, 3, 14], "_guild_avail": 0, "within": [0, 2], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 2], "asyncstatsdcli": 0, "befor": [0, 2, 10, 14], "real": 0, "cannot": [0, 2], "made": 0, "init": [0, 2, 3], "2nd": 0, "54": 0, "aiohttp": [0, 2, 5], "asyncresolv": 0, "async": [0, 2, 3, 5, 7, 8, 9, 10, 12], "42": 0, "public": 0, "statsd": [0, 2, 3], "client": [0, 2, 3], "ext": [0, 1, 2, 6, 8, 9], "sub": [0, 2], "class": [0, 2, 3, 5, 7, 10, 11, 14], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": 0, "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 2, 6, 12, 14], "trace": [0, 6, 11], "import": 0, "can": [0, 10, 14], "function": [0, 2, 7, 8, 11, 12, 14], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 1, 2, 6], "februari": 0, "34": 0, "port": [0, 3], "api": [0, 5, 12], "wrapper": [0, 5, 14], "from": [0, 2, 3, 5, 6, 8, 10, 12, 14], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 2, 7], "common": [0, 2, 6, 11, 13], "cach": [0, 2, 6, 8, 12], "logger": [0, 11], "schedul": [0, 2, 6], "monkei": [0, 6], "patch": [0, 2, 5, 6], "ad": [0, 6, 10, 11], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 13], "block": [0, 13], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "core": 0, "packag": [0, 6], "poetri": 0, "lint": 0, "ci": 0, "add_cog": [1, 2], "add_command": [1, 2], "clear": [1, 2, 6, 7], "load_extens": [1, 2], "log_to_dev_log": [1, 2], "on_guild_avail": [1, 2], "on_guild_unavail": [1, 2], "remove_command": [1, 2], "setup_hook": [1, 2], "wait_until_guild_avail": [1, 2], "startuperror": [1, 2], "subpackag": 1, "submodul": 1, "async_stat": [1, 2], "asyncstatscli": [1, 2, 3], "responsecodeerror": [1, 2, 5], "index": 1, "search": 1, "page": 1, "inform": [1, 11], "changelog": 1, "tool": [2, 6], "develop": [2, 6], "arg": [2, 11], "guild_id": 2, "allowed_rol": [2, 10], "http_session": 2, "redis_sess": 2, "kwarg": [2, 5, 10, 11, 14], "sourc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], "A": [2, 5, 6, 7, 8, 10, 14], "implement": [2, 3, 7, 10, 11], "python": [2, 14], "initialis": [2, 7], "int": [2, 3, 7, 8, 10, 14], "The": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14], "id": [2, 8, 10, 14], "list": 2, "mention": 2, "clientsess": [2, 5], "redissess": 2, "async_rediscach": 2, "str": [2, 3, 5, 6, 9, 10, 11, 14], "server": [2, 13], "If": [2, 5, 10, 14], "given": [2, 3, 6, 8, 9, 11, 12, 14], "oper": [2, 14], "type": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 14], "normal": 2, "root": [2, 6], "alias": [2, 6], "Not": 2, "re": [2, 14], "instanti": [2, 10, 14], "instead": [2, 14], "connector": 2, "resolv": 2, "save": 2, "them": [2, 14], "all_extens": 2, "ran": 2, "loop": [2, 3, 14], "deadlock": 2, "caus": [2, 6], "wait_for": 2, "call": [2, 14], "dev": 2, "intern": [2, 6], "becom": 2, "appear": 2, "still": 2, "empti": 2, "guild_available_but_cache_empti": 2, "emit": 2, "unavail": 2, "ping": 2, "requir": [2, 14], "servic": 2, "ensur": [2, 10, 13], "thei": 2, "ar": [2, 7, 10, 13], "name": [2, 6, 11, 14], "alia": [2, 6], "individu": 2, "To": [2, 11], "either": 2, "manual": 2, "edit": 2, "all_command": 2, "startup": 2, "create_socket": [2, 3], "wait": [2, 14], "until": [2, 13], "match": 2, "readi": 2, "on_readi": 2, "inadequ": 2, "becaus": 2, "second": [2, 10, 14], "guild_creat": 2, "gatewai": 2, "give": 2, "thu": 2, "popul": 2, "except": [2, 5, 11, 14], "error": [2, 5, 6, 12], "asynccach": [2, 6, 7], "get_or_fetch_channel": [2, 6, 8], "is_in_categori": [2, 6, 8], "clean_text_or_repli": [2, 6, 9], "customlogg": [2, 6, 11], "get_logg": [2, 6, 11], "get_or_fetch_memb": [2, 6, 12], "discord_invit": [2, 6, 13], "formatted_code_regex": [2, 6, 13], "raw_code_regex": [2, 6, 13], "create_task": [2, 6, 14], "maybe_raise_for_statu": [2, 5], "post": [2, 5], "put": [2, 5], "request": [2, 5, 13], "__str__": [2, 5], "transport": 3, "commun": 3, "host": 3, "localhost": 3, "8125": 3, "prefix": 3, "statsclientbas": 3, "abstracteventloop": [3, 14], "create_datagram_endpoint": 3, "socket": 3, "reusabl": 4, "around": 5, "site_api_url": 5, "site_api_token": 5, "session_kwarg": 5, "object": [5, 6, 7, 8, 12, 14], "django": 5, "initi": [5, 14], "token": 5, "authent": 5, "keyword": [5, 6, 11], "argument": [5, 6, 7, 9, 11, 12], "constructor": 5, "endpoint": 5, "raise_for_statu": 5, "true": [5, 11, 14], "send": [5, 10], "json": 5, "respons": 5, "bool": [5, 8, 10, 14], "whether": [5, 8], "rais": [5, 8, 9, 12, 14], "ok": 5, "ani": [5, 13, 14], "extra": 5, "dict": 5, "204": 5, "No": 5, "equival": 5, "static": 5, "should_rais": 5, "non": 5, "clientrespons": 5, "check": [5, 8, 10, 14], "http": [5, 13], "response_json": 5, "response_text": 5, "valueerror": 5, "receiv": [5, 8], "text": [5, 9], "represent": 5, "appli": [6, 7], "group": [6, 13], "root_alias": 6, "two": 6, "sequenc": [6, 10], "act": 6, "top": 6, "level": [6, 11], "rather": 6, "than": 6, "being": [6, 12], "It": 6, "store": [6, 7], "attribut": 6, "send_typ": 6, "ignor": 6, "403": 6, "under": 6, "heavi": 6, "cloudflar": 6, "worker": 6, "rout": 6, "thrown": 6, "qualifi": 6, "__call__": [6, 7], "callback": [6, 10], "interaction_check": [6, 10], "on_timeout": [6, 10], "__contains__": [6, 14], "cancel": [6, 14], "cancel_al": [6, 14], "schedule_at": [6, 14], "schedule_lat": [6, 14], "relat": [7, 11], "max_siz": 7, "128": 7, "lru": 7, "coroutin": [7, 12, 14], "onc": 7, "exce": 7, "maximum": 7, "size": 7, "kei": 7, "fifo": 7, "order": [7, 14], "offset": 7, "provid": [7, 9, 14], "arg_offset": 7, "decor": 7, "posit": 7, "callabl": [7, 12], "wrap": [7, 14], "target": 7, "how": [7, 14], "item": 7, "helper": [8, 12], "variou": 8, "channel_id": 8, "fetch": [8, 12], "invaliddata": 8, "unknown": 8, "httpexcept": 8, "retriev": 8, "fail": 8, "notfound": 8, "invalid": 8, "forbidden": 8, "you": [8, 13], "do": 8, "have": [8, 11], "guildchannel": 8, "category_id": 8, "categori": 8, "textchannel": 8, "depend": 8, "ctx": [9, 10], "repli": 9, "context": 9, "badargu": 9, "wasn": 9, "els": 9, "style": 10, "buttonstyl": 10, "secondari": 10, "label": 10, "contain": [10, 14], "click": 10, "itself": 10, "carri": 10, "done": [10, 14], "see": 10, "origin": 10, "allowed_us": 10, "180": 10, "invok": 10, "moder": 10, "who": 10, "float": [10, 14], "last": 10, "ui": 10, "accept": 10, "input": 10, "similar": [10, 13], "after": [10, 14], "occur": 10, "msg": 11, "sever": 11, "exc_info": 11, "valu": 11, "houston": 11, "we": [11, 12], "interest": 11, "problem": 11, "mypi": 11, "recognis": 11, "interactin": 12, "member_id": 12, "failur": 12, "indic": 12, "could": 12, "found": [12, 14], "coro": [12, 14], "sole": 12, "expect": 12, "add_rol": 12, "remove_rol": 12, "modifi": 12, "purpos": 12, "intend": 12, "regular": 13, "express": 13, "pattern": 13, "pleas": 13, "sanitis": 13, "output": 13, "someth": 13, "urllib": 13, "pars": 13, "quot": 13, "format": 13, "raw": 13, "execut": 14, "keep": 14, "track": 14, "must": 14, "distinguish": 14, "other": 14, "suggest": 14, "immedi": 14, "futur": 14, "uniqu": 14, "prematur": 14, "same": 14, "current": 14, "task_id": 14, "hashabl": 14, "look": 14, "unschedul": 14, "identifi": 14, "warn": 14, "doesn": 14, "exist": 14, "known": 14, "alreadi": 14, "prevent": 14, "unawait": 14, "ll": 14, "elsewher": 14, "timezon": 14, "awar": 14, "calcul": 14, "subtract": 14, "na\u00efv": 14, "utc": 14, "past": 14, "datetim": 14, "delai": 14, "union": 14, "long": 14, "suppressed_except": 14, "event_loop": 14, "otherwis": 14, "run": 14, "typevar": 14, "task_return": 14, "tupl": 14}, "objects": {"": [[2, 0, 0, "-", "botcore"]], "botcore": [[2, 1, 1, "", "BotBase"], [2, 3, 1, "", "StartupError"], [3, 0, 0, "-", "async_stats"], [4, 0, 0, "-", "exts"], [5, 0, 0, "-", "site_api"], [6, 0, 0, "-", "utils"]], "botcore.BotBase": [[2, 2, 1, "", "__init__"], [2, 2, 1, "", "add_cog"], [2, 2, 1, "", "add_command"], [2, 2, 1, "", "clear"], [2, 2, 1, "", "close"], [2, 2, 1, "", "load_extensions"], [2, 2, 1, "", "log_to_dev_log"], [2, 2, 1, "", "on_guild_available"], [2, 2, 1, "", "on_guild_unavailable"], [2, 2, 1, "", "ping_services"], [2, 2, 1, "", "remove_command"], [2, 2, 1, "", "setup_hook"], [2, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[2, 2, 1, "", "__init__"]], "botcore.async_stats": [[3, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "create_socket"]], "botcore.site_api": [[5, 1, 1, "", "APIClient"], [5, 3, 1, "", "ResponseCodeError"]], "botcore.site_api.APIClient": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "close"], [5, 2, 1, "", "delete"], [5, 2, 1, "", "get"], [5, 2, 1, "", "maybe_raise_for_status"], [5, 2, 1, "", "patch"], [5, 2, 1, "", "post"], [5, 2, 1, "", "put"], [5, 2, 1, "", "request"]], "botcore.site_api.ResponseCodeError": [[5, 2, 1, "", "__init__"], [5, 2, 1, "", "__str__"]], "botcore.utils": [[6, 4, 1, "", "apply_monkey_patches"], [7, 0, 0, "-", "caching"], [8, 0, 0, "-", "channel"], [9, 0, 0, "-", "commands"], [10, 0, 0, "-", "interactions"], [11, 0, 0, "-", "logging"], [12, 0, 0, "-", "members"], [13, 0, 0, "-", "regex"], [14, 0, 0, "-", "scheduling"], [6, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[7, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[7, 2, 1, "", "__call__"], [7, 2, 1, "", "__init__"], [7, 2, 1, "", "clear"]], "botcore.utils.channel": [[8, 4, 1, "", "get_or_fetch_channel"], [8, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[9, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[10, 1, 1, "", "DeleteMessageButton"], [10, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[10, 2, 1, "", "__init__"], [10, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[10, 2, 1, "", "__init__"], [10, 2, 1, "", "interaction_check"], [10, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[11, 1, 1, "", "CustomLogger"], [11, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[11, 2, 1, "", "trace"]], "botcore.utils.members": [[12, 4, 1, "", "get_or_fetch_member"], [12, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[13, 5, 1, "", "DISCORD_INVITE"], [13, 5, 1, "", "FORMATTED_CODE_REGEX"], [13, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[14, 1, 1, "", "Scheduler"], [14, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[14, 2, 1, "", "__contains__"], [14, 2, 1, "", "__init__"], [14, 2, 1, "", "cancel"], [14, 2, 1, "", "cancel_all"], [14, 2, 1, "", "schedule"], [14, 2, 1, "", "schedule_at"], [14, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "bot": 1, "core": 1, "project": 1, "document": 1, "refer": 1, "modul": 1, "extra": 1, "botcor": 2, "subpackag": 2, "submodul": [2, 6], "async_stat": 3, "ext": 4, "site_api": 5, "util": 6, "cach": 7, "channel": 8, "command": 9, "interact": 10, "log": 11, "member": 12, "regex": 13, "schedul": 14}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Exts": [[4, "module-botcore.exts"]], "Botcore": [[2, "module-botcore"]], "Subpackages": [[2, "subpackages"]], "Submodules": [[2, "submodules"], [6, "submodules"]], "site_api": [[5, "module-botcore.site_api"]], "Bot Core Project Documentation": [[1, "bot-core-project-documentation"]], "Reference": [[1, "reference"]], "Modules:": [[1, null]], "Extras": [[1, "extras"]], "Utils": [[6, "module-botcore.utils"]], "Changelog": [[0, "changelog"]], "async_stats": [[3, "module-botcore.async_stats"]], "members": [[12, "module-botcore.utils.members"]], "channel": [[8, "module-botcore.utils.channel"]], "caching": [[7, "module-botcore.utils.caching"]], "interactions": [[10, "module-botcore.utils.interactions"]], "logging": [[11, "module-botcore.utils.logging"]], "regex": [[13, "module-botcore.utils.regex"]], "commands": [[9, "module-botcore.utils.commands"]], "scheduling": [[14, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[2, "botcore.BotBase"]], "startuperror": [[2, "botcore.StartupError"]], "__init__() (botbase method)": [[2, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[2, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[2, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[2, "botcore.BotBase.add_command"]], "botcore": [[2, "module-botcore"]], "clear() (botbase method)": [[2, "botcore.BotBase.clear"]], "close() (botbase method)": [[2, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[2, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[2, "botcore.BotBase.log_to_dev_log"]], "module": [[2, "module-botcore"], [3, "module-botcore.async_stats"], [4, "module-botcore.exts"], [5, "module-botcore.site_api"], [6, "module-botcore.utils"], [7, "module-botcore.utils.caching"], [8, "module-botcore.utils.channel"], [9, "module-botcore.utils.commands"], [10, "module-botcore.utils.interactions"], [11, "module-botcore.utils.logging"], [12, "module-botcore.utils.members"], [13, "module-botcore.utils.regex"], [14, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[2, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[2, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[2, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[2, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[2, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[2, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[3, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[3, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[3, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[4, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[5, "botcore.site_api.APIClient"]], "responsecodeerror": [[5, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[5, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[5, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[5, "module-botcore.site_api"]], "close() (apiclient method)": [[5, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[5, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[5, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[5, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[5, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[5, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[5, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[5, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[6, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[6, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[6, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[7, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[7, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[7, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[8, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[8, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[9, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[9, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[10, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[10, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[10, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[10, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[10, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[10, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[10, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[10, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[11, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[11, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[11, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[11, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[12, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[12, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[12, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[13, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[13, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[13, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[13, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[14, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[14, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[14, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[14, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v8.0.0-beta.1/.buildinfo b/v8.0.0-beta.1/.buildinfo index dfd79cd3..b782c40e 100644 --- a/v8.0.0-beta.1/.buildinfo +++ b/v8.0.0-beta.1/.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: 9863fce1f0635bd65145ca1a6c25e495 +config: bf8a7ed464bcc82484bc41ec720c7b71 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v8.0.0-beta.1/output/botcore.html b/v8.0.0-beta.1/output/botcore.html index b6abdc05..5ac16f2c 100644 --- a/v8.0.0-beta.1/output/botcore.html +++ b/v8.0.0-beta.1/output/botcore.html @@ -388,7 +388,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -519,7 +519,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v8.0.0-beta.1/output/botcore.utils.channel.html b/v8.0.0-beta.1/output/botcore.utils.channel.html index b22f5b99..e9abd195 100644 --- a/v8.0.0-beta.1/output/botcore.utils.channel.html +++ b/v8.0.0-beta.1/output/botcore.utils.channel.html @@ -392,20 +392,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -420,7 +420,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v8.0.0-beta.1/output/botcore.utils.commands.html b/v8.0.0-beta.1/output/botcore.utils.commands.html index 6304be09..fb49a359 100644 --- a/v8.0.0-beta.1/output/botcore.utils.commands.html +++ b/v8.0.0-beta.1/output/botcore.utils.commands.html @@ -391,12 +391,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v8.0.0-beta.1/output/botcore.utils.html b/v8.0.0-beta.1/output/botcore.utils.html index 1b465d98..57af57de 100644 --- a/v8.0.0-beta.1/output/botcore.utils.html +++ b/v8.0.0-beta.1/output/botcore.utils.html @@ -395,7 +395,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v8.0.0-beta.1/output/botcore.utils.interactions.html b/v8.0.0-beta.1/output/botcore.utils.interactions.html index f8a85b06..8dc3ea39 100644 --- a/v8.0.0-beta.1/output/botcore.utils.interactions.html +++ b/v8.0.0-beta.1/output/botcore.utils.interactions.html @@ -387,7 +387,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -420,7 +420,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -429,7 +429,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -445,7 +445,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v8.0.0-beta.1/output/botcore.utils.members.html b/v8.0.0-beta.1/output/botcore.utils.members.html index ac49afdc..568abfb9 100644 --- a/v8.0.0-beta.1/output/botcore.utils.members.html +++ b/v8.0.0-beta.1/output/botcore.utils.members.html @@ -384,17 +384,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -404,13 +404,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v8.0.0-beta.1/searchindex.js b/v8.0.0-beta.1/searchindex.js index f90d2d69..3d87e028 100644 --- a/v8.0.0-beta.1/searchindex.js +++ b/v8.0.0-beta.1/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "break": 0, "108": 0, "bump": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "1": [0, 12], "0": [0, 8, 11, 12], "rc1": 0, "support": [0, 4, 7, 15], "107": 0, "add": [0, 3], "sampl": 0, "project": [0, 1], "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "bugfix": 0, "bug": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "5": 0, "23rd": 0, "juli": 0, "2022": 0, "101": 0, "util": [0, 1, 2, 3, 8, 11, 12], "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "option": [0, 3, 6, 8, 10, 11, 12, 13], "attr": 0, "botcor": [0, 1, 2, 11], "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "16th": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "regex": [0, 3, 7], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "match": 3, "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "discord_invit": [3, 7, 14], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "http": [6, 14], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-botcore.async_stats"]], "Utils": [[7, "module-botcore.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "site_api": [[6, "module-botcore.site_api"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Exts": [[5, "module-botcore.exts"]], "regex": [[14, "module-botcore.utils.regex"]], "caching": [[8, "module-botcore.utils.caching"]], "members": [[13, "module-botcore.utils.members"]], "logging": [[12, "module-botcore.utils.logging"]], "commands": [[10, "module-botcore.utils.commands"]], "channel": [[9, "module-botcore.utils.channel"]], "interactions": [[11, "module-botcore.utils.interactions"]], "scheduling": [[15, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "break": 0, "108": 0, "bump": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "1": [0, 12], "0": [0, 8, 11, 12], "rc1": 0, "support": [0, 4, 7, 15], "107": 0, "add": [0, 3], "sampl": 0, "project": [0, 1], "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "bugfix": 0, "bug": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "5": 0, "23rd": 0, "juli": 0, "2022": 0, "101": 0, "util": [0, 1, 2, 3, 8, 11, 12], "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "option": [0, 3, 6, 8, 10, 11, 12, 13], "attr": 0, "botcor": [0, 1, 2, 11], "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "16th": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "regex": [0, 3, 7], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "match": 3, "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "discord_invit": [3, 7, 14], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "http": [6, 14], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"site_api": [[6, "module-botcore.site_api"]], "Utils": [[7, "module-botcore.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Changelog": [[0, "changelog"]], "Exts": [[5, "module-botcore.exts"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-botcore.async_stats"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "caching": [[8, "module-botcore.utils.caching"]], "members": [[13, "module-botcore.utils.members"]], "interactions": [[11, "module-botcore.utils.interactions"]], "regex": [[14, "module-botcore.utils.regex"]], "commands": [[10, "module-botcore.utils.commands"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "channel": [[9, "module-botcore.utils.channel"]], "logging": [[12, "module-botcore.utils.logging"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v8.0.0-beta.2/.buildinfo b/v8.0.0-beta.2/.buildinfo index 3ee3d52f..16d053d6 100644 --- a/v8.0.0-beta.2/.buildinfo +++ b/v8.0.0-beta.2/.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: 4f558473a77dd7810a01e03a0d2faceb +config: ee76b9ac4b6be43e511f7dad82545677 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v8.0.0-beta.2/output/botcore.html b/v8.0.0-beta.2/output/botcore.html index 8cb3842c..3e542935 100644 --- a/v8.0.0-beta.2/output/botcore.html +++ b/v8.0.0-beta.2/output/botcore.html @@ -388,7 +388,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -519,7 +519,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v8.0.0-beta.2/output/botcore.utils.channel.html b/v8.0.0-beta.2/output/botcore.utils.channel.html index c3a814ae..2455bebd 100644 --- a/v8.0.0-beta.2/output/botcore.utils.channel.html +++ b/v8.0.0-beta.2/output/botcore.utils.channel.html @@ -392,20 +392,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -420,7 +420,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v8.0.0-beta.2/output/botcore.utils.commands.html b/v8.0.0-beta.2/output/botcore.utils.commands.html index 6262da12..91403b8d 100644 --- a/v8.0.0-beta.2/output/botcore.utils.commands.html +++ b/v8.0.0-beta.2/output/botcore.utils.commands.html @@ -391,12 +391,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v8.0.0-beta.2/output/botcore.utils.html b/v8.0.0-beta.2/output/botcore.utils.html index 517682a2..b971b3da 100644 --- a/v8.0.0-beta.2/output/botcore.utils.html +++ b/v8.0.0-beta.2/output/botcore.utils.html @@ -395,7 +395,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v8.0.0-beta.2/output/botcore.utils.interactions.html b/v8.0.0-beta.2/output/botcore.utils.interactions.html index 43c8d5c9..bc01acad 100644 --- a/v8.0.0-beta.2/output/botcore.utils.interactions.html +++ b/v8.0.0-beta.2/output/botcore.utils.interactions.html @@ -387,7 +387,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -420,7 +420,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -429,7 +429,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -445,7 +445,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v8.0.0-beta.2/output/botcore.utils.members.html b/v8.0.0-beta.2/output/botcore.utils.members.html index d0d1fd2d..5cb5e4ad 100644 --- a/v8.0.0-beta.2/output/botcore.utils.members.html +++ b/v8.0.0-beta.2/output/botcore.utils.members.html @@ -384,17 +384,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -404,13 +404,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v8.0.0-beta.2/searchindex.js b/v8.0.0-beta.2/searchindex.js index 9726bdc8..b62ca04e 100644 --- a/v8.0.0-beta.2/searchindex.js +++ b/v8.0.0-beta.2/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "support": [0, 4, 7, 15], "107": 0, "add": [0, 3], "sampl": 0, "project": [0, 1], "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "bump": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "bugfix": 0, "bug": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "5": 0, "0": [0, 8, 11, 12], "23rd": 0, "juli": 0, "2022": 0, "101": 0, "util": [0, 1, 2, 3, 8, 11, 12], "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "option": [0, 3, 6, 8, 10, 11, 12, 13], "attr": 0, "botcor": [0, 1, 2, 11], "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "1": [0, 12], "16th": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "break": 0, "75": 0, "invit": [0, 14], "regex": [0, 3, 7], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "match": 3, "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "discord_invit": [3, 7, 14], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "http": [6, 14], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Exts": [[5, "module-botcore.exts"]], "Utils": [[7, "module-botcore.utils"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "site_api": [[6, "module-botcore.site_api"]], "async_stats": [[4, "module-botcore.async_stats"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "members": [[13, "module-botcore.utils.members"]], "commands": [[10, "module-botcore.utils.commands"]], "caching": [[8, "module-botcore.utils.caching"]], "channel": [[9, "module-botcore.utils.channel"]], "regex": [[14, "module-botcore.utils.regex"]], "logging": [[12, "module-botcore.utils.logging"]], "interactions": [[11, "module-botcore.utils.interactions"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "support": [0, 4, 7, 15], "107": 0, "add": [0, 3], "sampl": 0, "project": [0, 1], "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "bump": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "bugfix": 0, "bug": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "5": 0, "0": [0, 8, 11, 12], "23rd": 0, "juli": 0, "2022": 0, "101": 0, "util": [0, 1, 2, 3, 8, 11, 12], "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "option": [0, 3, 6, 8, 10, 11, 12, 13], "attr": 0, "botcor": [0, 1, 2, 11], "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "1": [0, 12], "16th": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "break": 0, "75": 0, "invit": [0, 14], "regex": [0, 3, 7], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "match": 3, "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "discord_invit": [3, 7, 14], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "http": [6, 14], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Exts": [[5, "module-botcore.exts"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Utils": [[7, "module-botcore.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-botcore.async_stats"]], "site_api": [[6, "module-botcore.site_api"]], "channel": [[9, "module-botcore.utils.channel"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "caching": [[8, "module-botcore.utils.caching"]], "regex": [[14, "module-botcore.utils.regex"]], "logging": [[12, "module-botcore.utils.logging"]], "commands": [[10, "module-botcore.utils.commands"]], "members": [[13, "module-botcore.utils.members"]], "interactions": [[11, "module-botcore.utils.interactions"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v8.0.0-beta.3/.buildinfo b/v8.0.0-beta.3/.buildinfo index 1922c669..7eebc527 100644 --- a/v8.0.0-beta.3/.buildinfo +++ b/v8.0.0-beta.3/.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: ccef47f875cd2a9b73658fe802bc68c0 +config: e4134aabe6d40220eb6707c38b30637b tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v8.0.0-beta.3/output/botcore.html b/v8.0.0-beta.3/output/botcore.html index ca9d8ca0..979a4b3a 100644 --- a/v8.0.0-beta.3/output/botcore.html +++ b/v8.0.0-beta.3/output/botcore.html @@ -388,7 +388,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -519,7 +519,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v8.0.0-beta.3/output/botcore.utils.channel.html b/v8.0.0-beta.3/output/botcore.utils.channel.html index e94bab84..afe408fa 100644 --- a/v8.0.0-beta.3/output/botcore.utils.channel.html +++ b/v8.0.0-beta.3/output/botcore.utils.channel.html @@ -392,20 +392,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -420,7 +420,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v8.0.0-beta.3/output/botcore.utils.commands.html b/v8.0.0-beta.3/output/botcore.utils.commands.html index 1c0f982d..3bcd0c3b 100644 --- a/v8.0.0-beta.3/output/botcore.utils.commands.html +++ b/v8.0.0-beta.3/output/botcore.utils.commands.html @@ -391,12 +391,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v8.0.0-beta.3/output/botcore.utils.html b/v8.0.0-beta.3/output/botcore.utils.html index 8eebd647..f7da4ad9 100644 --- a/v8.0.0-beta.3/output/botcore.utils.html +++ b/v8.0.0-beta.3/output/botcore.utils.html @@ -395,7 +395,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v8.0.0-beta.3/output/botcore.utils.interactions.html b/v8.0.0-beta.3/output/botcore.utils.interactions.html index 76eb46c4..6a096a7e 100644 --- a/v8.0.0-beta.3/output/botcore.utils.interactions.html +++ b/v8.0.0-beta.3/output/botcore.utils.interactions.html @@ -387,7 +387,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -420,7 +420,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -429,7 +429,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -445,7 +445,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v8.0.0-beta.3/output/botcore.utils.members.html b/v8.0.0-beta.3/output/botcore.utils.members.html index ce5b1f0b..8171f183 100644 --- a/v8.0.0-beta.3/output/botcore.utils.members.html +++ b/v8.0.0-beta.3/output/botcore.utils.members.html @@ -384,17 +384,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -404,13 +404,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v8.0.0-beta.3/searchindex.js b/v8.0.0-beta.3/searchindex.js index de5f631e..9ce665ca 100644 --- a/v8.0.0-beta.3/searchindex.js +++ b/v8.0.0-beta.3/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "break": 0, "110": 0, "bump": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "0": [0, 8, 11, 12], "rc2": 0, "support": [0, 4, 7, 15], "107": 0, "add": [0, 3], "sampl": 0, "project": [0, 1], "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "bugfix": 0, "bug": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "5": 0, "23rd": 0, "juli": 0, "2022": 0, "101": 0, "util": [0, 1, 2, 3, 8, 11, 12], "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "option": [0, 3, 6, 8, 10, 11, 12, 13], "attr": 0, "botcor": [0, 1, 2, 11], "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "1": [0, 12], "16th": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "regex": [0, 3, 7], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "match": 3, "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "discord_invit": [3, 7, 14], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "http": [6, 14], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Changelog": [[0, "changelog"]], "Utils": [[7, "module-botcore.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "async_stats": [[4, "module-botcore.async_stats"]], "Exts": [[5, "module-botcore.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"]], "site_api": [[6, "module-botcore.site_api"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "caching": [[8, "module-botcore.utils.caching"]], "members": [[13, "module-botcore.utils.members"]], "channel": [[9, "module-botcore.utils.channel"]], "interactions": [[11, "module-botcore.utils.interactions"]], "regex": [[14, "module-botcore.utils.regex"]], "logging": [[12, "module-botcore.utils.logging"]], "commands": [[10, "module-botcore.utils.commands"]], "scheduling": [[15, "module-botcore.utils.scheduling"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "break": 0, "110": 0, "bump": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "0": [0, 8, 11, 12], "rc2": 0, "support": [0, 4, 7, 15], "107": 0, "add": [0, 3], "sampl": 0, "project": [0, 1], "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "bugfix": 0, "bug": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "5": 0, "23rd": 0, "juli": 0, "2022": 0, "101": 0, "util": [0, 1, 2, 3, 8, 11, 12], "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "option": [0, 3, 6, 8, 10, 11, 12, 13], "attr": 0, "botcor": [0, 1, 2, 11], "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "1": [0, 12], "16th": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "regex": [0, 3, 7], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "match": 3, "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "discord_invit": [3, 7, 14], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "http": [6, 14], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"async_stats": [[4, "module-botcore.async_stats"]], "site_api": [[6, "module-botcore.site_api"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Exts": [[5, "module-botcore.exts"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Utils": [[7, "module-botcore.utils"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "interactions": [[11, "module-botcore.utils.interactions"]], "commands": [[10, "module-botcore.utils.commands"]], "logging": [[12, "module-botcore.utils.logging"]], "channel": [[9, "module-botcore.utils.channel"]], "caching": [[8, "module-botcore.utils.caching"]], "members": [[13, "module-botcore.utils.members"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "regex": [[14, "module-botcore.utils.regex"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v8.0.0-beta.4/.buildinfo b/v8.0.0-beta.4/.buildinfo index 9d67f049..a32fac6b 100644 --- a/v8.0.0-beta.4/.buildinfo +++ b/v8.0.0-beta.4/.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: 776e0919773864c73c8f741c331215dc +config: bb2fd372eff87ce67daaefc291d48a66 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v8.0.0-beta.4/output/botcore.html b/v8.0.0-beta.4/output/botcore.html index 8958fe83..8b28dca3 100644 --- a/v8.0.0-beta.4/output/botcore.html +++ b/v8.0.0-beta.4/output/botcore.html @@ -388,7 +388,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -519,7 +519,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v8.0.0-beta.4/output/botcore.utils.channel.html b/v8.0.0-beta.4/output/botcore.utils.channel.html index f26b62ca..d8ac84ee 100644 --- a/v8.0.0-beta.4/output/botcore.utils.channel.html +++ b/v8.0.0-beta.4/output/botcore.utils.channel.html @@ -392,20 +392,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -420,7 +420,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v8.0.0-beta.4/output/botcore.utils.commands.html b/v8.0.0-beta.4/output/botcore.utils.commands.html index e7ee654f..b49bdb06 100644 --- a/v8.0.0-beta.4/output/botcore.utils.commands.html +++ b/v8.0.0-beta.4/output/botcore.utils.commands.html @@ -391,12 +391,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v8.0.0-beta.4/output/botcore.utils.html b/v8.0.0-beta.4/output/botcore.utils.html index 0c0f7639..cbce8f9c 100644 --- a/v8.0.0-beta.4/output/botcore.utils.html +++ b/v8.0.0-beta.4/output/botcore.utils.html @@ -395,7 +395,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v8.0.0-beta.4/output/botcore.utils.interactions.html b/v8.0.0-beta.4/output/botcore.utils.interactions.html index 7b6a5eb9..cf0ba890 100644 --- a/v8.0.0-beta.4/output/botcore.utils.interactions.html +++ b/v8.0.0-beta.4/output/botcore.utils.interactions.html @@ -387,7 +387,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -420,7 +420,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -429,7 +429,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -445,7 +445,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v8.0.0-beta.4/output/botcore.utils.members.html b/v8.0.0-beta.4/output/botcore.utils.members.html index 72527a1f..a521de3d 100644 --- a/v8.0.0-beta.4/output/botcore.utils.members.html +++ b/v8.0.0-beta.4/output/botcore.utils.members.html @@ -384,17 +384,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -404,13 +404,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v8.0.0-beta.4/searchindex.js b/v8.0.0-beta.4/searchindex.js index 85f3b596..469875fa 100644 --- a/v8.0.0-beta.4/searchindex.js +++ b/v8.0.0-beta.4/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "break": 0, "110": 0, "bump": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "0": [0, 8, 11, 12], "rc2": 0, "support": [0, 4, 7, 15], "107": 0, "add": [0, 3], "sampl": 0, "project": [0, 1], "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "bugfix": 0, "bug": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "5": 0, "23rd": 0, "juli": 0, "2022": 0, "101": 0, "util": [0, 1, 2, 3, 8, 11, 12], "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "option": [0, 3, 6, 8, 10, 11, 12, 13], "attr": 0, "botcor": [0, 1, 2, 11], "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "1": [0, 12], "16th": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "regex": [0, 3, 7], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "match": 3, "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "discord_invit": [3, 7, 14], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "http": [6, 14], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Utils": [[7, "module-botcore.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-botcore.site_api"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Exts": [[5, "module-botcore.exts"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "async_stats": [[4, "module-botcore.async_stats"]], "Changelog": [[0, "changelog"]], "regex": [[14, "module-botcore.utils.regex"]], "interactions": [[11, "module-botcore.utils.interactions"]], "logging": [[12, "module-botcore.utils.logging"]], "channel": [[9, "module-botcore.utils.channel"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "caching": [[8, "module-botcore.utils.caching"]], "commands": [[10, "module-botcore.utils.commands"]], "members": [[13, "module-botcore.utils.members"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "7": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "break": 0, "110": 0, "bump": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "0": [0, 8, 11, 12], "rc2": 0, "support": [0, 4, 7, 15], "107": 0, "add": [0, 3], "sampl": 0, "project": [0, 1], "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "bugfix": 0, "bug": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "5": 0, "23rd": 0, "juli": 0, "2022": 0, "101": 0, "util": [0, 1, 2, 3, 8, 11, 12], "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "option": [0, 3, 6, 8, 10, 11, 12, 13], "attr": 0, "botcor": [0, 1, 2, 11], "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "1": [0, 12], "16th": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "regex": [0, 3, 7], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "match": 3, "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "discord_invit": [3, 7, 14], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "http": [6, 14], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"site_api": [[6, "module-botcore.site_api"]], "Exts": [[5, "module-botcore.exts"]], "Utils": [[7, "module-botcore.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-botcore.async_stats"]], "logging": [[12, "module-botcore.utils.logging"]], "channel": [[9, "module-botcore.utils.channel"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "regex": [[14, "module-botcore.utils.regex"]], "commands": [[10, "module-botcore.utils.commands"]], "interactions": [[11, "module-botcore.utils.interactions"]], "caching": [[8, "module-botcore.utils.caching"]], "members": [[13, "module-botcore.utils.members"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v8.0.0/.buildinfo b/v8.0.0/.buildinfo index 0f74417c..9bb14ec9 100644 --- a/v8.0.0/.buildinfo +++ b/v8.0.0/.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: 61d7fe12cebf5b2e98d9402ec452c4bd +config: 1cc7f417e8637dd93c89735bcf0bb71b tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v8.0.0/output/botcore.html b/v8.0.0/output/botcore.html index 6e217359..86af7091 100644 --- a/v8.0.0/output/botcore.html +++ b/v8.0.0/output/botcore.html @@ -388,7 +388,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -519,7 +519,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v8.0.0/output/botcore.utils.channel.html b/v8.0.0/output/botcore.utils.channel.html index d16cc74c..359f3943 100644 --- a/v8.0.0/output/botcore.utils.channel.html +++ b/v8.0.0/output/botcore.utils.channel.html @@ -392,20 +392,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -420,7 +420,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v8.0.0/output/botcore.utils.commands.html b/v8.0.0/output/botcore.utils.commands.html index 2d167501..b1494196 100644 --- a/v8.0.0/output/botcore.utils.commands.html +++ b/v8.0.0/output/botcore.utils.commands.html @@ -391,12 +391,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v8.0.0/output/botcore.utils.html b/v8.0.0/output/botcore.utils.html index bb945cb9..6bf2af3f 100644 --- a/v8.0.0/output/botcore.utils.html +++ b/v8.0.0/output/botcore.utils.html @@ -395,7 +395,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v8.0.0/output/botcore.utils.interactions.html b/v8.0.0/output/botcore.utils.interactions.html index e322afba..af451c49 100644 --- a/v8.0.0/output/botcore.utils.interactions.html +++ b/v8.0.0/output/botcore.utils.interactions.html @@ -387,7 +387,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -420,7 +420,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -429,7 +429,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -445,7 +445,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v8.0.0/output/botcore.utils.members.html b/v8.0.0/output/botcore.utils.members.html index af30fc19..43bc2be5 100644 --- a/v8.0.0/output/botcore.utils.members.html +++ b/v8.0.0/output/botcore.utils.members.html @@ -384,17 +384,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -404,13 +404,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v8.0.0/searchindex.js b/v8.0.0/searchindex.js index cac8e4ab..de20873b 100644 --- a/v8.0.0/searchindex.js +++ b/v8.0.0/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"8": 0, "0": [0, 8, 11, 12], "27th": 0, "juli": 0, "2022": 0, "break": 0, "110": 0, "bump": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "rc2": 0, "bug": 0, "107": 0, "declar": 0, "aiodn": 0, "project": [0, 1], "depend": [0, 9], "support": [0, 4, 7, 15], "add": [0, 3], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": 0, "23rd": 0, "featur": [0, 1, 3], "101": 0, "util": [0, 1, 2, 3, 8, 11, 12], "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "option": [0, 3, 6, 8, 10, 11, 12, 13], "attr": 0, "botcor": [0, 1, 2, 11], "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "1": [0, 12], "16th": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "regex": [0, 3, 7], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "match": 3, "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "discord_invit": [3, 7, 14], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "http": [6, 14], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-botcore.async_stats"]], "site_api": [[6, "module-botcore.site_api"]], "Changelog": [[0, "changelog"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Exts": [[5, "module-botcore.exts"]], "Utils": [[7, "module-botcore.utils"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "logging": [[12, "module-botcore.utils.logging"]], "regex": [[14, "module-botcore.utils.regex"]], "channel": [[9, "module-botcore.utils.channel"]], "caching": [[8, "module-botcore.utils.caching"]], "interactions": [[11, "module-botcore.utils.interactions"]], "members": [[13, "module-botcore.utils.members"]], "commands": [[10, "module-botcore.utils.commands"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"8": 0, "0": [0, 8, 11, 12], "27th": 0, "juli": 0, "2022": 0, "break": 0, "110": 0, "bump": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "rc2": 0, "bug": 0, "107": 0, "declar": 0, "aiodn": 0, "project": [0, 1], "depend": [0, 9], "support": [0, 4, 7, 15], "add": [0, 3], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": 0, "23rd": 0, "featur": [0, 1, 3], "101": 0, "util": [0, 1, 2, 3, 8, 11, 12], "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "option": [0, 3, 6, 8, 10, 11, 12, 13], "attr": 0, "botcor": [0, 1, 2, 11], "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "1": [0, 12], "16th": 0, "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "regex": [0, 3, 7], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "match": 3, "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "discord_invit": [3, 7, 14], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "http": [6, 14], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "site_api": [[6, "module-botcore.site_api"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-botcore.async_stats"]], "Exts": [[5, "module-botcore.exts"]], "Utils": [[7, "module-botcore.utils"]], "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"]], "caching": [[8, "module-botcore.utils.caching"]], "members": [[13, "module-botcore.utils.members"]], "channel": [[9, "module-botcore.utils.channel"]], "regex": [[14, "module-botcore.utils.regex"]], "logging": [[12, "module-botcore.utils.logging"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "interactions": [[11, "module-botcore.utils.interactions"]], "commands": [[10, "module-botcore.utils.commands"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v8.1.0/.buildinfo b/v8.1.0/.buildinfo index 061c173f..deeac118 100644 --- a/v8.1.0/.buildinfo +++ b/v8.1.0/.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: 0903cf65a1b7c600e60ba9761f357d85 +config: ec7701e8510d83e925f12d0966df3528 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v8.1.0/output/botcore.html b/v8.1.0/output/botcore.html index 582d7158..cce90d0e 100644 --- a/v8.1.0/output/botcore.html +++ b/v8.1.0/output/botcore.html @@ -388,7 +388,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -519,7 +519,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v8.1.0/output/botcore.utils.channel.html b/v8.1.0/output/botcore.utils.channel.html index fc4fdb73..72dcd009 100644 --- a/v8.1.0/output/botcore.utils.channel.html +++ b/v8.1.0/output/botcore.utils.channel.html @@ -392,20 +392,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -420,7 +420,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v8.1.0/output/botcore.utils.commands.html b/v8.1.0/output/botcore.utils.commands.html index 31bcca0c..62ada8c1 100644 --- a/v8.1.0/output/botcore.utils.commands.html +++ b/v8.1.0/output/botcore.utils.commands.html @@ -391,12 +391,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v8.1.0/output/botcore.utils.html b/v8.1.0/output/botcore.utils.html index fde1ed16..8910e875 100644 --- a/v8.1.0/output/botcore.utils.html +++ b/v8.1.0/output/botcore.utils.html @@ -395,7 +395,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v8.1.0/output/botcore.utils.interactions.html b/v8.1.0/output/botcore.utils.interactions.html index 1fb5ea3f..30a85bb6 100644 --- a/v8.1.0/output/botcore.utils.interactions.html +++ b/v8.1.0/output/botcore.utils.interactions.html @@ -387,7 +387,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -420,7 +420,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -429,7 +429,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -445,7 +445,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v8.1.0/output/botcore.utils.members.html b/v8.1.0/output/botcore.utils.members.html index 3fbcbf4f..ed1ca63f 100644 --- a/v8.1.0/output/botcore.utils.members.html +++ b/v8.1.0/output/botcore.utils.members.html @@ -384,17 +384,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -404,13 +404,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v8.1.0/searchindex.js b/v8.1.0/searchindex.js index e4e5c84f..7f3cf466 100644 --- a/v8.1.0/searchindex.js +++ b/v8.1.0/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"8": 0, "1": [0, 12], "0": [0, 8, 11, 12], "16th": 0, "august": 0, "2022": 0, "support": [0, 4, 7, 15], "124": 0, "updat": 0, "botcor": [0, 1, 2, 11], "util": [0, 1, 2, 3, 8, 11, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 14], "option": [0, 3, 6, 8, 10, 11, 12, 13], "match": [0, 3], "lead": 0, "http": [0, 6, 14], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "www": 0, "27th": 0, "juli": 0, "break": 0, "110": 0, "bump": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "rc2": 0, "bug": 0, "107": 0, "declar": 0, "aiodn": 0, "project": [0, 1], "depend": [0, 9], "add": [0, 3], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": 0, "23rd": 0, "featur": [0, 1, 3], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "async_stats": [[4, "module-botcore.async_stats"]], "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"]], "Utils": [[7, "module-botcore.utils"]], "site_api": [[6, "module-botcore.site_api"]], "Changelog": [[0, "changelog"]], "Exts": [[5, "module-botcore.exts"]], "caching": [[8, "module-botcore.utils.caching"]], "members": [[13, "module-botcore.utils.members"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "regex": [[14, "module-botcore.utils.regex"]], "logging": [[12, "module-botcore.utils.logging"]], "interactions": [[11, "module-botcore.utils.interactions"]], "commands": [[10, "module-botcore.utils.commands"]], "channel": [[9, "module-botcore.utils.channel"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"8": 0, "1": [0, 12], "0": [0, 8, 11, 12], "16th": 0, "august": 0, "2022": 0, "support": [0, 4, 7, 15], "124": 0, "updat": 0, "botcor": [0, 1, 2, 11], "util": [0, 1, 2, 3, 8, 11, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 14], "option": [0, 3, 6, 8, 10, 11, 12, 13], "match": [0, 3], "lead": 0, "http": [0, 6, 14], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "www": 0, "27th": 0, "juli": 0, "break": 0, "110": 0, "bump": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "rc2": 0, "bug": 0, "107": 0, "declar": 0, "aiodn": 0, "project": [0, 1], "depend": [0, 9], "add": [0, 3], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": 0, "23rd": 0, "featur": [0, 1, 3], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "2": [0, 3, 11], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "18th": 0, "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Utils": [[7, "module-botcore.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Changelog": [[0, "changelog"]], "Exts": [[5, "module-botcore.exts"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-botcore.async_stats"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "site_api": [[6, "module-botcore.site_api"]], "members": [[13, "module-botcore.utils.members"]], "channel": [[9, "module-botcore.utils.channel"]], "interactions": [[11, "module-botcore.utils.interactions"]], "regex": [[14, "module-botcore.utils.regex"]], "caching": [[8, "module-botcore.utils.caching"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "commands": [[10, "module-botcore.utils.commands"]], "logging": [[12, "module-botcore.utils.logging"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v8.2.0/.buildinfo b/v8.2.0/.buildinfo index 09e7e8f3..38a40ab3 100644 --- a/v8.2.0/.buildinfo +++ b/v8.2.0/.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: 7e1f4cc96d39c4f24aac171b42ff0229 +config: c7d29a3f5aec6c1ec344910f488e16a6 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v8.2.0/output/botcore.html b/v8.2.0/output/botcore.html index 9a31f82e..2096be23 100644 --- a/v8.2.0/output/botcore.html +++ b/v8.2.0/output/botcore.html @@ -388,7 +388,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -519,7 +519,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v8.2.0/output/botcore.utils.channel.html b/v8.2.0/output/botcore.utils.channel.html index a276cb16..0c419f8b 100644 --- a/v8.2.0/output/botcore.utils.channel.html +++ b/v8.2.0/output/botcore.utils.channel.html @@ -392,20 +392,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -420,7 +420,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v8.2.0/output/botcore.utils.commands.html b/v8.2.0/output/botcore.utils.commands.html index 02fb1301..39fbf405 100644 --- a/v8.2.0/output/botcore.utils.commands.html +++ b/v8.2.0/output/botcore.utils.commands.html @@ -391,12 +391,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v8.2.0/output/botcore.utils.html b/v8.2.0/output/botcore.utils.html index cd7c374d..7d6b8138 100644 --- a/v8.2.0/output/botcore.utils.html +++ b/v8.2.0/output/botcore.utils.html @@ -395,7 +395,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v8.2.0/output/botcore.utils.interactions.html b/v8.2.0/output/botcore.utils.interactions.html index dff5cca6..58df569a 100644 --- a/v8.2.0/output/botcore.utils.interactions.html +++ b/v8.2.0/output/botcore.utils.interactions.html @@ -387,7 +387,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -420,7 +420,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -429,7 +429,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -445,7 +445,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v8.2.0/output/botcore.utils.members.html b/v8.2.0/output/botcore.utils.members.html index f7ef3db6..86cd4eb2 100644 --- a/v8.2.0/output/botcore.utils.members.html +++ b/v8.2.0/output/botcore.utils.members.html @@ -384,17 +384,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -404,13 +404,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v8.2.0/searchindex.js b/v8.2.0/searchindex.js index 67acb31a..fb73ef2a 100644 --- a/v8.2.0/searchindex.js +++ b/v8.2.0/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"8": 0, "2": [0, 3, 11], "0": [0, 8, 11, 12], "18th": 0, "august": 0, "2022": 0, "support": [0, 4, 7, 15], "125": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "stabl": 0, "releas": 0, "1": [0, 12], "16th": 0, "124": 0, "updat": 0, "botcor": [0, 1, 2, 11], "util": [0, 1, 2, 3, 8, 11, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 14], "option": [0, 3, 6, 8, 10, 11, 12, 13], "match": [0, 3], "lead": 0, "http": [0, 6, 14], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "www": 0, "27th": 0, "juli": 0, "break": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "rc2": 0, "bug": 0, "107": 0, "declar": 0, "aiodn": 0, "project": [0, 1], "depend": [0, 9], "add": [0, 3], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": 0, "23rd": 0, "featur": [0, 1, 3], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Exts": [[5, "module-botcore.exts"]], "Changelog": [[0, "changelog"]], "Utils": [[7, "module-botcore.utils"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-botcore.async_stats"]], "site_api": [[6, "module-botcore.site_api"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "members": [[13, "module-botcore.utils.members"]], "channel": [[9, "module-botcore.utils.channel"]], "logging": [[12, "module-botcore.utils.logging"]], "interactions": [[11, "module-botcore.utils.interactions"]], "regex": [[14, "module-botcore.utils.regex"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "commands": [[10, "module-botcore.utils.commands"]], "caching": [[8, "module-botcore.utils.caching"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"8": 0, "2": [0, 3, 11], "0": [0, 8, 11, 12], "18th": 0, "august": 0, "2022": 0, "support": [0, 4, 7, 15], "125": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "stabl": 0, "releas": 0, "1": [0, 12], "16th": 0, "124": 0, "updat": 0, "botcor": [0, 1, 2, 11], "util": [0, 1, 2, 3, 8, 11, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 14], "option": [0, 3, 6, 8, 10, 11, 12, 13], "match": [0, 3], "lead": 0, "http": [0, 6, 14], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "www": 0, "27th": 0, "juli": 0, "break": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "rc2": 0, "bug": 0, "107": 0, "declar": 0, "aiodn": 0, "project": [0, 1], "depend": [0, 9], "add": [0, 3], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": 0, "23rd": 0, "featur": [0, 1, 3], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Changelog": [[0, "changelog"]], "Utils": [[7, "module-botcore.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "async_stats": [[4, "module-botcore.async_stats"]], "site_api": [[6, "module-botcore.site_api"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Exts": [[5, "module-botcore.exts"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "regex": [[14, "module-botcore.utils.regex"]], "commands": [[10, "module-botcore.utils.commands"]], "logging": [[12, "module-botcore.utils.logging"]], "channel": [[9, "module-botcore.utils.channel"]], "caching": [[8, "module-botcore.utils.caching"]], "members": [[13, "module-botcore.utils.members"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "interactions": [[11, "module-botcore.utils.interactions"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v8.2.1/.buildinfo b/v8.2.1/.buildinfo index 64cea121..44eeb467 100644 --- a/v8.2.1/.buildinfo +++ b/v8.2.1/.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: c5e6802d2b10c7c875f4e21c8a1ef07e +config: 9de6674c5b1212d7733bc01779d6e8c0 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v8.2.1/output/botcore.html b/v8.2.1/output/botcore.html index 3e59066f..af77d35d 100644 --- a/v8.2.1/output/botcore.html +++ b/v8.2.1/output/botcore.html @@ -388,7 +388,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -519,7 +519,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v8.2.1/output/botcore.utils.channel.html b/v8.2.1/output/botcore.utils.channel.html index 0b1f4d0b..7eaacf97 100644 --- a/v8.2.1/output/botcore.utils.channel.html +++ b/v8.2.1/output/botcore.utils.channel.html @@ -392,20 +392,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -420,7 +420,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v8.2.1/output/botcore.utils.commands.html b/v8.2.1/output/botcore.utils.commands.html index ebad89cf..3765accf 100644 --- a/v8.2.1/output/botcore.utils.commands.html +++ b/v8.2.1/output/botcore.utils.commands.html @@ -391,12 +391,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v8.2.1/output/botcore.utils.html b/v8.2.1/output/botcore.utils.html index babc84d7..38448fe8 100644 --- a/v8.2.1/output/botcore.utils.html +++ b/v8.2.1/output/botcore.utils.html @@ -395,7 +395,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v8.2.1/output/botcore.utils.interactions.html b/v8.2.1/output/botcore.utils.interactions.html index 98e3393c..dd78ada6 100644 --- a/v8.2.1/output/botcore.utils.interactions.html +++ b/v8.2.1/output/botcore.utils.interactions.html @@ -387,7 +387,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -420,7 +420,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -429,7 +429,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -445,7 +445,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v8.2.1/output/botcore.utils.members.html b/v8.2.1/output/botcore.utils.members.html index bbcfae7c..1a32acd9 100644 --- a/v8.2.1/output/botcore.utils.members.html +++ b/v8.2.1/output/botcore.utils.members.html @@ -384,17 +384,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -404,13 +404,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v8.2.1/searchindex.js b/v8.2.1/searchindex.js index 603da038..79aa2e18 100644 --- a/v8.2.1/searchindex.js +++ b/v8.2.1/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"8": 0, "2": [0, 3, 11], "1": [0, 12], "18th": 0, "septemb": 0, "2022": 0, "bug": 0, "138": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0": [0, 8, 11, 12], "august": 0, "support": [0, 4, 7, 15], "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": 0, "botcor": [0, 1, 2, 11], "util": [0, 1, 2, 3, 8, 11, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 14], "option": [0, 3, 6, 8, 10, 11, 12, 13], "match": [0, 3], "lead": 0, "http": [0, 6, 14], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "www": 0, "27th": 0, "juli": 0, "break": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "project": [0, 1], "depend": [0, 9], "add": [0, 3], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": 0, "23rd": 0, "featur": [0, 1, 3], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Utils": [[7, "module-botcore.utils"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-botcore.async_stats"]], "site_api": [[6, "module-botcore.site_api"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Exts": [[5, "module-botcore.exts"]], "caching": [[8, "module-botcore.utils.caching"]], "channel": [[9, "module-botcore.utils.channel"]], "members": [[13, "module-botcore.utils.members"]], "commands": [[10, "module-botcore.utils.commands"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "interactions": [[11, "module-botcore.utils.interactions"]], "logging": [[12, "module-botcore.utils.logging"]], "regex": [[14, "module-botcore.utils.regex"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"8": 0, "2": [0, 3, 11], "1": [0, 12], "18th": 0, "septemb": 0, "2022": 0, "bug": 0, "138": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 13, 14], "py": 0, "0": [0, 8, 11, 12], "august": 0, "support": [0, 4, 7, 15], "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": 0, "botcor": [0, 1, 2, 11], "util": [0, 1, 2, 3, 8, 11, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 14], "option": [0, 3, 6, 8, 10, 11, 12, 13], "match": [0, 3], "lead": 0, "http": [0, 6, 14], "": [0, 1, 7, 8, 10, 11, 12, 14, 15], "www": 0, "27th": 0, "juli": 0, "break": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "project": [0, 1], "depend": [0, 9], "add": [0, 3], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 15], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 15], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": 0, "23rd": 0, "featur": [0, 1, 3], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 12, 15], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 12, 15], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 11], "On": 0, "view": [0, 11], "timeout": [0, 11], "thi": [0, 1, 3, 7, 9, 11, 13, 14, 15], "ha": [0, 7], "its": [0, 3], "remov": [0, 3, 11], "set": [0, 1, 3, 11], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 11], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 12, 13, 14, 15], "wrong": 0, "delet": [0, 3, 6, 8, 11], "method": [0, 4, 6, 7, 12], "103": 0, "button": [0, 11], "attach": 0, "parent": [0, 11], "gener": [0, 3, 15], "onli": [0, 3], "allow": [0, 1, 3, 11], "specifi": [0, 11], "user": [0, 11], "role": [0, 1, 3, 11, 13], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 15], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 15], "creat": [0, 3, 4, 8, 15], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 12, 13, 15], "self": [0, 3, 11], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 13], "96": 0, "attempt": [0, 3, 9, 13], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 15], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 15], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 15], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 15], "new": [0, 1, 4, 6, 8, 15], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 12], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 15], "out": [0, 1, 11], "10th": 0, "75": 0, "invit": [0, 14], "longer": [0, 11], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "url": [0, 3, 6], "safe": 0, "result": [0, 15], "refer": 0, "handl": [0, 13, 15], "captur": [0, 14], "all": [0, 1, 3, 4, 7, 15], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 14], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 13], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 15], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 11], "actual": 0, "now": [0, 1, 15], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 13], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": 0, "main": 0, "don": [0, 15], "t": [0, 10, 15], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 15], "start": [0, 3, 15], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": 0, "task": [0, 3, 15], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 15], "manipul": 0, "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1], "help": [0, 1], "command": [0, 1, 3, 7, 9], "behaviour": 0, "broke": 0, "custom": [0, 8, 12], "pagin": 0, "also": [0, 7, 11], "basic": [0, 11], "forum": 0, "channel": [0, 3, 7], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 15], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 12, 15], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 15], "event": [0, 3, 4, 15], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 11, 15], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 12, 15], "abstract": 0, "lot": 0, "logic": 0, "share": 0, "between": [0, 1], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 13, 15], "trace": [0, 7, 12], "import": 0, "can": [0, 1, 11, 15], "function": [0, 3, 8, 9, 12, 13, 15], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 13], "wrapper": [0, 6, 15], "from": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 12, 14], "cach": [0, 3, 7, 9, 13], "logger": [0, 12], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 11, 12], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 14], "block": [0, 14], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 12], "your": 1, "ar": [1, 3, 8, 11, 14], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": 1, "pre": 1, "exist": [1, 15], "provid": [1, 8, 10, 15], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 11], "below": 1, "more": 1, "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 15], "you": [1, 9, 14], "ll": [1, 15], "write": 1, "might": 1, "mean": 1, "modifi": [1, 13], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 15], "vari": 1, "re": [1, 3, 15], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 15], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 11, 15], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7], "free": 1, "howev": 1, "like": 1, "m": 1, "docker": 1, "compos": 1, "d": 1, "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 11], "A": [1, 3, 6, 7, 8, 9, 11, 15], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 11, 15], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 15], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 12], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 12, 15], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "implement": [3, 4, 8, 11, 12], "initialis": [3, 8], "int": [3, 4, 8, 9, 11, 15], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 11, 12, 15], "server": [3, 14], "If": [3, 6, 11, 15], "given": [3, 4, 7, 9, 10, 12, 13, 15], "oper": [3, 15], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 15], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 11, 15], "instead": [3, 15], "connector": 3, "resolv": 3, "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 15], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 15], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 11, 14], "thei": 3, "name": [3, 7, 12, 15], "alia": [3, 7], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 15], "until": [3, 14], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": 3, "second": [3, 11, 15], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 12, 15], "error": [3, 6, 7, 13], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "customlogg": [3, 7, 12], "get_logg": [3, 7, 12], "get_or_fetch_memb": [3, 7, 13], "formatted_code_regex": [3, 7, 14], "raw_code_regex": [3, 7, 14], "create_task": [3, 7, 15], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 14], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 15], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 13, 15], "django": 6, "initi": [6, 15], "authent": 6, "keyword": [6, 7, 12], "argument": [6, 7, 8, 10, 12, 13], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 12, 15], "send": [6, 11], "json": 6, "respons": 6, "bool": [6, 9, 11, 15], "whether": [6, 9], "rais": [6, 9, 10, 13, 15], "ok": 6, "ani": [6, 14, 15], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 15], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8], "group": [7, 14], "root_alias": 7, "two": 7, "sequenc": [7, 11], "act": 7, "top": 7, "level": [7, 12], "rather": 7, "than": 7, "being": [7, 13], "It": 7, "store": [7, 8], "attribut": 7, "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "callback": [7, 11], "interaction_check": [7, 11], "on_timeout": [7, 11], "__contains__": [7, 15], "cancel": [7, 15], "cancel_al": [7, 15], "schedule_at": [7, 15], "schedule_lat": [7, 15], "relat": [8, 12], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 13, 15], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 15], "offset": 8, "arg_offset": 8, "decor": 8, "posit": 8, "callabl": [8, 13], "wrap": [8, 15], "target": 8, "item": 8, "helper": [9, 13], "variou": 9, "channel_id": 9, "fetch": [9, 13], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 11], "repli": 10, "context": 10, "badargu": 10, "wasn": 10, "els": 10, "style": 11, "buttonstyl": 11, "secondari": 11, "label": 11, "click": 11, "itself": 11, "carri": 11, "done": [11, 15], "origin": 11, "allowed_us": 11, "180": 11, "moder": 11, "who": 11, "float": [11, 15], "last": 11, "ui": 11, "accept": 11, "input": 11, "similar": [11, 14], "after": [11, 15], "occur": 11, "msg": 12, "sever": 12, "exc_info": 12, "valu": 12, "houston": 12, "we": [12, 13], "interest": 12, "problem": 12, "mypi": 12, "recognis": 12, "interactin": 13, "member_id": 13, "failur": 13, "indic": 13, "could": 13, "found": [13, 15], "coro": [13, 15], "sole": 13, "expect": 13, "add_rol": 13, "remove_rol": 13, "purpos": 13, "intend": 13, "regular": 14, "express": 14, "pattern": 14, "pleas": 14, "sanitis": 14, "output": 14, "someth": 14, "urllib": 14, "pars": 14, "quot": 14, "format": 14, "raw": 14, "execut": 15, "keep": 15, "track": 15, "must": 15, "distinguish": 15, "suggest": 15, "immedi": 15, "futur": 15, "uniqu": 15, "prematur": 15, "same": 15, "current": 15, "task_id": 15, "hashabl": 15, "look": 15, "unschedul": 15, "identifi": 15, "warn": 15, "doesn": 15, "known": 15, "alreadi": 15, "prevent": 15, "unawait": 15, "elsewher": 15, "timezon": 15, "awar": 15, "calcul": 15, "subtract": 15, "na\u00efv": 15, "utc": 15, "past": 15, "datetim": 15, "delai": 15, "union": 15, "long": 15, "suppressed_except": 15, "event_loop": 15, "otherwis": 15, "typevar": 15, "task_return": 15, "tupl": 15}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "interactions"], [12, 0, 0, "-", "logging"], [13, 0, 0, "-", "members"], [14, 0, 0, "-", "regex"], [15, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.interactions": [[11, 1, 1, "", "DeleteMessageButton"], [11, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "interaction_check"], [11, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[12, 1, 1, "", "CustomLogger"], [12, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[12, 2, 1, "", "trace"]], "botcore.utils.members": [[13, 4, 1, "", "get_or_fetch_member"], [13, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[14, 5, 1, "", "DISCORD_INVITE"], [14, 5, 1, "", "FORMATTED_CODE_REGEX"], [14, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[15, 1, 1, "", "Scheduler"], [15, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[15, 2, 1, "", "__contains__"], [15, 2, 1, "", "__init__"], [15, 2, 1, "", "cancel"], [15, 2, 1, "", "cancel_all"], [15, 2, 1, "", "schedule"], [15, 2, 1, "", "schedule_at"], [15, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "interact": 11, "log": 12, "member": 13, "regex": 14, "schedul": 15}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"async_stats": [[4, "module-botcore.async_stats"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "Utils": [[7, "module-botcore.utils"]], "site_api": [[6, "module-botcore.site_api"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Exts": [[5, "module-botcore.exts"]], "commands": [[10, "module-botcore.utils.commands"]], "regex": [[14, "module-botcore.utils.regex"]], "caching": [[8, "module-botcore.utils.caching"]], "scheduling": [[15, "module-botcore.utils.scheduling"]], "channel": [[9, "module-botcore.utils.channel"]], "members": [[13, "module-botcore.utils.members"]], "interactions": [[11, "module-botcore.utils.interactions"]], "logging": [[12, "module-botcore.utils.logging"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.interactions"], [12, "module-botcore.utils.logging"], [13, "module-botcore.utils.members"], [14, "module-botcore.utils.regex"], [15, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "deletemessagebutton (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[11, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[11, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[11, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[12, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[12, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[12, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[12, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[13, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[13, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[13, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[14, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[14, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[14, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[15, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[15, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[15, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v8.3.0-beta/.buildinfo b/v8.3.0-beta/.buildinfo index 75d32a72..b92bc728 100644 --- a/v8.3.0-beta/.buildinfo +++ b/v8.3.0-beta/.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: e1117bc836ca5e020c4daaee823a69f4 +config: 3c752ea0e5f64a03a7b9bed6e1bb5d5b tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v8.3.0-beta/output/botcore.html b/v8.3.0-beta/output/botcore.html index d93b415b..507bcd3b 100644 --- a/v8.3.0-beta/output/botcore.html +++ b/v8.3.0-beta/output/botcore.html @@ -390,7 +390,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -521,7 +521,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v8.3.0-beta/output/botcore.utils.channel.html b/v8.3.0-beta/output/botcore.utils.channel.html index 226ba043..f3fd90ae 100644 --- a/v8.3.0-beta/output/botcore.utils.channel.html +++ b/v8.3.0-beta/output/botcore.utils.channel.html @@ -394,20 +394,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -422,7 +422,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v8.3.0-beta/output/botcore.utils.commands.html b/v8.3.0-beta/output/botcore.utils.commands.html index 8770f989..c2177a75 100644 --- a/v8.3.0-beta/output/botcore.utils.commands.html +++ b/v8.3.0-beta/output/botcore.utils.commands.html @@ -393,12 +393,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v8.3.0-beta/output/botcore.utils.cooldown.html b/v8.3.0-beta/output/botcore.utils.cooldown.html index 96242d3a..fe1ed834 100644 --- a/v8.3.0-beta/output/botcore.utils.cooldown.html +++ b/v8.3.0-beta/output/botcore.utils.cooldown.html @@ -390,7 +390,7 @@
    exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
    -

    Bases: CommandError, Generic[P, R]

    +

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    diff --git a/v8.3.0-beta/output/botcore.utils.html b/v8.3.0-beta/output/botcore.utils.html index 82699a78..1647db13 100644 --- a/v8.3.0-beta/output/botcore.utils.html +++ b/v8.3.0-beta/output/botcore.utils.html @@ -397,7 +397,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v8.3.0-beta/output/botcore.utils.interactions.html b/v8.3.0-beta/output/botcore.utils.interactions.html index 95f5c91c..c70a81c5 100644 --- a/v8.3.0-beta/output/botcore.utils.interactions.html +++ b/v8.3.0-beta/output/botcore.utils.interactions.html @@ -389,7 +389,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See botcore.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -422,7 +422,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -431,7 +431,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -447,7 +447,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v8.3.0-beta/output/botcore.utils.members.html b/v8.3.0-beta/output/botcore.utils.members.html index 3401f361..dcf71cbf 100644 --- a/v8.3.0-beta/output/botcore.utils.members.html +++ b/v8.3.0-beta/output/botcore.utils.members.html @@ -386,17 +386,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -406,13 +406,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v8.3.0-beta/searchindex.js b/v8.3.0-beta/searchindex.js index 5c81b728..580a686f 100644 --- a/v8.3.0-beta/searchindex.js +++ b/v8.3.0-beta/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.cooldown", "output/botcore.utils.function", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.cooldown.rst", "output/botcore.utils.function.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"8": 0, "3": 0, "0": [0, 8, 13, 14], "25th": 0, "octob": 0, "2022": 0, "featur": [0, 1, 3], "88": 0, "add": [0, 3, 11], "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "command": [0, 1, 3, 7, 9, 11, 12], "support": [0, 4, 7, 17], "151": 0, "python": [0, 1, 3, 17], "11": 0, "2": [0, 3, 13], "1": [0, 14], "18th": 0, "septemb": 0, "bug": 0, "138": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "august": 0, "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "botcor": [0, 1, 2, 13], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "break": [0, 12], "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "project": [0, 1], "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 13, 14, 17], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "timeout": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "delet": [0, 3, 6, 8, 13], "method": [0, 4, 6, 7, 14], "103": 0, "button": [0, 13], "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "allow": [0, 1, 3, 13], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "handl": [0, 15, 17], "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "being": [7, 15], "It": 7, "store": [7, 8], "attribut": [7, 12], "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, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "botcore.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "botcore.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "botcore.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "botcore.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "site_api": [[6, "module-botcore.site_api"]], "async_stats": [[4, "module-botcore.async_stats"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Utils": [[7, "module-botcore.utils"]], "Exts": [[5, "module-botcore.exts"]], "caching": [[8, "module-botcore.utils.caching"]], "logging": [[14, "module-botcore.utils.logging"]], "channel": [[9, "module-botcore.utils.channel"]], "regex": [[16, "module-botcore.utils.regex"]], "scheduling": [[17, "module-botcore.utils.scheduling"]], "cooldown": [[11, "module-botcore.utils.cooldown"]], "commands": [[10, "module-botcore.utils.commands"]], "function": [[12, "module-botcore.utils.function"]], "members": [[15, "module-botcore.utils.members"]], "interactions": [[13, "module-botcore.utils.interactions"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.cooldown"], [12, "module-botcore.utils.function"], [13, "module-botcore.utils.interactions"], [14, "module-botcore.utils.logging"], [15, "module-botcore.utils.members"], [16, "module-botcore.utils.regex"], [17, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "commandoncooldown": [[11, "botcore.utils.cooldown.CommandOnCooldown"]], "p (in module botcore.utils.cooldown)": [[11, "botcore.utils.cooldown.P"]], "r (class in botcore.utils.cooldown)": [[11, "botcore.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "botcore.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module botcore.utils.cooldown)": [[11, "botcore.utils.cooldown.block_duplicate_invocations"]], "botcore.utils.cooldown": [[11, "module-botcore.utils.cooldown"]], "call_without_cooldown() (commandoncooldown method)": [[11, "botcore.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "globalnameconflicterror": [[12, "botcore.utils.function.GlobalNameConflictError"]], "botcore.utils.function": [[12, "module-botcore.utils.function"]], "command_wraps() (in module botcore.utils.function)": [[12, "botcore.utils.function.command_wraps"]], "update_wrapper_globals() (in module botcore.utils.function)": [[12, "botcore.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in botcore.utils.interactions)": [[13, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[13, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[13, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[13, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[14, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[14, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[14, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[14, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[15, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[15, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[15, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[16, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[16, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[16, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[16, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[17, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[17, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[17, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["changelog", "development", "index", "output/botcore", "output/botcore.async_stats", "output/botcore.exts", "output/botcore.site_api", "output/botcore.utils", "output/botcore.utils.caching", "output/botcore.utils.channel", "output/botcore.utils.commands", "output/botcore.utils.cooldown", "output/botcore.utils.function", "output/botcore.utils.interactions", "output/botcore.utils.logging", "output/botcore.utils.members", "output/botcore.utils.regex", "output/botcore.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/botcore.rst", "output/botcore.async_stats.rst", "output/botcore.exts.rst", "output/botcore.site_api.rst", "output/botcore.utils.rst", "output/botcore.utils.caching.rst", "output/botcore.utils.channel.rst", "output/botcore.utils.commands.rst", "output/botcore.utils.cooldown.rst", "output/botcore.utils.function.rst", "output/botcore.utils.interactions.rst", "output/botcore.utils.logging.rst", "output/botcore.utils.members.rst", "output/botcore.utils.regex.rst", "output/botcore.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Botcore", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"8": 0, "3": 0, "0": [0, 8, 13, 14], "25th": 0, "octob": 0, "2022": 0, "featur": [0, 1, 3], "88": 0, "add": [0, 3, 11], "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "command": [0, 1, 3, 7, 9, 11, 12], "support": [0, 4, 7, 17], "151": 0, "python": [0, 1, 3, 17], "11": 0, "2": [0, 3, 13], "1": [0, 14], "18th": 0, "septemb": 0, "bug": 0, "138": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "august": 0, "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "botcor": [0, 1, 2, 13], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "break": [0, 12], "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "project": [0, 1], "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 13, 14, 17], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "timeout": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "delet": [0, 3, 6, 8, 13], "method": [0, 4, 6, 7, 14], "103": 0, "button": [0, 13], "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "allow": [0, 1, 3, 13], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "handl": [0, 15, 17], "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "5th": 0, "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "novemb": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "being": [7, 15], "It": 7, "store": [7, 8], "attribut": [7, 12], "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, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "botcore"]], "botcore": [[3, 1, 1, "", "BotBase"], [3, 3, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "botcore.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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "botcore.StartupError": [[3, 2, 1, "", "__init__"]], "botcore.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "botcore.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "botcore.site_api": [[6, 1, 1, "", "APIClient"], [6, 3, 1, "", "ResponseCodeError"]], "botcore.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"]], "botcore.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "botcore.utils": [[7, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 1, "", "unqualify"]], "botcore.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "botcore.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "botcore.utils.channel": [[9, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "botcore.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "botcore.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "botcore.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "botcore.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "botcore.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "botcore.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "botcore.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "botcore.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "botcore.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "botcore.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "botcore.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "botcore.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "botcore.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "botcor": 3, "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Utils": [[7, "module-botcore.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-botcore.site_api"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "async_stats": [[4, "module-botcore.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "caching": [[8, "module-botcore.utils.caching"]], "Botcore": [[3, "module-botcore"]], "Subpackages": [[3, "subpackages"]], "Exts": [[5, "module-botcore.exts"]], "function": [[12, "module-botcore.utils.function"]], "cooldown": [[11, "module-botcore.utils.cooldown"]], "logging": [[14, "module-botcore.utils.logging"]], "commands": [[10, "module-botcore.utils.commands"]], "members": [[15, "module-botcore.utils.members"]], "regex": [[16, "module-botcore.utils.regex"]], "channel": [[9, "module-botcore.utils.channel"]], "scheduling": [[17, "module-botcore.utils.scheduling"]], "interactions": [[13, "module-botcore.utils.interactions"]]}, "indexentries": {"botbase (class in botcore)": [[3, "botcore.BotBase"]], "startuperror": [[3, "botcore.StartupError"]], "__init__() (botbase method)": [[3, "botcore.BotBase.__init__"]], "__init__() (startuperror method)": [[3, "botcore.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "botcore.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "botcore.BotBase.add_command"]], "botcore": [[3, "module-botcore"]], "clear() (botbase method)": [[3, "botcore.BotBase.clear"]], "close() (botbase method)": [[3, "botcore.BotBase.close"]], "load_extensions() (botbase method)": [[3, "botcore.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "botcore.BotBase.log_to_dev_log"]], "module": [[3, "module-botcore"], [4, "module-botcore.async_stats"], [5, "module-botcore.exts"], [6, "module-botcore.site_api"], [7, "module-botcore.utils"], [8, "module-botcore.utils.caching"], [9, "module-botcore.utils.channel"], [10, "module-botcore.utils.commands"], [11, "module-botcore.utils.cooldown"], [12, "module-botcore.utils.function"], [13, "module-botcore.utils.interactions"], [14, "module-botcore.utils.logging"], [15, "module-botcore.utils.members"], [16, "module-botcore.utils.regex"], [17, "module-botcore.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "botcore.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "botcore.BotBase.on_guild_unavailable"]], "ping_services() (botbase method)": [[3, "botcore.BotBase.ping_services"]], "remove_command() (botbase method)": [[3, "botcore.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "botcore.BotBase.setup_hook"]], "wait_until_guild_available() (botbase method)": [[3, "botcore.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in botcore.async_stats)": [[4, "botcore.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.__init__"]], "botcore.async_stats": [[4, "module-botcore.async_stats"]], "create_socket() (asyncstatsclient method)": [[4, "botcore.async_stats.AsyncStatsClient.create_socket"]], "botcore.exts": [[5, "module-botcore.exts"]], "apiclient (class in botcore.site_api)": [[6, "botcore.site_api.APIClient"]], "responsecodeerror": [[6, "botcore.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "botcore.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "botcore.site_api.ResponseCodeError.__str__"]], "botcore.site_api": [[6, "module-botcore.site_api"]], "close() (apiclient method)": [[6, "botcore.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "botcore.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "botcore.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "botcore.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "botcore.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "botcore.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "botcore.site_api.APIClient.put"]], "request() (apiclient method)": [[6, "botcore.site_api.APIClient.request"]], "apply_monkey_patches() (in module botcore.utils)": [[7, "botcore.utils.apply_monkey_patches"]], "botcore.utils": [[7, "module-botcore.utils"]], "unqualify() (in module botcore.utils)": [[7, "botcore.utils.unqualify"]], "asynccache (class in botcore.utils.caching)": [[8, "botcore.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.__init__"]], "botcore.utils.caching": [[8, "module-botcore.utils.caching"]], "clear() (asynccache method)": [[8, "botcore.utils.caching.AsyncCache.clear"]], "botcore.utils.channel": [[9, "module-botcore.utils.channel"]], "get_or_fetch_channel() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module botcore.utils.channel)": [[9, "botcore.utils.channel.is_in_category"]], "botcore.utils.commands": [[10, "module-botcore.utils.commands"]], "clean_text_or_reply() (in module botcore.utils.commands)": [[10, "botcore.utils.commands.clean_text_or_reply"]], "commandoncooldown": [[11, "botcore.utils.cooldown.CommandOnCooldown"]], "p (in module botcore.utils.cooldown)": [[11, "botcore.utils.cooldown.P"]], "r (class in botcore.utils.cooldown)": [[11, "botcore.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "botcore.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module botcore.utils.cooldown)": [[11, "botcore.utils.cooldown.block_duplicate_invocations"]], "botcore.utils.cooldown": [[11, "module-botcore.utils.cooldown"]], "call_without_cooldown() (commandoncooldown method)": [[11, "botcore.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "globalnameconflicterror": [[12, "botcore.utils.function.GlobalNameConflictError"]], "botcore.utils.function": [[12, "module-botcore.utils.function"]], "command_wraps() (in module botcore.utils.function)": [[12, "botcore.utils.function.command_wraps"]], "update_wrapper_globals() (in module botcore.utils.function)": [[12, "botcore.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in botcore.utils.interactions)": [[13, "botcore.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in botcore.utils.interactions)": [[13, "botcore.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "botcore.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "botcore.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "botcore.utils.interactions": [[13, "module-botcore.utils.interactions"]], "callback() (deletemessagebutton method)": [[13, "botcore.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "botcore.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "botcore.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "customlogger (class in botcore.utils.logging)": [[14, "botcore.utils.logging.CustomLogger"]], "botcore.utils.logging": [[14, "module-botcore.utils.logging"]], "get_logger() (in module botcore.utils.logging)": [[14, "botcore.utils.logging.get_logger"]], "trace() (customlogger method)": [[14, "botcore.utils.logging.CustomLogger.trace"]], "botcore.utils.members": [[15, "module-botcore.utils.members"]], "get_or_fetch_member() (in module botcore.utils.members)": [[15, "botcore.utils.members.get_or_fetch_member"]], "handle_role_change() (in module botcore.utils.members)": [[15, "botcore.utils.members.handle_role_change"]], "discord_invite (in module botcore.utils.regex)": [[16, "botcore.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module botcore.utils.regex)": [[16, "botcore.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module botcore.utils.regex)": [[16, "botcore.utils.regex.RAW_CODE_REGEX"]], "botcore.utils.regex": [[16, "module-botcore.utils.regex"]], "scheduler (class in botcore.utils.scheduling)": [[17, "botcore.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.__init__"]], "botcore.utils.scheduling": [[17, "module-botcore.utils.scheduling"]], "cancel() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module botcore.utils.scheduling)": [[17, "botcore.utils.scheduling.create_task"]], "schedule() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "botcore.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v9.0.0/.buildinfo b/v9.0.0/.buildinfo index a5bdd9d9..2c19a108 100644 --- a/v9.0.0/.buildinfo +++ b/v9.0.0/.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: 7f11b8ab50a9521599f5ac456a9c9239 +config: c20dac2a2b3a49389193fd486cbc583c tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v9.0.0/output/pydis_core.html b/v9.0.0/output/pydis_core.html index 01cb279a..641e428f 100644 --- a/v9.0.0/output/pydis_core.html +++ b/v9.0.0/output/pydis_core.html @@ -390,7 +390,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -521,7 +521,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v9.0.0/output/pydis_core.utils.channel.html b/v9.0.0/output/pydis_core.utils.channel.html index 7efc8754..770103f8 100644 --- a/v9.0.0/output/pydis_core.utils.channel.html +++ b/v9.0.0/output/pydis_core.utils.channel.html @@ -394,20 +394,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -422,7 +422,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v9.0.0/output/pydis_core.utils.commands.html b/v9.0.0/output/pydis_core.utils.commands.html index 0b5e2ba6..27470fe5 100644 --- a/v9.0.0/output/pydis_core.utils.commands.html +++ b/v9.0.0/output/pydis_core.utils.commands.html @@ -393,12 +393,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v9.0.0/output/pydis_core.utils.cooldown.html b/v9.0.0/output/pydis_core.utils.cooldown.html index 24e061d0..cdec8fb3 100644 --- a/v9.0.0/output/pydis_core.utils.cooldown.html +++ b/v9.0.0/output/pydis_core.utils.cooldown.html @@ -390,7 +390,7 @@
    exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
    -

    Bases: CommandError, Generic[P, R]

    +

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    diff --git a/v9.0.0/output/pydis_core.utils.html b/v9.0.0/output/pydis_core.utils.html index 7f95e4b2..5b97a469 100644 --- a/v9.0.0/output/pydis_core.utils.html +++ b/v9.0.0/output/pydis_core.utils.html @@ -397,7 +397,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v9.0.0/output/pydis_core.utils.interactions.html b/v9.0.0/output/pydis_core.utils.interactions.html index 428f1cc7..92a79d16 100644 --- a/v9.0.0/output/pydis_core.utils.interactions.html +++ b/v9.0.0/output/pydis_core.utils.interactions.html @@ -389,7 +389,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See pydis_core.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -422,7 +422,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -431,7 +431,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -447,7 +447,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v9.0.0/output/pydis_core.utils.members.html b/v9.0.0/output/pydis_core.utils.members.html index 8a047e87..4d08f686 100644 --- a/v9.0.0/output/pydis_core.utils.members.html +++ b/v9.0.0/output/pydis_core.utils.members.html @@ -386,17 +386,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -406,13 +406,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v9.0.0/searchindex.js b/v9.0.0/searchindex.js index a303d751..45f8544b 100644 --- a/v9.0.0/searchindex.js +++ b/v9.0.0/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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis_Core", "async_stats", "Pydis_Core Exts", "site_api", "Pydis_Core Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "0": [0, 8, 13, 14], "5th": 0, "novemb": 0, "2022": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 2, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "2": [0, 3, 13], "1": [0, 14], "18th": 0, "septemb": 0, "bug": 0, "138": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "august": 0, "support": [0, 4, 7, 17], "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "add": [0, 3, 11], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 17], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "featur": [0, 1, 3], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 13, 14, 17], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "timeout": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "delet": [0, 3, 6, 8, 13], "method": [0, 4, 6, 7, 14], "103": 0, "button": [0, 13], "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "handl": [0, 15, 17], "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "command": [0, 1, 3, 7, 9, 11, 12], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "being": [7, 15], "It": 7, "store": [7, 8], "attribut": [7, 12], "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, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "decor": [8, 11, 12], "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "duplic": 11, "invoc": 11, "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydis_cor": [3, 5, 7], "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"async_stats": [[4, "module-pydis_core.async_stats"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis_Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Changelog": [[0, "changelog"]], "site_api": [[6, "module-pydis_core.site_api"]], "Pydis_Core Utils": [[7, "module-pydis_core.utils"]], "Pydis_Core Exts": [[5, "module-pydis_core.exts"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "function": [[12, "module-pydis_core.utils.function"]], "logging": [[14, "module-pydis_core.utils.logging"]], "regex": [[16, "module-pydis_core.utils.regex"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "commands": [[10, "module-pydis_core.utils.commands"]], "channel": [[9, "module-pydis_core.utils.channel"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "members": [[15, "module-pydis_core.utils.members"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis_Core", "async_stats", "Pydis_Core Exts", "site_api", "Pydis_Core Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "0": [0, 8, 13, 14], "5th": 0, "novemb": 0, "2022": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 2, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "2": [0, 3, 13], "1": [0, 14], "18th": 0, "septemb": 0, "bug": 0, "138": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "august": 0, "support": [0, 4, 7, 17], "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "add": [0, 3, 11], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 17], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "featur": [0, 1, 3], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "messag": [0, 3, 10, 11, 13, 14, 17], "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "interact": [0, 3, 7, 9], "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "timeout": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "delet": [0, 3, 6, 8, 13], "method": [0, 4, 6, 7, 14], "103": 0, "button": [0, 13], "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "handl": [0, 15, 17], "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "command": [0, 1, 3, 7, 9, 11, 12], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "14th": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "being": [7, 15], "It": 7, "store": [7, 8], "attribut": [7, 12], "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, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "decor": [8, 11, 12], "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "duplic": 11, "invoc": 11, "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": 2, "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydis_cor": [3, 5, 7], "subpackag": 3, "submodul": [3, 7], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"site_api": [[6, "module-pydis_core.site_api"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Pydis_Core Exts": [[5, "module-pydis_core.exts"]], "Pydis_Core Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis_Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "logging": [[14, "module-pydis_core.utils.logging"]], "members": [[15, "module-pydis_core.utils.members"]], "function": [[12, "module-pydis_core.utils.function"]], "regex": [[16, "module-pydis_core.utils.regex"]], "channel": [[9, "module-pydis_core.utils.channel"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v9.1.1/.buildinfo b/v9.1.1/.buildinfo index 3cffe07d..b5ccc90b 100644 --- a/v9.1.1/.buildinfo +++ b/v9.1.1/.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: 53a39804182fdf96b00d636f87ed709d +config: 0210b6ac6571d45fcb7ae6209145740a tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v9.1.1/output/pydis_core.html b/v9.1.1/output/pydis_core.html index 80fd8983..dce48029 100644 --- a/v9.1.1/output/pydis_core.html +++ b/v9.1.1/output/pydis_core.html @@ -390,7 +390,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -521,7 +521,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v9.1.1/output/pydis_core.utils.channel.html b/v9.1.1/output/pydis_core.utils.channel.html index 04ccef09..3f46e7ff 100644 --- a/v9.1.1/output/pydis_core.utils.channel.html +++ b/v9.1.1/output/pydis_core.utils.channel.html @@ -394,20 +394,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -422,7 +422,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v9.1.1/output/pydis_core.utils.commands.html b/v9.1.1/output/pydis_core.utils.commands.html index 17289cb0..b86da795 100644 --- a/v9.1.1/output/pydis_core.utils.commands.html +++ b/v9.1.1/output/pydis_core.utils.commands.html @@ -393,12 +393,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v9.1.1/output/pydis_core.utils.cooldown.html b/v9.1.1/output/pydis_core.utils.cooldown.html index 68b9fe79..4a9c01be 100644 --- a/v9.1.1/output/pydis_core.utils.cooldown.html +++ b/v9.1.1/output/pydis_core.utils.cooldown.html @@ -390,7 +390,7 @@
    exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
    -

    Bases: CommandError, Generic[P, R]

    +

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    diff --git a/v9.1.1/output/pydis_core.utils.html b/v9.1.1/output/pydis_core.utils.html index 40059bd7..4e063722 100644 --- a/v9.1.1/output/pydis_core.utils.html +++ b/v9.1.1/output/pydis_core.utils.html @@ -397,7 +397,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v9.1.1/output/pydis_core.utils.interactions.html b/v9.1.1/output/pydis_core.utils.interactions.html index 9088a55a..1de7cf69 100644 --- a/v9.1.1/output/pydis_core.utils.interactions.html +++ b/v9.1.1/output/pydis_core.utils.interactions.html @@ -389,7 +389,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See pydis_core.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -422,7 +422,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -431,7 +431,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -447,7 +447,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v9.1.1/output/pydis_core.utils.members.html b/v9.1.1/output/pydis_core.utils.members.html index d9b2ce47..69c9d88f 100644 --- a/v9.1.1/output/pydis_core.utils.members.html +++ b/v9.1.1/output/pydis_core.utils.members.html @@ -386,17 +386,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -406,13 +406,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v9.1.1/searchindex.js b/v9.1.1/searchindex.js index 7a8fd66e..c4772cde 100644 --- a/v9.1.1/searchindex.js +++ b/v9.1.1/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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "1": [0, 14], "14th": 0, "novemb": 0, "2022": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "0": [0, 8, 13, 14], "13th": 0, "featur": [0, 1, 3], "158": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 3, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "support": [0, 4, 7, 17], "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "add": [0, 3, 11], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 17], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "command": [0, 1, 3, 7, 9, 11, 12], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "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, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "decor": [8, 11, 12], "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "duplic": 11, "invoc": 11, "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Exts": [[5, "module-pydis_core.exts"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "logging": [[14, "module-pydis_core.utils.logging"]], "members": [[15, "module-pydis_core.utils.members"]], "regex": [[16, "module-pydis_core.utils.regex"]], "commands": [[10, "module-pydis_core.utils.commands"]], "function": [[12, "module-pydis_core.utils.function"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "channel": [[9, "module-pydis_core.utils.channel"]], "interactions": [[13, "module-pydis_core.utils.interactions"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "1": [0, 14], "14th": 0, "novemb": 0, "2022": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "0": [0, 8, 13, 14], "13th": 0, "featur": [0, 1, 3], "158": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 3, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "support": [0, 4, 7, 17], "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "add": [0, 3, 11], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "python": [0, 1, 3, 17], "version": [0, 10], "3": 0, "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "17th": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "command": [0, 1, 3, 7, 9, 11, 12], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "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, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "decor": [8, 11, 12], "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "duplic": 11, "invoc": 11, "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "logging": [[14, "module-pydis_core.utils.logging"]], "regex": [[16, "module-pydis_core.utils.regex"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]], "function": [[12, "module-pydis_core.utils.function"]], "members": [[15, "module-pydis_core.utils.members"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "channel": [[9, "module-pydis_core.utils.channel"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v9.2.0/.buildinfo b/v9.2.0/.buildinfo index 3776248b..aafbdc6b 100644 --- a/v9.2.0/.buildinfo +++ b/v9.2.0/.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: f3b5fe003eb138b9fc90a7e4faeb75f8 +config: 8f91441817a62fb0c689757ca6e34939 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v9.2.0/output/pydis_core.html b/v9.2.0/output/pydis_core.html index b9eb9743..75739451 100644 --- a/v9.2.0/output/pydis_core.html +++ b/v9.2.0/output/pydis_core.html @@ -390,7 +390,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -521,7 +521,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v9.2.0/output/pydis_core.utils.channel.html b/v9.2.0/output/pydis_core.utils.channel.html index 9a50dd84..e9041724 100644 --- a/v9.2.0/output/pydis_core.utils.channel.html +++ b/v9.2.0/output/pydis_core.utils.channel.html @@ -394,20 +394,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -422,7 +422,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v9.2.0/output/pydis_core.utils.commands.html b/v9.2.0/output/pydis_core.utils.commands.html index 5d07f11e..20ef006b 100644 --- a/v9.2.0/output/pydis_core.utils.commands.html +++ b/v9.2.0/output/pydis_core.utils.commands.html @@ -393,12 +393,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v9.2.0/output/pydis_core.utils.cooldown.html b/v9.2.0/output/pydis_core.utils.cooldown.html index e87898ab..6f427637 100644 --- a/v9.2.0/output/pydis_core.utils.cooldown.html +++ b/v9.2.0/output/pydis_core.utils.cooldown.html @@ -390,7 +390,7 @@
    exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
    -

    Bases: CommandError, Generic[P, R]

    +

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    diff --git a/v9.2.0/output/pydis_core.utils.html b/v9.2.0/output/pydis_core.utils.html index f325f088..1186b98f 100644 --- a/v9.2.0/output/pydis_core.utils.html +++ b/v9.2.0/output/pydis_core.utils.html @@ -397,7 +397,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v9.2.0/output/pydis_core.utils.interactions.html b/v9.2.0/output/pydis_core.utils.interactions.html index a276b957..0e3d8ef7 100644 --- a/v9.2.0/output/pydis_core.utils.interactions.html +++ b/v9.2.0/output/pydis_core.utils.interactions.html @@ -389,7 +389,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See pydis_core.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -422,7 +422,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -431,7 +431,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -447,7 +447,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v9.2.0/output/pydis_core.utils.members.html b/v9.2.0/output/pydis_core.utils.members.html index 2aec05c9..bf01f2d8 100644 --- a/v9.2.0/output/pydis_core.utils.members.html +++ b/v9.2.0/output/pydis_core.utils.members.html @@ -386,17 +386,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -406,13 +406,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v9.2.0/searchindex.js b/v9.2.0/searchindex.js index 0c25e25b..471649f5 100644 --- a/v9.2.0/searchindex.js +++ b/v9.2.0/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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "2": [0, 3, 13], "0": [0, 8, 13, 14], "17th": 0, "novemb": 0, "2022": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "3": 0, "11": 0, "1": [0, 14], "14th": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "13th": 0, "featur": [0, 1, 3], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "command": [0, 1, 3, 7, 9, 11, 12], "158": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 3, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "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, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "function": [[12, "module-pydis_core.utils.function"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "commands": [[10, "module-pydis_core.utils.commands"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "regex": [[16, "module-pydis_core.utils.regex"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "logging": [[14, "module-pydis_core.utils.logging"]], "channel": [[9, "module-pydis_core.utils.channel"]], "members": [[15, "module-pydis_core.utils.members"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "2": [0, 3, 13], "0": [0, 8, 13, 14], "17th": 0, "novemb": 0, "2022": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "3": 0, "11": 0, "1": [0, 14], "14th": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "13th": 0, "featur": [0, 1, 3], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "command": [0, 1, 3, 7, 9, 11, 12], "158": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "pydis_cor": [0, 1, 3, 13], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "util": [0, 1, 2, 3, 8, 12, 13, 14], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "member": [0, 3, 7], "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "decemb": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "get_or_fetch_memb": [3, 7, 15], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "request": [3, 6, 16], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "receiv": [6, 9], "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "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, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "site_api": [[6, "module-pydis_core.site_api"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Exts": [[5, "module-pydis_core.exts"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Utils": [[7, "module-pydis_core.utils"]], "Changelog": [[0, "changelog"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "function": [[12, "module-pydis_core.utils.function"]], "channel": [[9, "module-pydis_core.utils.channel"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]], "logging": [[14, "module-pydis_core.utils.logging"]], "members": [[15, "module-pydis_core.utils.members"]], "commands": [[10, "module-pydis_core.utils.commands"]], "interactions": [[13, "module-pydis_core.utils.interactions"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v9.3.0/.buildinfo b/v9.3.0/.buildinfo index 46063a12..46488b8b 100644 --- a/v9.3.0/.buildinfo +++ b/v9.3.0/.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: 557997ae2abd3ab557d9d15f48e6e74d +config: ece089e6ee07c7d98b1260c3e39866d9 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v9.3.0/output/pydis_core.html b/v9.3.0/output/pydis_core.html index b022b349..9392d2e5 100644 --- a/v9.3.0/output/pydis_core.html +++ b/v9.3.0/output/pydis_core.html @@ -390,7 +390,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -521,7 +521,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v9.3.0/output/pydis_core.utils.channel.html b/v9.3.0/output/pydis_core.utils.channel.html index 24f9ddfd..fed57731 100644 --- a/v9.3.0/output/pydis_core.utils.channel.html +++ b/v9.3.0/output/pydis_core.utils.channel.html @@ -394,20 +394,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -422,7 +422,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v9.3.0/output/pydis_core.utils.commands.html b/v9.3.0/output/pydis_core.utils.commands.html index 3717a630..2c59ba62 100644 --- a/v9.3.0/output/pydis_core.utils.commands.html +++ b/v9.3.0/output/pydis_core.utils.commands.html @@ -393,12 +393,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v9.3.0/output/pydis_core.utils.cooldown.html b/v9.3.0/output/pydis_core.utils.cooldown.html index 29607475..9004069b 100644 --- a/v9.3.0/output/pydis_core.utils.cooldown.html +++ b/v9.3.0/output/pydis_core.utils.cooldown.html @@ -390,7 +390,7 @@
    exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
    -

    Bases: CommandError, Generic[P, R]

    +

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    diff --git a/v9.3.0/output/pydis_core.utils.html b/v9.3.0/output/pydis_core.utils.html index 50e62189..01ab15e6 100644 --- a/v9.3.0/output/pydis_core.utils.html +++ b/v9.3.0/output/pydis_core.utils.html @@ -397,7 +397,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v9.3.0/output/pydis_core.utils.interactions.html b/v9.3.0/output/pydis_core.utils.interactions.html index 22ce4bc0..01ea59a5 100644 --- a/v9.3.0/output/pydis_core.utils.interactions.html +++ b/v9.3.0/output/pydis_core.utils.interactions.html @@ -389,7 +389,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See pydis_core.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -422,7 +422,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -431,7 +431,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -447,7 +447,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v9.3.0/output/pydis_core.utils.members.html b/v9.3.0/output/pydis_core.utils.members.html index 576fb249..a477658c 100644 --- a/v9.3.0/output/pydis_core.utils.members.html +++ b/v9.3.0/output/pydis_core.utils.members.html @@ -386,17 +386,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -406,13 +406,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v9.3.0/searchindex.js b/v9.3.0/searchindex.js index cc2e6df7..73b5b16c 100644 --- a/v9.3.0/searchindex.js +++ b/v9.3.0/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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "3": 0, "0": [0, 8, 13, 14], "13th": 0, "decemb": 0, "2022": 0, "featur": [0, 1, 3], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "pydis_cor": [0, 1, 3, 13], "util": [0, 1, 2, 3, 8, 12, 13, 14], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "2": [0, 3, 13], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "1": [0, 14], "14th": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "command": [0, 1, 3, 7, 9, 11, 12], "158": 0, "bump": 0, "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "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, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"async_stats": [[4, "module-pydis_core.async_stats"]], "Exts": [[5, "module-pydis_core.exts"]], "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"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Changelog": [[0, "changelog"]], "site_api": [[6, "module-pydis_core.site_api"]], "Utils": [[7, "module-pydis_core.utils"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "caching": [[8, "module-pydis_core.utils.caching"]], "commands": [[10, "module-pydis_core.utils.commands"]], "members": [[15, "module-pydis_core.utils.members"]], "regex": [[16, "module-pydis_core.utils.regex"]], "function": [[12, "module-pydis_core.utils.function"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "channel": [[9, "module-pydis_core.utils.channel"]], "logging": [[14, "module-pydis_core.utils.logging"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "3": 0, "0": [0, 8, 13, 14], "13th": 0, "decemb": 0, "2022": 0, "featur": [0, 1, 3], "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "pydis_cor": [0, 1, 3, 13], "util": [0, 1, 2, 3, 8, 12, 13, 14], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "2": [0, 3, 13], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "1": [0, 14], "14th": 0, "bug": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "command": [0, 1, 3, 7, 9, 11, 12], "158": 0, "bump": 0, "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "releas": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "23rd": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "4": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "ha": [0, 7], "its": [0, 3, 11, 12], "remov": [0, 3, 13], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "botbas": [0, 2, 3], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "creat": [0, 3, 4, 8, 11, 12, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "need": [0, 1], "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "24th": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "refer": 0, "captur": [0, 12, 16], "all": [0, 1, 3, 4, 7, 17], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 3, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "load": [0, 1, 3, 7], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "task": [0, 3, 17], "avoid": [0, 3], "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "extens": [0, 3], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "also": [0, 7, 12, 13], "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "schedul": [0, 3, 7], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "run": [1, 11, 17], "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8], "load_extens": [2, 3], "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "save": 3, "all_extens": 3, "ran": 3, "loop": [3, 4, 17], "deadlock": 3, "caus": [3, 7], "wait_for": 3, "call": [3, 11, 12, 17], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "true": [6, 11, 14, 17], "send": [6, 13], "json": 6, "respons": 6, "bool": [6, 9, 11, 13, 17], "whether": [6, 9], "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "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, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "have": [9, 12, 14], "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "after": [13, 17], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "channel": [[9, "module-pydis_core.utils.channel"]], "function": [[12, "module-pydis_core.utils.function"]], "logging": [[14, "module-pydis_core.utils.logging"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "regex": [[16, "module-pydis_core.utils.regex"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "commands": [[10, "module-pydis_core.utils.commands"]], "members": [[15, "module-pydis_core.utils.members"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v9.4.0/.buildinfo b/v9.4.0/.buildinfo index 148d0c4e..7e476090 100644 --- a/v9.4.0/.buildinfo +++ b/v9.4.0/.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: a8cf256dc3aaeec41ea552c80732b8ab +config: 884448e9f9164d3773411d677ddc1131 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v9.4.0/output/pydis_core.html b/v9.4.0/output/pydis_core.html index e8874ab8..7e203049 100644 --- a/v9.4.0/output/pydis_core.html +++ b/v9.4.0/output/pydis_core.html @@ -390,7 +390,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -523,7 +523,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v9.4.0/output/pydis_core.utils.channel.html b/v9.4.0/output/pydis_core.utils.channel.html index d209e971..41132a0f 100644 --- a/v9.4.0/output/pydis_core.utils.channel.html +++ b/v9.4.0/output/pydis_core.utils.channel.html @@ -394,20 +394,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -422,7 +422,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v9.4.0/output/pydis_core.utils.commands.html b/v9.4.0/output/pydis_core.utils.commands.html index b3193cc7..643f5321 100644 --- a/v9.4.0/output/pydis_core.utils.commands.html +++ b/v9.4.0/output/pydis_core.utils.commands.html @@ -393,12 +393,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v9.4.0/output/pydis_core.utils.cooldown.html b/v9.4.0/output/pydis_core.utils.cooldown.html index 142cc157..bc3ed3f6 100644 --- a/v9.4.0/output/pydis_core.utils.cooldown.html +++ b/v9.4.0/output/pydis_core.utils.cooldown.html @@ -390,7 +390,7 @@
    exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
    -

    Bases: CommandError, Generic[P, R]

    +

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    diff --git a/v9.4.0/output/pydis_core.utils.html b/v9.4.0/output/pydis_core.utils.html index cc14f332..20000eaa 100644 --- a/v9.4.0/output/pydis_core.utils.html +++ b/v9.4.0/output/pydis_core.utils.html @@ -397,7 +397,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v9.4.0/output/pydis_core.utils.interactions.html b/v9.4.0/output/pydis_core.utils.interactions.html index 33cdc6ee..57043181 100644 --- a/v9.4.0/output/pydis_core.utils.interactions.html +++ b/v9.4.0/output/pydis_core.utils.interactions.html @@ -389,7 +389,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See pydis_core.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -422,7 +422,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -431,7 +431,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -447,7 +447,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v9.4.0/output/pydis_core.utils.members.html b/v9.4.0/output/pydis_core.utils.members.html index e8f55422..4768d448 100644 --- a/v9.4.0/output/pydis_core.utils.members.html +++ b/v9.4.0/output/pydis_core.utils.members.html @@ -386,17 +386,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -406,13 +406,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v9.4.0/searchindex.js b/v9.4.0/searchindex.js index aeedfee3..561e3b4f 100644 --- a/v9.4.0/searchindex.js +++ b/v9.4.0/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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "4": 0, "0": [0, 8, 13, 14], "24th": 0, "decemb": 0, "2022": 0, "featur": [0, 1, 3], "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "1": [0, 14], "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "2": [0, 3, 13], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "bump": 0, "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Exts": [[5, "module-pydis_core.exts"]], "site_api": [[6, "module-pydis_core.site_api"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "members": [[15, "module-pydis_core.utils.members"]], "function": [[12, "module-pydis_core.utils.function"]], "commands": [[10, "module-pydis_core.utils.commands"]], "channel": [[9, "module-pydis_core.utils.channel"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]], "logging": [[14, "module-pydis_core.utils.logging"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "4": 0, "0": [0, 8, 13, 14], "24th": 0, "decemb": 0, "2022": 0, "featur": [0, 1, 3], "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "1": [0, 14], "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "2": [0, 3, 13], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "bump": 0, "py": [0, 12], "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Changelog": [[0, "changelog"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "caching": [[8, "module-pydis_core.utils.caching"]], "site_api": [[6, "module-pydis_core.site_api"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "channel": [[9, "module-pydis_core.utils.channel"]], "members": [[15, "module-pydis_core.utils.members"]], "function": [[12, "module-pydis_core.utils.function"]], "logging": [[14, "module-pydis_core.utils.logging"]], "regex": [[16, "module-pydis_core.utils.regex"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v9.4.1/.buildinfo b/v9.4.1/.buildinfo index e9201e02..ebc7f567 100644 --- a/v9.4.1/.buildinfo +++ b/v9.4.1/.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: ec3f633c38cca320d3ee0617bae658cc +config: cedc3f6370a6dbdad2d3c952d9019162 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v9.4.1/output/pydis_core.html b/v9.4.1/output/pydis_core.html index 5a6b5a6f..4d94d9c3 100644 --- a/v9.4.1/output/pydis_core.html +++ b/v9.4.1/output/pydis_core.html @@ -390,7 +390,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -523,7 +523,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v9.4.1/output/pydis_core.utils.channel.html b/v9.4.1/output/pydis_core.utils.channel.html index 8091159a..16fdd741 100644 --- a/v9.4.1/output/pydis_core.utils.channel.html +++ b/v9.4.1/output/pydis_core.utils.channel.html @@ -394,20 +394,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -422,7 +422,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v9.4.1/output/pydis_core.utils.commands.html b/v9.4.1/output/pydis_core.utils.commands.html index 76840fe7..38feba3f 100644 --- a/v9.4.1/output/pydis_core.utils.commands.html +++ b/v9.4.1/output/pydis_core.utils.commands.html @@ -393,12 +393,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v9.4.1/output/pydis_core.utils.cooldown.html b/v9.4.1/output/pydis_core.utils.cooldown.html index b95119b7..7d73800c 100644 --- a/v9.4.1/output/pydis_core.utils.cooldown.html +++ b/v9.4.1/output/pydis_core.utils.cooldown.html @@ -390,7 +390,7 @@
    exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
    -

    Bases: CommandError, Generic[P, R]

    +

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    diff --git a/v9.4.1/output/pydis_core.utils.html b/v9.4.1/output/pydis_core.utils.html index 22ce93d5..9b316ccb 100644 --- a/v9.4.1/output/pydis_core.utils.html +++ b/v9.4.1/output/pydis_core.utils.html @@ -397,7 +397,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v9.4.1/output/pydis_core.utils.interactions.html b/v9.4.1/output/pydis_core.utils.interactions.html index 30bb5139..08aeb553 100644 --- a/v9.4.1/output/pydis_core.utils.interactions.html +++ b/v9.4.1/output/pydis_core.utils.interactions.html @@ -389,7 +389,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See pydis_core.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -422,7 +422,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -431,7 +431,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -447,7 +447,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v9.4.1/output/pydis_core.utils.members.html b/v9.4.1/output/pydis_core.utils.members.html index d75ae0b1..877d4e1e 100644 --- a/v9.4.1/output/pydis_core.utils.members.html +++ b/v9.4.1/output/pydis_core.utils.members.html @@ -386,17 +386,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -406,13 +406,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v9.4.1/searchindex.js b/v9.4.1/searchindex.js index 04e4d9d8..a2edc577 100644 --- a/v9.4.1/searchindex.js +++ b/v9.4.1/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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "9": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "172": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "1": [0, 14], "4": 0, "0": [0, 8, 13, 14], "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Exts": [[5, "module-pydis_core.exts"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Utils": [[7, "module-pydis_core.utils"]], "site_api": [[6, "module-pydis_core.site_api"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "commands": [[10, "module-pydis_core.utils.commands"]], "regex": [[16, "module-pydis_core.utils.regex"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "function": [[12, "module-pydis_core.utils.function"]], "members": [[15, "module-pydis_core.utils.members"]], "logging": [[14, "module-pydis_core.utils.logging"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "channel": [[9, "module-pydis_core.utils.channel"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"next": 0, "9": 0, "x": 0, "featur": [0, 1, 3], "releas": 0, "172": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "1": [0, 14], "4": 0, "0": [0, 8, 13, 14], "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "5": [0, 11], "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "28th": 0, "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "februari": 0, "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"async_stats": [[4, "module-pydis_core.async_stats"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "function": [[12, "module-pydis_core.utils.function"]], "logging": [[14, "module-pydis_core.utils.logging"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]], "regex": [[16, "module-pydis_core.utils.regex"]], "members": [[15, "module-pydis_core.utils.members"]], "channel": [[9, "module-pydis_core.utils.channel"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v9.5.0/.buildinfo b/v9.5.0/.buildinfo index 20ec309d..6516f03e 100644 --- a/v9.5.0/.buildinfo +++ b/v9.5.0/.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: 5a685ca7022a3f439d7902c1c47a8f11 +config: 4368cd2d63a911c27a73a58ff13afc7f tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v9.5.0/output/pydis_core.html b/v9.5.0/output/pydis_core.html index 7c51f7d9..f74add7a 100644 --- a/v9.5.0/output/pydis_core.html +++ b/v9.5.0/output/pydis_core.html @@ -390,7 +390,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -523,7 +523,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v9.5.0/output/pydis_core.utils.channel.html b/v9.5.0/output/pydis_core.utils.channel.html index 2943c287..05ffa67a 100644 --- a/v9.5.0/output/pydis_core.utils.channel.html +++ b/v9.5.0/output/pydis_core.utils.channel.html @@ -394,20 +394,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -422,7 +422,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v9.5.0/output/pydis_core.utils.commands.html b/v9.5.0/output/pydis_core.utils.commands.html index c2330c65..3823f1b2 100644 --- a/v9.5.0/output/pydis_core.utils.commands.html +++ b/v9.5.0/output/pydis_core.utils.commands.html @@ -393,12 +393,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v9.5.0/output/pydis_core.utils.cooldown.html b/v9.5.0/output/pydis_core.utils.cooldown.html index 7f7ab85d..6f917f5d 100644 --- a/v9.5.0/output/pydis_core.utils.cooldown.html +++ b/v9.5.0/output/pydis_core.utils.cooldown.html @@ -390,7 +390,7 @@
    exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
    -

    Bases: CommandError, Generic[P, R]

    +

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    diff --git a/v9.5.0/output/pydis_core.utils.html b/v9.5.0/output/pydis_core.utils.html index 3d625a5e..82fecffd 100644 --- a/v9.5.0/output/pydis_core.utils.html +++ b/v9.5.0/output/pydis_core.utils.html @@ -397,7 +397,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v9.5.0/output/pydis_core.utils.interactions.html b/v9.5.0/output/pydis_core.utils.interactions.html index de287d56..71593d46 100644 --- a/v9.5.0/output/pydis_core.utils.interactions.html +++ b/v9.5.0/output/pydis_core.utils.interactions.html @@ -389,7 +389,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See pydis_core.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -422,7 +422,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -431,7 +431,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -447,7 +447,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v9.5.0/output/pydis_core.utils.members.html b/v9.5.0/output/pydis_core.utils.members.html index c368d1ed..2a157a08 100644 --- a/v9.5.0/output/pydis_core.utils.members.html +++ b/v9.5.0/output/pydis_core.utils.members.html @@ -386,17 +386,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -406,13 +406,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v9.5.0/searchindex.js b/v9.5.0/searchindex.js index b235f1ee..1f6e4e57 100644 --- a/v9.5.0/searchindex.js +++ b/v9.5.0/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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "5": [0, 11], "0": [0, 8, 13, 14], "28th": 0, "februari": 0, "2023": 0, "featur": [0, 1, 3], "172": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "1": [0, 14], "173": 0, "4": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "regex": [[16, "module-pydis_core.utils.regex"]], "function": [[12, "module-pydis_core.utils.function"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "members": [[15, "module-pydis_core.utils.members"]], "channel": [[9, "module-pydis_core.utils.channel"]], "logging": [[14, "module-pydis_core.utils.logging"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "5": [0, 11], "0": [0, 8, 13, 14], "28th": 0, "februari": 0, "2023": 0, "featur": [0, 1, 3], "172": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "1": [0, 14], "173": 0, "4": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "bug": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "9th": 0, "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "2nd": 0, "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "march": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "site_api": [[6, "module-pydis_core.site_api"]], "Exts": [[5, "module-pydis_core.exts"]], "Utils": [[7, "module-pydis_core.utils"]], "caching": [[8, "module-pydis_core.utils.caching"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "members": [[15, "module-pydis_core.utils.members"]], "logging": [[14, "module-pydis_core.utils.logging"]], "channel": [[9, "module-pydis_core.utils.channel"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "commands": [[10, "module-pydis_core.utils.commands"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]], "function": [[12, "module-pydis_core.utils.function"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v9.5.1/.buildinfo b/v9.5.1/.buildinfo index 73d7dfd5..67e26b85 100644 --- a/v9.5.1/.buildinfo +++ b/v9.5.1/.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: 915bcfd2136b0f55157a9ebf18f16573 +config: a8a4fc543953b251f02b6cc9f8b43ed2 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v9.5.1/output/pydis_core.html b/v9.5.1/output/pydis_core.html index b5c8ce5c..c37bfe33 100644 --- a/v9.5.1/output/pydis_core.html +++ b/v9.5.1/output/pydis_core.html @@ -390,7 +390,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -523,7 +523,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v9.5.1/output/pydis_core.utils.channel.html b/v9.5.1/output/pydis_core.utils.channel.html index 66cbb89c..4d61b801 100644 --- a/v9.5.1/output/pydis_core.utils.channel.html +++ b/v9.5.1/output/pydis_core.utils.channel.html @@ -394,20 +394,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -422,7 +422,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v9.5.1/output/pydis_core.utils.commands.html b/v9.5.1/output/pydis_core.utils.commands.html index 24ba1e30..9e24e7a7 100644 --- a/v9.5.1/output/pydis_core.utils.commands.html +++ b/v9.5.1/output/pydis_core.utils.commands.html @@ -393,12 +393,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v9.5.1/output/pydis_core.utils.cooldown.html b/v9.5.1/output/pydis_core.utils.cooldown.html index 6292841a..29f04059 100644 --- a/v9.5.1/output/pydis_core.utils.cooldown.html +++ b/v9.5.1/output/pydis_core.utils.cooldown.html @@ -390,7 +390,7 @@
    exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
    -

    Bases: CommandError, Generic[P, R]

    +

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    diff --git a/v9.5.1/output/pydis_core.utils.html b/v9.5.1/output/pydis_core.utils.html index 304d406c..c1fe1276 100644 --- a/v9.5.1/output/pydis_core.utils.html +++ b/v9.5.1/output/pydis_core.utils.html @@ -397,7 +397,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v9.5.1/output/pydis_core.utils.interactions.html b/v9.5.1/output/pydis_core.utils.interactions.html index 2e4fa2d8..58cbafde 100644 --- a/v9.5.1/output/pydis_core.utils.interactions.html +++ b/v9.5.1/output/pydis_core.utils.interactions.html @@ -389,7 +389,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See pydis_core.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -422,7 +422,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -431,7 +431,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -447,7 +447,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v9.5.1/output/pydis_core.utils.members.html b/v9.5.1/output/pydis_core.utils.members.html index c9aa65fb..4670f308 100644 --- a/v9.5.1/output/pydis_core.utils.members.html +++ b/v9.5.1/output/pydis_core.utils.members.html @@ -386,17 +386,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -406,13 +406,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v9.5.1/searchindex.js b/v9.5.1/searchindex.js index b4af3bf6..4e8e99ae 100644 --- a/v9.5.1/searchindex.js +++ b/v9.5.1/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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "5": [0, 11], "1": [0, 14], "2nd": 0, "march": 0, "2023": 0, "bug": 0, "174": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "0": [0, 8, 13, 14], "28th": 0, "februari": 0, "featur": [0, 1, 3], "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"site_api": [[6, "module-pydis_core.site_api"]], "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"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Changelog": [[0, "changelog"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "regex": [[16, "module-pydis_core.utils.regex"]], "members": [[15, "module-pydis_core.utils.members"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "logging": [[14, "module-pydis_core.utils.logging"]], "channel": [[9, "module-pydis_core.utils.channel"]], "commands": [[10, "module-pydis_core.utils.commands"]], "function": [[12, "module-pydis_core.utils.function"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "5": [0, 11], "1": [0, 14], "2nd": 0, "march": 0, "2023": 0, "bug": 0, "174": 0, "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "0": [0, 8, 13, 14], "28th": 0, "februari": 0, "featur": [0, 1, 3], "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "load": [0, 1, 3, 7], "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "3": 0, "23rd": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "support": [0, 4, 7, 17], "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "mai": [0, 8], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "avail": [0, 3], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "6": 0, "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "guild": [0, 1, 3, 15], "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "cog": [0, 3, 5], "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "befor": [0, 3, 13, 17], "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "log": [0, 3, 7, 15, 17], "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "wait": [3, 17], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"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"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Utils": [[7, "module-pydis_core.utils"]], "site_api": [[6, "module-pydis_core.site_api"]], "Changelog": [[0, "changelog"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Exts": [[5, "module-pydis_core.exts"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "commands": [[10, "module-pydis_core.utils.commands"]], "channel": [[9, "module-pydis_core.utils.channel"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "members": [[15, "module-pydis_core.utils.members"]], "logging": [[14, "module-pydis_core.utils.logging"]], "function": [[12, "module-pydis_core.utils.function"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "regex": [[16, "module-pydis_core.utils.regex"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v9.6.0/.buildinfo b/v9.6.0/.buildinfo index e82e1ec0..d071667a 100644 --- a/v9.6.0/.buildinfo +++ b/v9.6.0/.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: 90bda6849f564b739b29bc727894e774 +config: b474c01ccbf68b51c8a71615866629f5 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v9.6.0/output/pydis_core.html b/v9.6.0/output/pydis_core.html index 91c625dd..586e8ee8 100644 --- a/v9.6.0/output/pydis_core.html +++ b/v9.6.0/output/pydis_core.html @@ -390,7 +390,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -523,7 +523,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v9.6.0/output/pydis_core.utils.channel.html b/v9.6.0/output/pydis_core.utils.channel.html index 20975857..8b848054 100644 --- a/v9.6.0/output/pydis_core.utils.channel.html +++ b/v9.6.0/output/pydis_core.utils.channel.html @@ -394,20 +394,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -422,7 +422,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v9.6.0/output/pydis_core.utils.commands.html b/v9.6.0/output/pydis_core.utils.commands.html index a7d33088..476e7ce5 100644 --- a/v9.6.0/output/pydis_core.utils.commands.html +++ b/v9.6.0/output/pydis_core.utils.commands.html @@ -393,12 +393,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v9.6.0/output/pydis_core.utils.cooldown.html b/v9.6.0/output/pydis_core.utils.cooldown.html index a34a6394..a2a80475 100644 --- a/v9.6.0/output/pydis_core.utils.cooldown.html +++ b/v9.6.0/output/pydis_core.utils.cooldown.html @@ -390,7 +390,7 @@
    exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
    -

    Bases: CommandError, Generic[P, R]

    +

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    diff --git a/v9.6.0/output/pydis_core.utils.html b/v9.6.0/output/pydis_core.utils.html index ee52c8b5..d853c9ee 100644 --- a/v9.6.0/output/pydis_core.utils.html +++ b/v9.6.0/output/pydis_core.utils.html @@ -397,7 +397,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v9.6.0/output/pydis_core.utils.interactions.html b/v9.6.0/output/pydis_core.utils.interactions.html index 18471d8b..419fd1c5 100644 --- a/v9.6.0/output/pydis_core.utils.interactions.html +++ b/v9.6.0/output/pydis_core.utils.interactions.html @@ -389,7 +389,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See pydis_core.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -422,7 +422,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -431,7 +431,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -447,7 +447,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v9.6.0/output/pydis_core.utils.members.html b/v9.6.0/output/pydis_core.utils.members.html index 41a7abe1..df5fff3c 100644 --- a/v9.6.0/output/pydis_core.utils.members.html +++ b/v9.6.0/output/pydis_core.utils.members.html @@ -386,17 +386,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -406,13 +406,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v9.6.0/searchindex.js b/v9.6.0/searchindex.js index c673c1b2..a83cda30 100644 --- a/v9.6.0/searchindex.js +++ b/v9.6.0/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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "6": 0, "0": [0, 8, 13, 14], "6th": 0, "mai": [0, 8], "2023": 0, "featur": [0, 1, 3], "175": 0, "log": [0, 3, 7, 15, 17], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "wait": [0, 3, 17], "guild": [0, 1, 3, 15], "avail": [0, 3], "befor": [0, 3, 13, 17], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "support": [0, 4, 7, 17], "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "3": 0, "5": [0, 11], "1": [0, 14], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "23rd": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"site_api": [[6, "module-pydis_core.site_api"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "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"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Utils": [[7, "module-pydis_core.utils"]], "regex": [[16, "module-pydis_core.utils.regex"]], "commands": [[10, "module-pydis_core.utils.commands"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "members": [[15, "module-pydis_core.utils.members"]], "logging": [[14, "module-pydis_core.utils.logging"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "channel": [[9, "module-pydis_core.utils.channel"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "function": [[12, "module-pydis_core.utils.function"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "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.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "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.commands.rst", "output/pydis_core.utils.cooldown.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.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "function", "interactions", "logging", "members", "regex", "scheduling"], "terms": {"9": 0, "6": 0, "0": [0, 8, 13, 14], "6th": 0, "mai": [0, 8], "2023": 0, "featur": [0, 1, 3], "175": 0, "log": [0, 3, 7, 15, 17], "when": [0, 3, 4, 6, 7, 8, 11, 12, 17], "wait": [0, 3, 17], "guild": [0, 1, 3, 15], "avail": [0, 3], "befor": [0, 3, 13, 17], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "support": [0, 4, 7, 17], "bump": 0, "discord": [0, 1, 3, 5, 7, 9, 10, 12, 15, 16], "py": [0, 12], "2": [0, 3, 13], "3": 0, "5": [0, 11], "1": [0, 14], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "all": [0, 1, 3, 4, 7, 17], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 12], "after": [0, 3, 13, 17], "extens": [0, 3], "have": [0, 9, 12, 14], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 12, 13, 15, 16, 17], "releas": 0, "also": [0, 7, 12, 13], "remov": [0, 3, 13], "need": [0, 1], "run": [0, 1, 11, 17], "pydis_cor": [0, 1, 3, 13], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 17], "23rd": 0, "170": 0, "save": [0, 3], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 12, 17], "util": [0, 1, 2, 3, 8, 12, 13, 14], "schedul": [0, 3, 7], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "none": [0, 3, 4, 6, 7, 8, 10, 11, 13, 14, 15, 17], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 16], "from": [0, 1, 3, 4, 6, 7, 9, 12, 13, 15, 17], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 15], "17th": 0, "novemb": 0, "151": 0, "add": [0, 3, 11], "python": [0, 1, 3, 17], "11": 0, "14th": 0, "162": 0, "handl": [0, 15, 17], "being": [0, 7, 15], "abl": 0, "delet": [0, 3, 6, 8, 13], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 13, 14, 17], "button": [0, 13], "press": 0, "timeout": [0, 13], "88": 0, "decor": [0, 8, 11, 12], "stop": 0, "success": 0, "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 12], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 13], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 12], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 16], "option": [0, 3, 6, 8, 10, 11, 13, 14, 15], "match": [0, 3], "lead": 0, "http": [0, 6, 16], "": [0, 1, 7, 8, 10, 11, 12, 13, 14, 16, 17], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 13, 15], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 12, 17], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "7": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 14, 17], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 13], "On": 0, "view": [0, 13], "ha": [0, 7], "its": [0, 3, 11, 12], "set": [0, 1, 3, 11, 12, 13], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 13], "work": [0, 1], "due": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 12, 14, 15, 16, 17], "wrong": 0, "method": [0, 4, 6, 7, 14], "103": 0, "attach": 0, "parent": [0, 13], "gener": [0, 3, 11, 17], "onli": [0, 3], "specifi": [0, 11, 13], "user": [0, 11, 13], "role": [0, 1, 3, 13, 15], "98": 0, "close": [0, 2, 3, 6, 17], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 17], "30th": 0, "june": 0, "91": 0, "miss": 0, "await": [0, 11, 13, 15], "ping_servic": [0, 2, 3], "some": 0, "case": 0, "pass": [0, 6, 14, 15, 17], "self": [0, 3, 13], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 15], "96": 0, "attempt": [0, 3, 9, 15], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 17], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 17], "new": [0, 1, 4, 6, 8, 12, 17], "auto_mod": 0, "message_typ": 0, "our": [0, 1, 7], "filter": 0, "system": [0, 1], "79": 0, "restor": 0, "site": [0, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 14], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 17], "out": [0, 1, 13], "10th": 0, "75": 0, "invit": [0, 16], "longer": [0, 13], "url": [0, 3, 6], "safe": 0, "result": [0, 17], "captur": [0, 12, 16], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 16], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 12, 13, 14, 17], "number": 0, "so": [0, 1, 7], "should": [0, 1, 6, 13], "actual": 0, "now": [0, 1, 17], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 15], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 12], "main": 0, "don": [0, 17], "t": [0, 10, 12, 17], "modul": [0, 3, 7, 12, 17], "start": [0, 3, 17], "_": 0, "66": 0, "each": 0, "own": [0, 12], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 17], "manipul": [0, 12], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 12], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 14], "pagin": 0, "basic": [0, 13], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 13, 17], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 14, 17], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 17], "event": [0, 3, 4, 17], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 13, 14, 17], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 12], "between": [0, 1, 12], "latest": 0, "alpha": 0, "39": 0, "migrat": 0, "back": 0, "37": 0, "trace": [0, 7, 14], "import": 0, "can": [0, 1, 13, 17], "function": [0, 3, 7, 8, 9, 11, 14, 15, 17], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 15], "wrapper": [0, 6, 11, 12, 17], "repo": 0, "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 14, 16], "cach": [0, 3, 7, 9, 15], "logger": [0, 14], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 13, 14], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 16], "block": [0, 11, 16], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "lint": 0, "ci": 0, "To": [1, 3, 14], "your": 1, "ar": [1, 3, 8, 12, 13, 16], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 12], "pre": 1, "exist": [1, 17], "provid": [1, 8, 10, 17], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 12, 13], "below": 1, "more": [1, 12], "info": 1, "both": 1, "what": 1, "go": 1, "them": [1, 3, 12, 17], "you": [1, 9, 16], "ll": [1, 17], "write": 1, "might": 1, "mean": 1, "modifi": [1, 15], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 17], "vari": 1, "re": [1, 3, 17], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 13, 17], "file": 1, "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 12], "free": 1, "howev": 1, "like": [1, 12], "m": 1, "docker": 1, "compos": 1, "d": [1, 12], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 13], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 13], "A": [1, 3, 6, 7, 8, 9, 11, 12, 13, 17], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 13, 17], "do": [1, 9], "anyth": 1, "reinstal": 1, "librari": 1, "includ": 1, "servic": [1, 3], "other": [1, 17], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 14], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 14], "http_session": 3, "redis_sess": 3, "kwarg": [3, 6, 11, 13, 14, 17], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "implement": [3, 4, 8, 13, 14], "initialis": [3, 8], "int": [3, 4, 8, 9, 13, 17], "clientsess": [3, 6], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 12, 13, 14, 17], "server": [3, 16], "If": [3, 6, 11, 12, 13, 17], "given": [3, 4, 7, 9, 10, 14, 15, 17], "oper": [3, 17], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 13, 17], "instead": [3, 11, 17], "connector": 3, "resolv": [3, 12], "sync_app_command": 3, "true": [3, 6, 11, 14, 17], "all_extens": 3, "bool": [3, 6, 9, 11, 13, 17], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 13, 16], "thei": [3, 12], "name": [3, 7, 12, 14, 17], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 12, 17], "create_socket": [3, 4], "until": [3, 16], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 12], "second": [3, 11, 13, 17], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 12, 14, 17], "error": [3, 6, 7, 15], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "globalnameconflicterror": [3, 7, 12], "command_wrap": [3, 7, 12], "update_wrapper_glob": [3, 7, 12], "customlogg": [3, 7, 14], "get_logg": [3, 7, 14], "formatted_code_regex": [3, 7, 16], "raw_code_regex": [3, 7, 16], "create_task": [3, 7, 17], "maybe_raise_for_statu": [3, 6], "post": [3, 6], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 17], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 17], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 15, 17], "django": 6, "initi": [6, 17], "authent": 6, "keyword": [6, 7, 14], "argument": [6, 7, 8, 10, 11, 14, 15], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 13], "json": 6, "respons": 6, "rais": [6, 9, 10, 11, 12, 15, 17], "ok": 6, "ani": [6, 16, 17], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 13, 17], "response_json": 6, "response_text": 6, "valueerror": 6, "text": [6, 10], "represent": 6, "appli": [7, 8, 11], "group": [7, 16], "root_alias": 7, "two": 7, "sequenc": [7, 12, 13], "act": 7, "top": 7, "level": [7, 14], "rather": 7, "than": 7, "It": 7, "store": [7, 8], "attribut": [7, 12], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 13], "interaction_check": [7, 13], "on_timeout": [7, 13], "__contains__": [7, 17], "cancel": [7, 17], "cancel_al": [7, 17], "schedule_at": [7, 17], "schedule_lat": [7, 17], "relat": [8, 14], "max_siz": 8, "128": 8, "lru": 8, "coroutin": [8, 15, 17], "onc": 8, "exce": 8, "maximum": 8, "size": 8, "kei": 8, "fifo": 8, "order": [8, 17], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 12, 15], "wrap": [8, 12, 17], "target": 8, "item": 8, "helper": [9, 11, 15], "variou": 9, "channel_id": 9, "fetch": [9, 15], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": 9, "notfound": 9, "invalid": 9, "forbidden": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 13], "repli": [10, 11], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 12, 17], "valu": [11, 12, 14], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 17], "same": [11, 17], "float": [11, 13, 17], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 12], "iter": 11, "raw": [11, 16], "conflict": 12, "global": 12, "annot": 12, "assign": 12, "__module__": 12, "__name__": 12, "__qualname__": 12, "__doc__": 12, "__annotations__": 12, "__dict__": 12, "ignored_conflict_nam": 12, "frozenset": 12, "look": [12, 17], "forwardref": 12, "evalu": 12, "detail": 12, "_p": 12, "_r": 12, "found": [12, 15, 17], "behav": 12, "functool": 12, "replac": 12, "For": 12, "__global__": 12, "state": 12, "won": 12, "reflect": 12, "typehint": 12, "style": 13, "buttonstyl": 13, "secondari": 13, "label": 13, "click": 13, "itself": 13, "carri": 13, "done": [13, 17], "origin": 13, "allowed_us": 13, "180": 13, "moder": 13, "who": 13, "last": 13, "ui": 13, "accept": 13, "input": 13, "similar": [13, 16], "occur": 13, "msg": 14, "sever": 14, "exc_info": 14, "houston": 14, "we": [14, 15], "interest": 14, "problem": 14, "mypi": 14, "recognis": 14, "interactin": 15, "member_id": 15, "failur": 15, "indic": 15, "could": 15, "coro": [15, 17], "sole": 15, "expect": 15, "add_rol": 15, "remove_rol": 15, "purpos": 15, "intend": 15, "regular": 16, "express": 16, "pattern": 16, "pleas": 16, "sanitis": 16, "output": 16, "someth": 16, "urllib": 16, "pars": 16, "quot": 16, "format": 16, "execut": 17, "keep": 17, "track": 17, "must": 17, "distinguish": 17, "suggest": 17, "immedi": 17, "futur": 17, "uniqu": 17, "prematur": 17, "current": 17, "task_id": 17, "hashabl": 17, "unschedul": 17, "identifi": 17, "warn": 17, "doesn": 17, "known": 17, "alreadi": 17, "unawait": 17, "elsewher": 17, "timezon": 17, "awar": 17, "calcul": 17, "subtract": 17, "na\u00efv": 17, "utc": 17, "past": 17, "datetim": 17, "delai": 17, "union": 17, "long": 17, "suppressed_except": 17, "event_loop": 17, "otherwis": 17, "task_return": 17, "tupl": 17}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "function"], [13, 0, 0, "-", "interactions"], [14, 0, 0, "-", "logging"], [15, 0, 0, "-", "members"], [16, 0, 0, "-", "regex"], [17, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.function": [[12, 3, 1, "", "GlobalNameConflictError"], [12, 4, 1, "", "command_wraps"], [12, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[13, 1, 1, "", "DeleteMessageButton"], [13, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[13, 2, 1, "", "__init__"], [13, 2, 1, "", "interaction_check"], [13, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[14, 1, 1, "", "CustomLogger"], [14, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[14, 2, 1, "", "trace"]], "pydis_core.utils.members": [[15, 4, 1, "", "get_or_fetch_member"], [15, 4, 1, "", "handle_role_change"]], "pydis_core.utils.regex": [[16, 5, 1, "", "DISCORD_INVITE"], [16, 5, 1, "", "FORMATTED_CODE_REGEX"], [16, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[17, 1, 1, "", "Scheduler"], [17, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[17, 2, 1, "", "__contains__"], [17, 2, 1, "", "__init__"], [17, 2, 1, "", "cancel"], [17, 2, 1, "", "cancel_all"], [17, 2, 1, "", "schedule"], [17, 2, 1, "", "schedule_at"], [17, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "function": 12, "interact": 13, "log": 14, "member": 15, "regex": 16, "schedul": 17}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Submodules": [[3, "submodules"], [7, "submodules"]], "site_api": [[6, "module-pydis_core.site_api"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Utils": [[7, "module-pydis_core.utils"]], "regex": [[16, "module-pydis_core.utils.regex"]], "commands": [[10, "module-pydis_core.utils.commands"]], "logging": [[14, "module-pydis_core.utils.logging"]], "scheduling": [[17, "module-pydis_core.utils.scheduling"]], "function": [[12, "module-pydis_core.utils.function"]], "channel": [[9, "module-pydis_core.utils.channel"]], "interactions": [[13, "module-pydis_core.utils.interactions"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "members": [[15, "module-pydis_core.utils.members"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.function"], [13, "module-pydis_core.utils.interactions"], [14, "module-pydis_core.utils.logging"], [15, "module-pydis_core.utils.members"], [16, "module-pydis_core.utils.regex"], [17, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "globalnameconflicterror": [[12, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[12, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[12, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[13, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[13, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[13, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[14, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[14, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[14, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[15, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[15, "module-pydis_core.utils.members"]], "discord_invite (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[16, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[16, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[17, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[17, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[17, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file diff --git a/v9.7.0/.buildinfo b/v9.7.0/.buildinfo index e825888f..636c0f76 100644 --- a/v9.7.0/.buildinfo +++ b/v9.7.0/.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: 064930548c4b01e2fe6cf2095ee54888 +config: 2c729313e971a3c4b17d3ac29d157644 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v9.7.0/output/pydis_core.html b/v9.7.0/output/pydis_core.html index be3e6327..3e3185fc 100644 --- a/v9.7.0/output/pydis_core.html +++ b/v9.7.0/output/pydis_core.html @@ -392,7 +392,7 @@
    class BotBase(*args, guild_id, allowed_roles, http_session, redis_session=None, api_client=None, statsd_url=None, **kwargs)[source]#
    -

    Bases: Bot

    +

    Bases: Bot

    A sub-class that implements many common features that Python Discord bots use.

    @@ -525,7 +525,7 @@ will not be set and guild_available_but_cache_empty event will be e To remove them, either remove the entire command or manually edit bot.all_commands.

    Return type:
    -

    Optional[Command]

    +

    Optional[Command]

    diff --git a/v9.7.0/output/pydis_core.utils.channel.html b/v9.7.0/output/pydis_core.utils.channel.html index 70f104be..d4e5a4d2 100644 --- a/v9.7.0/output/pydis_core.utils.channel.html +++ b/v9.7.0/output/pydis_core.utils.channel.html @@ -396,20 +396,20 @@
    Parameters:
    Raises:
    Return type:
    -

    GuildChannel

    +

    GuildChannel

    Returns:

    The channel from the ID.

    @@ -424,7 +424,7 @@
    Parameters:
      -
    • channel (TextChannel) – The channel to check.

    • +
    • channel (TextChannel) – The channel to check.

    • category_id (int) – The category to check for.

    diff --git a/v9.7.0/output/pydis_core.utils.commands.html b/v9.7.0/output/pydis_core.utils.commands.html index b0867458..08699470 100644 --- a/v9.7.0/output/pydis_core.utils.commands.html +++ b/v9.7.0/output/pydis_core.utils.commands.html @@ -395,12 +395,12 @@
    Parameters:
      -
    • ctx (Context) – The command’s context

    • +
    • ctx (Context) – The command’s context

    • text (Optional[str]) – The provided text argument of the command (if given)

    Raises:
    -

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    +

    discord.ext.commands.BadArgument – text wasn’t provided and there’s no reply message / reply message content.

    Return type:

    str

    diff --git a/v9.7.0/output/pydis_core.utils.cooldown.html b/v9.7.0/output/pydis_core.utils.cooldown.html index 91d6e565..8631185d 100644 --- a/v9.7.0/output/pydis_core.utils.cooldown.html +++ b/v9.7.0/output/pydis_core.utils.cooldown.html @@ -392,7 +392,7 @@
    exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
    -

    Bases: CommandError, Generic[P, R]

    +

    Bases: CommandError, Generic[P, R]

    Raised when a command is invoked while on cooldown.

    diff --git a/v9.7.0/output/pydis_core.utils.error_handling.html b/v9.7.0/output/pydis_core.utils.error_handling.html index 2c9072af..fd267745 100644 --- a/v9.7.0/output/pydis_core.utils.error_handling.html +++ b/v9.7.0/output/pydis_core.utils.error_handling.html @@ -395,8 +395,8 @@
    Parameters:
      -
    • error (Forbidden) – The raised discord.Forbidden to check.

    • -
    • message (Optional[Message]) – The message to reply to and include in logs, if error is 90001 and message is provided.

    • +
    • error (Forbidden) – The raised discord.Forbidden to check.

    • +
    • message (Optional[Message]) – The message to reply to and include in logs, if error is 90001 and message is provided.

    Return type:
    diff --git a/v9.7.0/output/pydis_core.utils.html b/v9.7.0/output/pydis_core.utils.html index da0a0f3f..3be125bc 100644 --- a/v9.7.0/output/pydis_core.utils.html +++ b/v9.7.0/output/pydis_core.utils.html @@ -399,7 +399,7 @@
    -
    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names +

    Patches discord.ext.commands.Command and discord.ext.commands.Group to support root aliases.

    A root_aliases keyword argument is added to these two objects, which is a sequence of alias names that will act as top-level groups rather than being aliases of the command’s group.

    It’s stored as an attribute also named root_aliases

    diff --git a/v9.7.0/output/pydis_core.utils.interactions.html b/v9.7.0/output/pydis_core.utils.interactions.html index 3ddd32c0..3334ef38 100644 --- a/v9.7.0/output/pydis_core.utils.interactions.html +++ b/v9.7.0/output/pydis_core.utils.interactions.html @@ -391,7 +391,7 @@
    class DeleteMessageButton(*, style=<ButtonStyle.secondary: 2>, label='Delete', **kwargs)[source]#
    -

    Bases: Button

    +

    Bases: Button

    A button that can be added to a view to delete the message containing the view on click.

    This button itself carries out no interaction checks, these should be done by the parent view.

    See pydis_core.utils.interactions.ViewWithUserAndRoleCheck for a view that implements basic checks.

    @@ -424,7 +424,7 @@
    class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
    -

    Bases: View

    +

    Bases: View

    A view that allows the original invoker and moderators to interact with it.

    Parameters:
    @@ -433,7 +433,7 @@
  • allowed_roles (Sequence[int]) – A sequence of role ids that are allowed to interact with the view.

  • timeout (Optional[float]) – Timeout in seconds from last interaction with the UI before no longer accepting input. If None then there is no timeout.

  • -
  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with +

  • message (Optional[Message]) – The message to remove the view from on timeout. This can also be set with view.message = await ctx.send( ... )` , or similar, after the view is instantiated.

  • @@ -449,7 +449,7 @@ If None

    Ensure the user clicking the button is the view invoker, or a moderator.

    Parameters:
    -

    interaction (Interaction) – The interaction that occurred.

    +

    interaction (Interaction) – The interaction that occurred.

    Return type:

    bool

    diff --git a/v9.7.0/output/pydis_core.utils.members.html b/v9.7.0/output/pydis_core.utils.members.html index 42c51fff..306076fd 100644 --- a/v9.7.0/output/pydis_core.utils.members.html +++ b/v9.7.0/output/pydis_core.utils.members.html @@ -388,17 +388,17 @@

    members#

    -

    Useful helper functions for interactin with discord.Member objects.

    +

    Useful helper functions for interactin with discord.Member objects.

    async get_or_fetch_member(guild, member_id)[source]#

    Attempt to get a member from cache; on failure fetch from the API.

    Return type:
    -

    Optional[Member]

    +

    Optional[Member]

    Returns:
    -

    The discord.Member or None to indicate the member could not be found.

    +

    The discord.Member or None to indicate the member could not be found.

    @@ -408,13 +408,13 @@ async handle_role_change(member, coro, role)[source]#

    Await the given coro with role as the sole argument.

    Handle errors that we expect to be raised from -discord.Member.add_roles and discord.Member.remove_roles.

    +discord.Member.add_roles and discord.Member.remove_roles.

    Parameters:
    Return type:
    diff --git a/v9.7.0/searchindex.js b/v9.7.0/searchindex.js index 182048a5..147e4956 100644 --- a/v9.7.0/searchindex.js +++ b/v9.7.0/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.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.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.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.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "7": 0, "0": [0, 8, 14, 15], "10th": 0, "june": 0, "2023": 0, "featur": [0, 1, 3], "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "add": [0, 3, 11], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "support": [0, 4, 7, 19], "bump": 0, "py": [0, 13], "2": [0, 3, 14], "3": 0, "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 3, 6, 8, 10, 11, 12, 14, 15, 16], "match": [0, 3], "lead": 0, "http": [0, 6, 18], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "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, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "url": [0, 3, 6, 17], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "buttonstyl": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "131072": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "encount": 17, "paste_url": 17, "file_nam": 17, "lexer": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Exts": [[5, "module-pydis_core.exts"]], "caching": [[8, "module-pydis_core.utils.caching"]], "site_api": [[6, "module-pydis_core.site_api"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Changelog": [[0, "changelog"]], "Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "channel": [[9, "module-pydis_core.utils.channel"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "regex": [[18, "module-pydis_core.utils.regex"]], "logging": [[15, "module-pydis_core.utils.logging"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "function": [[13, "module-pydis_core.utils.function"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "commands": [[10, "module-pydis_core.utils.commands"]], "members": [[16, "module-pydis_core.utils.members"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "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.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.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.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.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "commands", "cooldown", "error_handling", "function", "interactions", "logging", "members", "paste_service", "regex", "scheduling"], "terms": {"9": 0, "7": 0, "0": [0, 8, 14, 15], "10th": 0, "june": 0, "2023": 0, "featur": [0, 1, 3], "176": 0, "migrat": 0, "repo": 0, "us": [0, 1, 3, 4, 6, 7, 9, 11, 13, 15, 16, 17, 18, 19], "ruff": 0, "lint": 0, "177": 0, "automat": 0, "handl": [0, 12, 16, 19], "discord": [0, 1, 3, 5, 7, 9, 10, 12, 13, 16, 18], "forbidden": [0, 9, 12], "90001": [0, 12], "error": [0, 3, 6, 7, 12, 16, 17], "all": [0, 1, 3, 4, 7, 19], "schedul": [0, 3, 7], "179": 0, "add": [0, 3, 11], "past": [0, 17, 19], "servic": [0, 1, 3, 17], "util": [0, 1, 2, 3, 8, 13, 14, 15], "upload": [0, 17], "text": [0, 6, 10], "our": [0, 1, 7], "6": 0, "6th": 0, "mai": [0, 8], "175": 0, "log": [0, 3, 7, 12, 16, 19], "when": [0, 3, 4, 6, 7, 8, 11, 13, 17, 19], "wait": [0, 3, 19], "guild": [0, 1, 3, 16], "avail": [0, 3], "befor": [0, 3, 14, 19], "load": [0, 1, 3, 7], "cog": [0, 3, 5], "support": [0, 4, 7, 19], "bump": 0, "py": [0, 13], "2": [0, 3, 14], "3": 0, "5": [0, 11], "1": [0, 15], "2nd": 0, "march": 0, "bug": 0, "174": 0, "28th": 0, "februari": 0, "173": 0, "4": 0, "9th": 0, "172": 0, "24th": 0, "decemb": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3], "command": [0, 1, 3, 7, 9, 11, 13], "after": [0, 3, 14, 19], "extens": [0, 3], "have": [0, 9, 13, 15], "been": 0, "thi": [0, 1, 3, 7, 9, 11, 13, 14, 16, 18, 19], "releas": 0, "also": [0, 7, 13, 14], "remov": [0, 3, 14, 17], "need": [0, 1], "run": [0, 1, 11, 19], "pydis_cor": [0, 1, 3, 14], "botbas": [0, 2, 3], "load_extens": [0, 2, 3], "task": [0, 19], "23rd": 0, "170": 0, "save": [0, 3, 17], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 11, 13, 19], "13th": 0, "169": 0, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 14, 15, 16, 19], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 18], "from": [0, 1, 3, 4, 6, 7, 9, 13, 14, 16, 17, 19], "member": [0, 3, 7], "get_or_fetch_memb": [0, 3, 7, 16], "17th": 0, "novemb": 0, "151": 0, "python": [0, 1, 3, 17, 19], "11": 0, "14th": 0, "162": 0, "being": [0, 7, 16], "abl": 0, "delet": [0, 3, 6, 8, 14, 17], "interact": [0, 3, 7, 9], "messag": [0, 3, 10, 11, 12, 14, 15, 19], "button": [0, 14], "press": 0, "timeout": [0, 14], "88": 0, "decor": [0, 8, 11, 13], "stop": 0, "success": [0, 17], "duplic": [0, 11], "invoc": [0, 11], "158": 0, "5th": 0, "break": [0, 13], "157": 0, "renam": 0, "project": [0, 1], "allow": [0, 1, 3, 14, 17], "publish": 0, "pypi": 0, "8": 0, "18th": 0, "septemb": 0, "138": 0, "august": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "updat": [0, 13], "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 18], "option": [0, 3, 6, 8, 10, 11, 12, 14, 15, 16], "match": [0, 3], "lead": 0, "http": [0, 6, 18], "": [0, 1, 7, 8, 10, 11, 13, 14, 15, 18, 19], "www": 0, "27th": 0, "juli": 0, "110": 0, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 14, 16, 17], "rediscach": 0, "v1": 0, "rc2": 0, "107": 0, "declar": 0, "aiodn": 0, "depend": [0, 9], "sampl": 0, "boilerpl": 0, "document": 0, "explain": 0, "how": [0, 8, 13, 19], "develop": [0, 2, 3, 7], "bot": [0, 1, 3, 7, 9], "core": [0, 1], "108": 0, "version": [0, 10], "10": 0, "101": 0, "clean": [0, 10], "string": [0, 6], "referenc": 0, "content": [0, 6, 10, 17], "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 15, 17, 19], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 14], "On": 0, "view": [0, 14], "ha": [0, 7], "its": [0, 3, 11, 13], "set": [0, 1, 3, 11, 13, 14], "104": 0, "fix": 0, "deletemessagebutton": [0, 3, 7, 14], "work": [0, 1], "due": 0, "wrong": 0, "method": [0, 4, 6, 7, 15], "103": 0, "attach": 0, "parent": [0, 14], "gener": [0, 3, 11, 19], "onli": [0, 3], "specifi": [0, 11, 14], "user": [0, 11, 14], "role": [0, 1, 3, 14, 16], "98": 0, "close": [0, 2, 3, 6, 19], "stat": [0, 4], "_transport": 0, "wa": [0, 9, 19], "30th": 0, "91": 0, "miss": 0, "await": [0, 11, 14, 16], "ping_servic": [0, 2, 3], "some": [0, 17], "case": 0, "pass": [0, 6, 15, 16, 19], "self": [0, 3, 14], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 16], "96": 0, "attempt": [0, 3, 9, 16], "connect": [0, 3, 4], "statsd_url": [0, 3], "i": [0, 1, 3, 6, 7, 9, 11, 12, 13, 14, 15, 16, 17, 19], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "which": [0, 1, 7, 11, 19], "new": [0, 1, 4, 6, 8, 13, 19], "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, 15], "older": 0, "doc": 0, "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "time": [0, 19], "out": [0, 1, 14], "75": 0, "invit": [0, 18], "longer": [0, 14], "url": [0, 3, 6, 17], "safe": 0, "result": [0, 19], "captur": [0, 13, 18], "charact": 0, "up": [0, 1, 3], "whitespac": [0, 18], "26th": 0, "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "base": [0, 3, 4, 6, 8, 11, 13, 14, 15, 17, 19], "number": [0, 17], "so": [0, 1, 7], "should": [0, 1, 6, 14], "actual": 0, "now": [0, 1, 19], "25th": 0, "69": 0, "get": [0, 3, 6, 9, 16], "21st": 0, "68": 0, "correct": [0, 1], "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 13], "main": 0, "don": [0, 19], "t": [0, 10, 12, 13, 19], "modul": [0, 3, 7, 13, 19], "start": [0, 3, 19], "_": 0, "66": 0, "each": 0, "own": [0, 13], "avoid": 0, "singl": 0, "crash": 0, "entir": [0, 3], "process": 0, "20th": 0, "65": 0, "unqualifi": [0, 2, 3, 7], "namespac": [0, 19], "manipul": [0, 13], "19th": 0, "64": 0, "987235d": 0, "revert": 0, "chang": [0, 1, 13], "help": [0, 1], "behaviour": 0, "broke": 0, "custom": [0, 8, 15], "pagin": 0, "basic": [0, 14], "forum": 0, "channel": [0, 3, 7, 11], "63": 0, "api_cli": [0, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 11, 14, 19], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "instanc": [0, 3, 6, 8, 9, 15, 19], "61": 0, "reconnect": 0, "redi": 0, "session": [0, 3, 6, 17], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "asyncio": [0, 4, 19], "event": [0, 3, 4, 19], "_guild_avail": 0, "within": [0, 3], "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3], "made": 0, "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 17], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "client": [0, 3, 4], "ext": [0, 2, 3, 7, 9, 10], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 11, 14, 15, 17, 19], "abstract": 0, "lot": 0, "logic": 0, "share": [0, 13], "between": [0, 1, 13], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 15], "import": 0, "can": [0, 1, 14, 19], "function": [0, 3, 7, 8, 9, 11, 15, 16, 19], "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "port": [0, 4], "api": [0, 6, 16], "wrapper": [0, 6, 11, 13, 19], "22nd": 0, "32": 0, "0a0": 0, "disnak": 0, "29": 0, "mani": [0, 3, 8], "common": [0, 1, 3, 7, 15, 18], "cach": [0, 3, 7, 9, 16], "logger": [0, 15], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 7, 14, 15], "intersphinx": 0, "januari": 0, "12": 0, "code": [0, 1, 18], "block": [0, 11, 18], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 7], "poetri": [0, 1], "ci": 0, "To": [1, 3, 15], "your": 1, "ar": [1, 3, 8, 13, 14, 18], "few": 1, "possibl": 1, "approach": 1, "instal": 1, "copi": [1, 13], "pre": 1, "exist": [1, 19], "provid": [1, 8, 10, 12, 19], "templat": 1, "dev": [1, 3], "folder": 1, "see": [1, 13, 14], "below": 1, "more": [1, 13], "info": 1, "both": [1, 17], "what": 1, "go": 1, "them": [1, 3, 13, 19], "you": [1, 9, 18], "ll": [1, 19], "write": 1, "might": 1, "mean": 1, "modifi": [1, 16], "ones": 1, "etc": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "requir": [1, 3, 19], "vari": 1, "re": [1, 3, 12, 19], "navig": 1, "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "environ": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 14, 17, 19], "file": [1, 17], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 13], "free": 1, "howev": 1, "like": [1, 13], "m": 1, "docker": 1, "compos": 1, "d": [1, 13], "configur": 1, "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "enabl": 1, "guild_id": [1, 3], "monitor": 1, "prefix": [1, 4], "invok": [1, 11, 14], "default": 1, "mention": [1, 3], "allowed_rol": [1, 3, 14], "A": [1, 3, 6, 7, 8, 9, 11, 13, 14, 17, 19], "comma": 1, "seper": 1, "list": [1, 3], "id": [1, 3, 9, 14, 19], "do": [1, 9], "anyth": [1, 17], "reinstal": 1, "librari": 1, "includ": [1, 12], "other": [1, 19], "applic": 1, "certain": 1, "pydi": 2, "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], "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, "inform": [2, 15], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 11, 15], "http_session": [3, 17], "redis_sess": 3, "kwarg": [3, 6, 11, 14, 15, 19], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19], "implement": [3, 4, 8, 14, 15], "initialis": [3, 8], "int": [3, 4, 8, 9, 14, 17, 19], "clientsess": [3, 6, 17], "redissess": 3, "async_rediscach": 3, "str": [3, 4, 6, 7, 10, 13, 14, 15, 17, 19], "server": [3, 18], "If": [3, 6, 11, 13, 14, 19], "given": [3, 4, 7, 9, 10, 15, 16, 19], "oper": [3, 19], "type": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 14, 19], "instead": [3, 11, 19], "connector": 3, "resolv": [3, 13], "sync_app_command": 3, "true": [3, 6, 11, 15, 19], "all_extens": 3, "bool": [3, 6, 9, 11, 14, 19], "whether": [3, 6, 9], "intern": [3, 7], "becom": 3, "appear": 3, "still": 3, "empti": 3, "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "ensur": [3, 14, 18], "thei": [3, 13], "name": [3, 7, 13, 15, 17, 19], "alia": [3, 7, 11], "individu": 3, "either": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "call": [3, 11, 13, 19], "create_socket": [3, 4], "until": [3, 18], "readi": 3, "on_readi": 3, "inadequ": 3, "becaus": [3, 13], "second": [3, 11, 14, 19], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 11, 13, 15, 17, 19], "asynccach": [3, 7, 8], "get_or_fetch_channel": [3, 7, 9], "is_in_categori": [3, 7, 9], "clean_text_or_repli": [3, 7, 10], "cooldown": [3, 7], "commandoncooldown": [3, 7, 11], "p": [3, 7, 11], "r": [3, 7, 11], "block_duplicate_invoc": [3, 7, 11], "error_handl": [3, 7], "handle_forbidden_from_block": [3, 7, 12], "globalnameconflicterror": [3, 7, 13], "command_wrap": [3, 7, 13], "update_wrapper_glob": [3, 7, 13], "customlogg": [3, 7, 15], "get_logg": [3, 7, 15], "paste_servic": [3, 7], "max_paste_s": [3, 7, 17], "pasterespons": [3, 7, 17], "pastetoolongerror": [3, 7, 17], "pasteuploaderror": [3, 7, 17], "send_to_paste_servic": [3, 7, 17], "formatted_code_regex": [3, 7, 18], "raw_code_regex": [3, 7, 18], "create_task": [3, 7, 19], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 17], "put": [3, 6], "__str__": [3, 6], "transport": 4, "commun": 4, "loop": [4, 19], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 19], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "object": [6, 7, 8, 9, 11, 16, 19], "django": 6, "initi": [6, 19], "authent": 6, "keyword": [6, 7, 15], "argument": [6, 7, 8, 10, 11, 15, 16], "constructor": 6, "endpoint": 6, "raise_for_statu": 6, "send": [6, 14], "json": 6, "respons": [6, 17], "rais": [6, 9, 10, 11, 12, 13, 16, 17, 19], "ok": 6, "ani": [6, 18, 19], "extra": 6, "dict": 6, "204": 6, "No": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "clientrespons": 6, "check": [6, 9, 11, 12, 14, 19], "response_json": 6, "response_text": 6, "valueerror": [6, 17], "represent": 6, "appli": [7, 8, 11], "group": [7, 18], "root_alias": 7, "two": 7, "sequenc": [7, 13, 14], "act": 7, "top": 7, "level": [7, 15], "rather": 7, "than": [7, 17], "It": 7, "store": [7, 8], "attribut": [7, 13], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "caus": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 11], "callback": [7, 14], "interaction_check": [7, 14], "on_timeout": [7, 14], "__contains__": [7, 19], "cancel": [7, 19], "cancel_al": [7, 19], "schedule_at": [7, 19], "schedule_lat": [7, 19], "relat": [8, 15], "max_siz": [8, 17], "128": 8, "lru": 8, "coroutin": [8, 16, 19], "onc": 8, "exce": 8, "maximum": [8, 17], "size": [8, 17], "kei": 8, "fifo": 8, "order": [8, 19], "offset": 8, "arg_offset": 8, "posit": 8, "callabl": [8, 11, 13, 16], "wrap": [8, 13, 19], "target": 8, "item": 8, "helper": [9, 11, 16], "variou": 9, "channel_id": 9, "fetch": [9, 16], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 17], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": 9, "textchannel": 9, "ctx": [10, 14], "repli": [10, 11, 12], "context": 10, "badargu": 10, "wasn": 10, "els": 10, "commanderror": 11, "while": 11, "typevar": [11, 13, 19], "valu": [11, 13, 15], "signatur": 11, "cooldown_dur": 11, "send_notic": 11, "fals": 11, "args_preprocessor": 11, "prevent": [11, 19], "same": [11, 19], "float": [11, 14, 19], "length": 11, "notifi": 11, "about": 11, "paramspec": [11, 13], "iter": 11, "raw": [11, 18], "isn": 12, "conflict": 13, "global": 13, "annot": 13, "assign": 13, "__module__": 13, "__name__": 13, "__qualname__": 13, "__doc__": 13, "__annotations__": 13, "__dict__": 13, "ignored_conflict_nam": 13, "frozenset": 13, "look": [13, 19], "forwardref": 13, "evalu": 13, "detail": 13, "_p": 13, "_r": 13, "found": [13, 16, 19], "behav": 13, "functool": 13, "replac": 13, "For": 13, "__global__": 13, "state": 13, "won": 13, "reflect": 13, "typehint": 13, "style": 14, "buttonstyl": 14, "secondari": 14, "label": 14, "click": 14, "itself": 14, "carri": 14, "done": [14, 19], "origin": 14, "allowed_us": 14, "180": 14, "moder": 14, "who": 14, "last": 14, "ui": 14, "accept": 14, "input": 14, "similar": [14, 18], "occur": 14, "msg": 15, "sever": 15, "exc_info": 15, "houston": 15, "we": [15, 16], "interest": 15, "problem": 15, "mypi": 15, "recognis": 15, "interactin": 16, "member_id": 16, "failur": 16, "indic": 16, "could": 16, "coro": [16, 19], "sole": 16, "expect": 16, "add_rol": 16, "remove_rol": 16, "purpos": 16, "intend": 16, "131072": 17, "byte": 17, "typeddict": 17, "link": 17, "too": 17, "larg": 17, "encount": 17, "paste_url": 17, "file_nam": 17, "lexer": 17, "max": 17, "larger": 17, "reject": 17, "max_length": 17, "greater": 17, "long": [17, 19], "regular": 18, "express": 18, "pattern": 18, "pleas": 18, "sanitis": 18, "output": 18, "someth": 18, "urllib": 18, "pars": 18, "quot": 18, "format": 18, "execut": 19, "keep": 19, "track": 19, "must": 19, "distinguish": 19, "suggest": 19, "immedi": 19, "futur": 19, "uniqu": 19, "prematur": 19, "current": 19, "task_id": 19, "hashabl": 19, "unschedul": 19, "identifi": 19, "warn": 19, "doesn": 19, "known": 19, "alreadi": 19, "unawait": 19, "elsewher": 19, "timezon": 19, "awar": 19, "calcul": 19, "subtract": 19, "na\u00efv": 19, "utc": 19, "datetim": 19, "delai": 19, "suppressed_except": 19, "event_loop": 19, "otherwis": 19, "task_return": 19, "tupl": 19}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [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, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 2, 1, "", "wait_until_guild_available"]], "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, 4, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "commands"], [11, 0, 0, "-", "cooldown"], [12, 0, 0, "-", "error_handling"], [13, 0, 0, "-", "function"], [14, 0, 0, "-", "interactions"], [15, 0, 0, "-", "logging"], [16, 0, 0, "-", "members"], [17, 0, 0, "-", "paste_service"], [18, 0, 0, "-", "regex"], [19, 0, 0, "-", "scheduling"], [7, 4, 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, 4, 1, "", "get_or_fetch_channel"], [9, 4, 1, "", "is_in_category"]], "pydis_core.utils.commands": [[10, 4, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[11, 3, 1, "", "CommandOnCooldown"], [11, 5, 1, "", "P"], [11, 1, 1, "", "R"], [11, 4, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[11, 2, 1, "", "__init__"], [11, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[12, 4, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.function": [[13, 3, 1, "", "GlobalNameConflictError"], [13, 4, 1, "", "command_wraps"], [13, 4, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[14, 1, 1, "", "DeleteMessageButton"], [14, 1, 1, "", "ViewWithUserAndRoleCheck"]], "pydis_core.utils.interactions.DeleteMessageButton": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "interaction_check"], [14, 2, 1, "", "on_timeout"]], "pydis_core.utils.logging": [[15, 1, 1, "", "CustomLogger"], [15, 4, 1, "", "get_logger"]], "pydis_core.utils.logging.CustomLogger": [[15, 2, 1, "", "trace"]], "pydis_core.utils.members": [[16, 4, 1, "", "get_or_fetch_member"], [16, 4, 1, "", "handle_role_change"]], "pydis_core.utils.paste_service": [[17, 5, 1, "", "MAX_PASTE_SIZE"], [17, 1, 1, "", "PasteResponse"], [17, 3, 1, "", "PasteTooLongError"], [17, 3, 1, "", "PasteUploadError"], [17, 4, 1, "", "send_to_paste_service"]], "pydis_core.utils.regex": [[18, 5, 1, "", "DISCORD_INVITE"], [18, 5, 1, "", "FORMATTED_CODE_REGEX"], [18, 5, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[19, 1, 1, "", "Scheduler"], [19, 4, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[19, 2, 1, "", "__contains__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "cancel"], [19, 2, 1, "", "cancel_all"], [19, 2, 1, "", "schedule"], [19, 2, 1, "", "schedule_at"], [19, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:exception", "4": "py:function", "5": "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", "function", "Python function"], "5": ["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, "command": 10, "cooldown": 11, "error_handl": 12, "function": 13, "interact": 14, "log": 15, "member": 16, "paste_servic": 17, "regex": 18, "schedul": 19}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"Utils": [[7, "module-pydis_core.utils"]], "Submodules": [[7, "submodules"], [3, "submodules"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Exts": [[5, "module-pydis_core.exts"]], "channel": [[9, "module-pydis_core.utils.channel"]], "Local Development & Testing": [[1, "local-development-testing"]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "site_api": [[6, "module-pydis_core.site_api"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Pydis Core": [[3, "module-pydis_core"]], "Subpackages": [[3, "subpackages"]], "Changelog": [[0, "changelog"]], "commands": [[10, "module-pydis_core.utils.commands"]], "scheduling": [[19, "module-pydis_core.utils.scheduling"]], "function": [[13, "module-pydis_core.utils.function"]], "paste_service": [[17, "module-pydis_core.utils.paste_service"]], "members": [[16, "module-pydis_core.utils.members"]], "logging": [[15, "module-pydis_core.utils.logging"]], "regex": [[18, "module-pydis_core.utils.regex"]], "error_handling": [[12, "module-pydis_core.utils.error_handling"]], "interactions": [[14, "module-pydis_core.utils.interactions"]], "cooldown": [[11, "module-pydis_core.utils.cooldown"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__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"]], "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"]], "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.commands"], [11, "module-pydis_core.utils.cooldown"], [12, "module-pydis_core.utils.error_handling"], [13, "module-pydis_core.utils.function"], [14, "module-pydis_core.utils.interactions"], [15, "module-pydis_core.utils.logging"], [16, "module-pydis_core.utils.members"], [17, "module-pydis_core.utils.paste_service"], [18, "module-pydis_core.utils.regex"], [19, "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"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "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"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[10, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[10, "module-pydis_core.utils.commands"]], "commandoncooldown": [[11, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[11, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[11, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[11, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[12, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[12, "module-pydis_core.utils.error_handling"]], "globalnameconflicterror": [[13, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.command_wraps"]], "pydis_core.utils.function": [[13, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[13, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[14, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[14, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[14, "module-pydis_core.utils.interactions"]], "customlogger (class in pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[15, "pydis_core.utils.logging.get_logger"]], "pydis_core.utils.logging": [[15, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[15, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[16, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[16, "module-pydis_core.utils.members"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[17, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteuploaderror": [[17, "pydis_core.utils.paste_service.PasteUploadError"]], "pydis_core.utils.paste_service": [[17, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[17, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[18, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[18, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[19, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[19, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[19, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file -- cgit v1.2.3