From a04595198ded086fa2f39201ca5f9afa2f696d4a Mon Sep 17 00:00:00 2001
From: ChrisLovering Create a new loop (asyncio.AbstractEventLoop) β The event loop to use when creating the
- host ( port ( loop (asyncio.AbstractEventLoop) β The event loop to use when creating the
+ host ( port ( Use Use Initialise the base bot instance. guild_id ( allowed_roles ( guild_id ( allowed_roles ( http_session (aiohttp.ClientSession) β The session to use for the bot. redis_session ( api_client ( statsd_url ( redis_session ( api_client ( statsd_url (
AsyncStatsClient.
-
@@ -366,10 +366,10 @@
-
asyncio.loop.create_datagram_endpoint.str) β The host to connect to.int) β The port to connect to.asyncio.loop.create_datagram_endpoint.str) β The host to connect to.int) β The port to connect to.
diff --git a/v7.2.2/output/botcore.exts.html b/v7.2.2/output/botcore.exts.html
index 2dd2a3f9..d36e20a2 100644
--- a/v7.2.2/output/botcore.exts.html
+++ b/v7.2.2/output/botcore.exts.html
@@ -2,7 +2,7 @@
-
+
@@ -201,7 +201,7 @@
asyncio.loop.create_datagram_endpoint from the loop given on init to create a socket.asyncio.loop.create_datagram_endpoint from the loop given on init to create a socket.
-
-
int) β The ID of the guild use for wait_until_guild_available().list) β A list of role IDs that the bot is allowed to mention.int) β The ID of the guild use for wait_until_guild_available().list) β A list of role IDs that the bot is allowed to mention.Optional[RedisSession]) β The async_rediscache.RedisSession to use for the bot.Optional[APIClient]) β The botcore.site_api.APIClient instance to use for the bot.Optional[str]) β The URL of the statsd server to use for the bot. If not given,
+Optional[RedisSession]) β The async_rediscache.RedisSession to use for the bot.Optional[APIClient]) β The botcore.site_api.APIClient instance to use for the bot.Optional[str]) β The URL of the statsd server to use for the bot. If not given,
a dummy statsd client will be created.
Add the given cog to the bot and log the operation.
Add command as normal and then add its root aliases to the bot.
Not implemented! Re-instantiate the bot instead of attempting to re-use a closed one.
Close the Discord connection, and the aiohttp session, connector, statsd client, and resolver.
Load all the extensions within the given module and save them to self.all_extensions.
This should be ran in a task on the event loop to avoid deadlocks caused by wait_for calls.
Log the given message to #dev-log.
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.
@@ -450,8 +450,8 @@ will not be set and guild_available_but_cache_empty event will be e async on_guild_unavailable(guild)[source]#Clear the internal guild available event when self.guild_id becomes unavailable.
Ping all required services on setup to ensure they are up before starting.
Individual root aliases cannot be removed by this function. To remove them, either remove the entire command or manually edit bot.all_commands.
@@ -488,8 +488,8 @@ To remove them, either remove the entire command or manually edit bot.all_AsyncStatsClient.create_socket
and ping_services().
@@ -501,8 +501,8 @@ and
-Bases: Exception
Bases: Exception
Exception class for startup errors.
Bases: object
Bases: object
A wrapper for the Django Site API.
Initialize a new APIClient instance.
site_api_url (str) β The URL of the site API.
site_api_token (str) β The token to use for authentication.
site_api_url (str) β The URL of the site API.
site_api_token (str) β The token to use for authentication.
session_kwargs β Keyword arguments to pass to the aiohttp.ClientSession constructor.
Close the aiohttp session.
Send a DELETE request to the site API and return the JSON response.
endpoint (str) β The endpoint to send the request to.
raise_for_status (bool) β Whether or not to raise an exception if the response is not OK.
endpoint (str) β The endpoint to send the request to.
raise_for_status (bool) β Whether or not to raise an exception if the response is not OK.
**kwargs β Any extra keyword arguments to pass to aiohttp.request().
The JSON response the API returns, or None if the response is 204 No Content.
Equivalent to APIClient.request() with GET passed as the method.
Raise ResponseCodeError for non-OK response if an exception should be raised.
response (aiohttp.ClientResponse) β The response to check.
should_raise (bool) β Whether or not to raise an exception.
should_raise (bool) β Whether or not to raise an exception.
ResponseCodeError β If the response is not OK and should_raise is True.
Equivalent to APIClient.request() with PATCH passed as the method.
Equivalent to APIClient.request() with POST passed as the method.
Equivalent to APIClient.request() with PUT passed as the method.
Send an HTTP request to the site API and return the JSON response.
method (str) β The HTTP method to use.
endpoint (str) β The endpoint to send the request to.
raise_for_status (bool) β Whether or not to raise an exception if the response is not OK.
method (str) β The HTTP method to use.
endpoint (str) β The endpoint to send the request to.
raise_for_status (bool) β Whether or not to raise an exception if the response is not OK.
**kwargs β Any extra keyword arguments to pass to aiohttp.request().
The JSON response the API returns.
ResponseCodeError β If the response is not OK and raise_for_status is True.
Bases: ValueError
Bases: ValueError
Raised in APIClient.request() when a non-OK HTTP response is received.
Initialize a new ResponseCodeError instance.
response (aiohttp.ClientResponse) β The response object from the request.
response_json (Optional[dict]) β The JSON response returned from the request, if any.
response_text (Optional[str]) β The text of the request, if any.
response_json (Optional[dict]) β The JSON response returned from the request, if any.
response_text (Optional[str]) β The text of the request, if any.
Bases: object
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.
@@ -353,13 +353,13 @@ __call__(arg_offset=0)[source]#Decorator for async cache.
arg_offset (int) β The offset for the position of the key argument.
arg_offset (int) β The offset for the position of the key argument.
A decorator to wrap the target function.
Initialise a new AsyncCache instance.
Clear cache instance.
Attempt to get or fetch the given channel_id from the bots cache, and return it.
bot (Bot) β The discord.ext.commands.Bot instance to use for getting/fetching.
channel_id (int) β The channel to get/fetch.
channel_id (int) β The channel to get/fetch.
discord.InvalidData β An unknown channel type was received from Discord.
discord.HTTPException β Retrieving the channel failed.
discord.Forbidden β You do not have permission to fetch this channel.
The channel from the ID.
Return whether the given channel in the the category with the id category_id.
channel (TextChannel) β The channel to check.
category_id (int) β The category to check for.
category_id (int) β The category to check for.
A bool depending on whether the channel is in the category.
Return an unqualified name given a qualified module/package name.
name (str) β The module name to unqualify.
name (str) β The module name to unqualify.
The unqualified module name.
Bases: Logger
Custom implementation of the logging.Logger class with an added trace method.
Bases: Logger
Custom implementation of the logging.Logger class with an added trace method.
Utility to make mypy recognise that logger is of type CustomLogger.
An instance of the CustomLogger class.
Attempt to get a member from cache; on failure fetch from the API.
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.
Handle errors that we expect to be raised from
discord.Member.add_roles and discord.Member.remove_roles.
member (Member) β The member that is being modified for logging purposes.
coro (Callable[[Role], Coroutine]) β This is intended to be discord.Member.add_roles or discord.Member.remove_roles.
coro (Callable[[Role], Coroutine]) β This is intended to be discord.Member.add_roles or discord.Member.remove_roles.
role (Role) β The role to be passed to coro.
Warning
This regex pattern will capture until a whitespace, if you are to use the βinviteβ capture group in
any HTTP requests or similar. Please ensure you sanitise the output using something
-such as urllib.parse.quote().
urllib.parse.quote().
Bases: object
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
instanceβs log messages from other instances. Using the name of the class or module containing
@@ -358,16 +358,16 @@ the same ID used to schedule it.
Return True if a task with the given task_id is currently scheduled.
Return True if a task with the given task_id is currently scheduled.
Initialize a new Scheduler instance.
Unschedule the task identified by task_id. Log a warning if the task doesnβt exist.
Unschedule all known tasks.
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.
timeIf 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.
-- Parameters
+- Parameters:
-time (datetime) β The time to start the task.
-task_id (Hashable) β A unique ID to create the task with.
-coroutine (Coroutine) β The function to be called.
+time (datetime) β The time to start the task.
+task_id (Hashable) β A unique ID to create the task with.
+coroutine (Coroutine) β The function to be called.
-- Return type
--
+
- Return type:
+-
@@ -457,15 +457,15 @@ prevents unawaited coroutine warnings. Donβt pass a coroutine thatβll be re-
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.
-- Parameters
+- Parameters:
-delay (Union[int, float]) β How long to wait before starting the task.
-task_id (Hashable) β A unique ID to create the task with.
-coroutine (Coroutine) β The function to be called.
+delay (Union[int, float]) β How long to wait before starting the task.
+task_id (Hashable) β A unique ID to create the task with.
+coroutine (Coroutine) β The function to be called.
-- Return type
--
+
- Return type:
+-
@@ -475,23 +475,23 @@ prevents unawaited coroutine warnings. Donβt pass a coroutine thatβll be re-
-
create_task(coro, *, suppressed_exceptions=(), event_loop=None, **kwargs)[source]#
-Wrapper for creating an asyncio.Task which logs exceptions raised in the task.
+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.
-- Parameters
+- Parameters:
-coro (Coroutine[Any, Any, TypeVar(TASK_RETURN)]) β The function to call.
-suppressed_exceptions (tuple[type[Exception]]) β Exceptions to be handled by the task.
-event_loop (asyncio.AbstractEventLoop) β The loop to create the task from.
-kwargs β Passed to asyncio.create_task().
+coro (Coroutine[Any, Any, TypeVar(TASK_RETURN)]) β The function to call.
+suppressed_exceptions (tuple[type[Exception]]) β Exceptions to be handled by the task.
+event_loop (asyncio.AbstractEventLoop) β The loop to create the task from.
+kwargs β Passed to asyncio.create_task().
-- Returns
+- Returns:
The wrapped task.
-- Return type
--
+
- Return type:
+-
diff --git a/v7.2.2/searchindex.js b/v7.2.2/searchindex.js
index 32a3bdc2..ea4fb088 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, 3, 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"]], "Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "caching": [[7, "module-botcore.utils.caching"]], "logging": [[9, "module-botcore.utils.logging"]], "channel": [[8, "module-botcore.utils.channel"]], "regex": [[11, "module-botcore.utils.regex"]], "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"]], "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, 3, 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": {"Utils": [[6, "module-botcore.utils"]], "Submodules": [[6, "submodules"], [2, "submodules"]], "channel": [[8, "module-botcore.utils.channel"]], "members": [[10, "module-botcore.utils.members"]], "caching": [[7, "module-botcore.utils.caching"]], "regex": [[11, "module-botcore.utils.regex"]], "logging": [[9, "module-botcore.utils.logging"]], "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 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
--
cgit v1.2.3