From 574f77ba8e2d1f1640ac0318b992758d3197abbe Mon Sep 17 00:00:00 2001 From: wookie184 Date: Sun, 19 May 2024 01:32:44 +0000 Subject: Deploying to docs from @ python-discord/bot-core@c296ba30d359c7cd92fd5b4a40d7ef898d603bff 🚀 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v11.1.0/.buildinfo | 2 +- v11.1.0/_static/basic.css | 2 +- v11.1.0/_static/doctools.js | 2 +- v11.1.0/_static/language_data.js | 4 +- v11.1.0/_static/searchtools.js | 165 +++++++++++++-------- v11.1.0/changelog.html | 8 +- v11.1.0/development.html | 12 +- v11.1.0/genindex.html | 6 +- v11.1.0/index.html | 12 +- v11.1.0/index_redirect.html | 6 +- v11.1.0/output/pydis_core.async_stats.html | 14 +- v11.1.0/output/pydis_core.exts.html | 8 +- v11.1.0/output/pydis_core.html | 80 +++++----- v11.1.0/output/pydis_core.site_api.html | 34 ++--- v11.1.0/output/pydis_core.utils.caching.html | 16 +- v11.1.0/output/pydis_core.utils.channel.html | 12 +- v11.1.0/output/pydis_core.utils.checks.html | 22 +-- v11.1.0/output/pydis_core.utils.commands.html | 10 +- v11.1.0/output/pydis_core.utils.cooldown.html | 20 +-- ...dis_core.utils.error_handling.commands.abc.html | 16 +- .../pydis_core.utils.error_handling.commands.html | 26 ++-- ...core.utils.error_handling.commands.manager.html | 16 +- .../output/pydis_core.utils.error_handling.html | 12 +- v11.1.0/output/pydis_core.utils.function.html | 20 +-- v11.1.0/output/pydis_core.utils.html | 16 +- v11.1.0/output/pydis_core.utils.interactions.html | 26 ++-- v11.1.0/output/pydis_core.utils.lock.html | 30 ++-- v11.1.0/output/pydis_core.utils.logging.html | 16 +- v11.1.0/output/pydis_core.utils.members.html | 12 +- v11.1.0/output/pydis_core.utils.messages.html | 10 +- v11.1.0/output/pydis_core.utils.pagination.html | 26 ++-- v11.1.0/output/pydis_core.utils.paste_service.html | 34 ++--- v11.1.0/output/pydis_core.utils.regex.html | 14 +- v11.1.0/output/pydis_core.utils.scheduling.html | 26 ++-- v11.1.0/py-modindex.html | 6 +- v11.1.0/search.html | 6 +- v11.1.0/searchindex.js | 2 +- v11.1.0/versions.html | 6 +- 38 files changed, 400 insertions(+), 355 deletions(-) (limited to 'v11.1.0') diff --git a/v11.1.0/.buildinfo b/v11.1.0/.buildinfo index fe015aeb..84f5dcec 100644 --- a/v11.1.0/.buildinfo +++ b/v11.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: fb009f0df396fdbd0fab54da0f919017 +config: d55e1d01afc3a05ebd7e5e3231bcfbfe tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/v11.1.0/_static/basic.css b/v11.1.0/_static/basic.css index 30fee9d0..f316efcb 100644 --- a/v11.1.0/_static/basic.css +++ b/v11.1.0/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/v11.1.0/_static/doctools.js b/v11.1.0/_static/doctools.js index d06a71d7..4d67807d 100644 --- a/v11.1.0/_static/doctools.js +++ b/v11.1.0/_static/doctools.js @@ -4,7 +4,7 @@ * * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ diff --git a/v11.1.0/_static/language_data.js b/v11.1.0/_static/language_data.js index 250f5665..367b8ed8 100644 --- a/v11.1.0/_static/language_data.js +++ b/v11.1.0/_static/language_data.js @@ -5,7 +5,7 @@ * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -13,7 +13,7 @@ var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; -/* Non-minified version is copied as a separate JS file, is available */ +/* Non-minified version is copied as a separate JS file, if available */ /** * Porter Stemmer diff --git a/v11.1.0/_static/searchtools.js b/v11.1.0/_static/searchtools.js index 7918c3fa..92da3f8b 100644 --- a/v11.1.0/_static/searchtools.js +++ b/v11.1.0/_static/searchtools.js @@ -4,7 +4,7 @@ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2024 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -99,7 +99,7 @@ const _displayItem = (item, searchTerms, highlightTerms) => { .then((data) => { if (data) listItem.appendChild( - Search.makeSearchSummary(data, searchTerms) + Search.makeSearchSummary(data, searchTerms, anchor) ); // highlight search terms in the summary if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js @@ -116,8 +116,8 @@ const _finishSearch = (resultCount) => { ); else Search.status.innerText = _( - `Search finished, found ${resultCount} page(s) matching the search query.` - ); + "Search finished, found ${resultCount} page(s) matching the search query." + ).replace('${resultCount}', resultCount); }; const _displayNextItem = ( results, @@ -137,6 +137,22 @@ const _displayNextItem = ( // search finished, update title and status message else _finishSearch(resultCount); }; +// Helper function used by query() to order search results. +// Each input is an array of [docname, title, anchor, descr, score, filename]. +// Order the results by score (in opposite order of appearance, since the +// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically. +const _orderResultsByScoreThenName = (a, b) => { + const leftScore = a[4]; + const rightScore = b[4]; + if (leftScore === rightScore) { + // same score: sort alphabetically + const leftTitle = a[1].toLowerCase(); + const rightTitle = b[1].toLowerCase(); + if (leftTitle === rightTitle) return 0; + return leftTitle > rightTitle ? -1 : 1; // inverted is intentional + } + return leftScore > rightScore ? 1 : -1; +}; /** * Default splitQuery function. Can be overridden in ``sphinx.search`` with a @@ -160,13 +176,26 @@ const Search = { _queued_query: null, _pulse_status: -1, - htmlToText: (htmlString) => { + htmlToText: (htmlString, anchor) => { const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); - htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + for (const removalQuery of [".headerlinks", "script", "style"]) { + htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() }); + } + if (anchor) { + const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`); + if (anchorContent) return anchorContent.textContent; + + console.warn( + `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.` + ); + } + + // if anchor not specified or not found, fall back to main content const docContent = htmlElement.querySelector('[role="main"]'); - if (docContent !== undefined) return docContent.textContent; + if (docContent) return docContent.textContent; + console.warn( - "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template." ); return ""; }, @@ -239,16 +268,7 @@ const Search = { else Search.deferQuery(query); }, - /** - * execute search (requires search index to be loaded) - */ - query: (query) => { - const filenames = Search._index.filenames; - const docNames = Search._index.docnames; - const titles = Search._index.titles; - const allTitles = Search._index.alltitles; - const indexEntries = Search._index.indexentries; - + _parseQuery: (query) => { // stem the search terms and add them to the correct list const stemmer = new Stemmer(); const searchTerms = new Set(); @@ -284,16 +304,32 @@ const Search = { // console.info("required: ", [...searchTerms]); // console.info("excluded: ", [...excludedTerms]); - // array of [docname, title, anchor, descr, score, filename] - let results = []; + return [query, searchTerms, excludedTerms, highlightTerms, objectTerms]; + }, + + /** + * execute search (requires search index to be loaded) + */ + _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => { + const filenames = Search._index.filenames; + const docNames = Search._index.docnames; + const titles = Search._index.titles; + const allTitles = Search._index.alltitles; + const indexEntries = Search._index.indexentries; + + // Collect multiple result groups to be sorted separately and then ordered. + // Each is an array of [docname, title, anchor, descr, score, filename]. + const normalResults = []; + const nonMainIndexResults = []; + _removeChildren(document.getElementById("search-progress")); - const queryLower = query.toLowerCase(); + const queryLower = query.toLowerCase().trim(); for (const [title, foundTitles] of Object.entries(allTitles)) { - if (title.toLowerCase().includes(queryLower) && (queryLower.length >= title.length/2)) { + if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) { for (const [file, id] of foundTitles) { let score = Math.round(100 * queryLower.length / title.length) - results.push([ + normalResults.push([ docNames[file], titles[file] !== title ? `${titles[file]} > ${title}` : title, id !== null ? "#" + id : "", @@ -308,46 +344,47 @@ const Search = { // search for explicit entries in index directives for (const [entry, foundEntries] of Object.entries(indexEntries)) { if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) { - for (const [file, id] of foundEntries) { - let score = Math.round(100 * queryLower.length / entry.length) - results.push([ + for (const [file, id, isMain] of foundEntries) { + const score = Math.round(100 * queryLower.length / entry.length); + const result = [ docNames[file], titles[file], id ? "#" + id : "", null, score, filenames[file], - ]); + ]; + if (isMain) { + normalResults.push(result); + } else { + nonMainIndexResults.push(result); + } } } } // lookup as object objectTerms.forEach((term) => - results.push(...Search.performObjectSearch(term, objectTerms)) + normalResults.push(...Search.performObjectSearch(term, objectTerms)) ); // lookup as search terms in fulltext - results.push(...Search.performTermsSearch(searchTerms, excludedTerms)); + normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms)); // let the scorer override scores with a custom scoring function - if (Scorer.score) results.forEach((item) => (item[4] = Scorer.score(item))); - - // now sort the results by score (in opposite order of appearance, since the - // display function below uses pop() to retrieve items) and then - // alphabetically - results.sort((a, b) => { - const leftScore = a[4]; - const rightScore = b[4]; - if (leftScore === rightScore) { - // same score: sort alphabetically - const leftTitle = a[1].toLowerCase(); - const rightTitle = b[1].toLowerCase(); - if (leftTitle === rightTitle) return 0; - return leftTitle > rightTitle ? -1 : 1; // inverted is intentional - } - return leftScore > rightScore ? 1 : -1; - }); + if (Scorer.score) { + normalResults.forEach((item) => (item[4] = Scorer.score(item))); + nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item))); + } + + // Sort each group of results by score and then alphabetically by name. + normalResults.sort(_orderResultsByScoreThenName); + nonMainIndexResults.sort(_orderResultsByScoreThenName); + + // Combine the result groups in (reverse) order. + // Non-main index entries are typically arbitrary cross-references, + // so display them after other results. + let results = [...nonMainIndexResults, ...normalResults]; // remove duplicate search results // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept @@ -361,7 +398,12 @@ const Search = { return acc; }, []); - results = results.reverse(); + return results.reverse(); + }, + + query: (query) => { + const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query); + const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms); // for debugging //Search.lastresults = results.slice(); // a copy @@ -466,14 +508,18 @@ const Search = { // add support for partial matches if (word.length > 2) { const escapedWord = _escapeRegExp(word); - Object.keys(terms).forEach((term) => { - if (term.match(escapedWord) && !terms[word]) - arr.push({ files: terms[term], score: Scorer.partialTerm }); - }); - Object.keys(titleTerms).forEach((term) => { - if (term.match(escapedWord) && !titleTerms[word]) - arr.push({ files: titleTerms[word], score: Scorer.partialTitle }); - }); + if (!terms.hasOwnProperty(word)) { + Object.keys(terms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: terms[term], score: Scorer.partialTerm }); + }); + } + if (!titleTerms.hasOwnProperty(word)) { + Object.keys(titleTerms).forEach((term) => { + if (term.match(escapedWord)) + arr.push({ files: titleTerms[term], score: Scorer.partialTitle }); + }); + } } // no match but word was a required one @@ -496,9 +542,8 @@ const Search = { // create the mapping files.forEach((file) => { - if (fileMap.has(file) && fileMap.get(file).indexOf(word) === -1) - fileMap.get(file).push(word); - else fileMap.set(file, [word]); + if (!fileMap.has(file)) fileMap.set(file, [word]); + else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word); }); }); @@ -549,8 +594,8 @@ const Search = { * search summary for a given text. keywords is a list * of stemmed words. */ - makeSearchSummary: (htmlText, keywords) => { - const text = Search.htmlToText(htmlText); + makeSearchSummary: (htmlText, keywords, anchor) => { + const text = Search.htmlToText(htmlText, anchor); if (text === "") return null; const textLower = text.toLowerCase(); diff --git a/v11.1.0/changelog.html b/v11.1.0/changelog.html index 24acd604..6f728f44 100644 --- a/v11.1.0/changelog.html +++ b/v11.1.0/changelog.html @@ -5,14 +5,14 @@ - + Changelog - Pydis Core v11.1.0 - + @@ -390,7 +390,7 @@
-

Changelog#

+

Changelog

11.1.0 30th March 2024

  • [Support] #210: Drop the restriction that meant fakeredis could not be installed on Python 3.12 as lupa now supports 3.12

  • @@ -811,7 +811,7 @@ - + diff --git a/v11.1.0/development.html b/v11.1.0/development.html index 45a936f5..9c74baef 100644 --- a/v11.1.0/development.html +++ b/v11.1.0/development.html @@ -5,14 +5,14 @@ - + Local Development & Testing - Pydis Core v11.1.0 - + @@ -390,7 +390,7 @@
    -

    Local Development & Testing#

    +

    Local Development & Testing

    To test your features locally, there are a few possible approaches:

    1. Install your local copy of pydis_core into a pre-existing project such as bot

    2. @@ -402,7 +402,7 @@ This might mean adding new commands, modifying existing ones, changing utilities The steps below should provide most of the groundwork you need, but the exact requirements will vary by the feature you’re working on.

      -

      Option 1#

      +

      Option 1

      1. Navigate to the project you want to install bot-core in, such as bot or sir-lancebot

      2. Run pip install /path/to/pydis_core in the project’s environment

        @@ -418,7 +418,7 @@ To load new changes, run the install command again.

      -

      Option 2#

      +

      Option 2

      1. Copy the bot template folder to the root of the bot-core project. This copy is going to be git-ignored, so you’re free to modify it however you like.

      2. @@ -518,7 +518,7 @@ to help you test out certain features. Use them as needed.

        - + diff --git a/v11.1.0/genindex.html b/v11.1.0/genindex.html index bec97891..652e632c 100644 --- a/v11.1.0/genindex.html +++ b/v11.1.0/genindex.html @@ -4,13 +4,13 @@ - Index - Pydis Core v11.1.0 + Index - Pydis Core v11.1.0 - + @@ -1143,7 +1143,7 @@ - + diff --git a/v11.1.0/index.html b/v11.1.0/index.html index bbebd408..393b852f 100644 --- a/v11.1.0/index.html +++ b/v11.1.0/index.html @@ -5,14 +5,14 @@ - + Pydis Core v11.1.0 - + @@ -390,10 +390,10 @@
        -

        Bot Core Project Documentation#

        +

        Bot Core Project Documentation

        -

        Reference#

        +

        Reference

        Modules:

          @@ -471,7 +471,7 @@
        -

        Extras#

        +

        Extras

        • Index

        • Search Page

        • @@ -521,7 +521,7 @@ - + diff --git a/v11.1.0/index_redirect.html b/v11.1.0/index_redirect.html index aaf1d82c..780838bc 100644 --- a/v11.1.0/index_redirect.html +++ b/v11.1.0/index_redirect.html @@ -7,15 +7,15 @@ - + Pydis Core v11.1.0 - + @@ -55,7 +55,7 @@ - + diff --git a/v11.1.0/output/pydis_core.async_stats.html b/v11.1.0/output/pydis_core.async_stats.html index b2a6a60a..43a6364b 100644 --- a/v11.1.0/output/pydis_core.async_stats.html +++ b/v11.1.0/output/pydis_core.async_stats.html @@ -5,14 +5,14 @@ - + async_stats - Pydis Core v11.1.0 - + @@ -390,16 +390,16 @@
          -

          async_stats#

          +

          async_stats

          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:
          @@ -416,7 +416,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:
          @@ -502,7 +502,7 @@ - + diff --git a/v11.1.0/output/pydis_core.exts.html b/v11.1.0/output/pydis_core.exts.html index b858c3ab..deef1a00 100644 --- a/v11.1.0/output/pydis_core.exts.html +++ b/v11.1.0/output/pydis_core.exts.html @@ -5,14 +5,14 @@ - + Exts - Pydis Core v11.1.0 - + @@ -390,7 +390,7 @@
          -

          Exts#

          +

          Exts

          Reusable Discord cogs.

          @@ -444,7 +444,7 @@ - + diff --git a/v11.1.0/output/pydis_core.html b/v11.1.0/output/pydis_core.html index 3d758d22..700597df 100644 --- a/v11.1.0/output/pydis_core.html +++ b/v11.1.0/output/pydis_core.html @@ -5,14 +5,14 @@ - + Pydis Core - Pydis Core v11.1.0 - + @@ -390,16 +390,16 @@
          -

          Pydis Core#

          +

          Pydis Core

          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]#
          +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.

          -guild_id[source]#
          +guild_id[source]

          ID of the guild that the bot belongs to.

          Type:
          @@ -410,7 +410,7 @@
          -http_session[source]#
          +http_session[source]

          The http session used for sending out HTTP requests.

          Type:
          @@ -421,7 +421,7 @@
          -api_client[source]#
          +api_client[source]

          The API client used for communications with the site service.

          Type:
          @@ -432,7 +432,7 @@
          -statsd_url[source]#
          +statsd_url[source]

          The url that statsd sends metrics to.

          Type:
          @@ -443,7 +443,7 @@
          -redis_session[source]#
          +redis_session[source]

          The redis session used to communicate with the Redis instance.

          Type:
          @@ -454,7 +454,7 @@
          -stats[source]#
          +stats[source]

          The statsd client that sends metrics.

          Type:
          @@ -465,7 +465,7 @@
          -all_extensions[source]#
          +all_extensions[source]

          All extensions that were found within the module passed to self.load_extensions. Use self.extensions to get the loaded extensions.

          @@ -477,7 +477,7 @@
          -__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:
          @@ -496,7 +496,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:
          @@ -507,7 +507,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:
          @@ -518,7 +518,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:
          @@ -529,7 +529,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:
          @@ -540,7 +540,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:
          @@ -554,7 +554,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:
          @@ -565,7 +565,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.

          @@ -578,7 +578,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:
          @@ -589,7 +589,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:
          @@ -600,7 +600,7 @@ will not be set and guild_available_but_cache_empty event will be e
          -async process_commands(message)[source]#
          +async process_commands(message)[source]

          Overwrite default Discord.py behaviour to process commands only after ensuring extensions are loaded.

          This extension check is only relevant for clients that make use of pydis_core.BotBase.load_extensions.

          @@ -612,7 +612,7 @@ will not be set and guild_available_but_cache_empty event will be e
          -register_command_error_manager(manager)[source]#
          +register_command_error_manager(manager)[source]

          Bind an instance of the command error manager to both the bot and the command tree.

          The reason this doesn’t happen in the constructor is because error handlers might need an instance of the bot. So registration needs to happen once the bot instance has been created.

          @@ -625,7 +625,7 @@ So registration needs to happen once the bot instance has been created.

          -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.

          @@ -638,7 +638,7 @@ To remove them, either remove the entire command or manually edit bot.all_
          -async setup_hook()[source]#
          +async setup_hook()[source]

          An async init to startup generic services.

          Connects to statsd, and calls AsyncStatsClient.create_socket @@ -652,7 +652,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.

          @@ -667,14 +667,14 @@ gateway event before giving up and thus not populating the cache for unavailable
          -exception EmptyPaginatorEmbedError[source]#
          +exception EmptyPaginatorEmbedError[source]

          Bases: Exception

          Raised when attempting to paginate with empty contents.

          -class LinePaginator(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]#
          +class LinePaginator(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]

          Bases: Paginator

          A class that aids in paginating code blocks for Discord messages.

          @@ -691,14 +691,14 @@ gateway event before giving up and thus not populating the cache for unavailable
          -__init__(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]#
          +__init__(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]

          This function overrides the Paginator.__init__ from inside discord.ext.commands.

          It overrides in order to allow us to configure the maximum number of lines per page.

          -add_line(line='', *, empty=False)[source]#
          +add_line(line='', *, empty=False)[source]

          Adds a line to the current page.

          If a line on a page exceeds max_size characters, then max_size will go up to scale_to_size for a single line before creating a new page for the overflow words. If it @@ -726,7 +726,7 @@ page at a reasonable size.

          -async classmethod paginate(pagination_emojis, lines, ctx, embed, *, prefix='', suffix='', max_lines=None, max_size=500, scale_to_size=4000, empty=True, restrict_to_user=None, timeout=300, footer_text=None, url=None, exception_on_empty_embed=False, reply=False, allowed_roles=None)[source]#
          +async classmethod paginate(pagination_emojis, lines, ctx, embed, *, prefix='', suffix='', max_lines=None, max_size=500, scale_to_size=4000, empty=True, restrict_to_user=None, timeout=300, footer_text=None, url=None, exception_on_empty_embed=False, reply=False, allowed_roles=None)[source]

          Use a paginator and set of reactions to provide pagination over a set of lines.

          The reactions are used to switch page, or to finish with pagination.

          When used, this will send a message using ctx.send() and apply a set of reactions to it. These reactions may @@ -770,24 +770,24 @@ to any user with a moderation role.

          -class PaginationEmojis(**data)[source]#
          +class PaginationEmojis(**data)[source]

          Bases: BaseModel

          The emojis that will be used for pagination.

          -model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
          +model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

          -model_config: ClassVar[ConfigDict] = {}#
          +model_config: ClassVar[ConfigDict] = {}

          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

          -model_fields: ClassVar[dict[str, FieldInfo]] = {'delete': FieldInfo(annotation=str, required=False, default='<:trashcan:637136429717389331>'), 'first': FieldInfo(annotation=str, required=False, default='⏮'), 'last': FieldInfo(annotation=str, required=False, default='⏭'), 'left': FieldInfo(annotation=str, required=False, default='⬅'), 'right': FieldInfo(annotation=str, required=False, default='➡')}#
          +model_fields: ClassVar[dict[str, FieldInfo]] = {'delete': FieldInfo(annotation=str, required=False, default='<:trashcan:637136429717389331>'), 'first': FieldInfo(annotation=str, required=False, default='⏮'), 'last': FieldInfo(annotation=str, required=False, default='⏭'), 'left': FieldInfo(annotation=str, required=False, default='⬅'), 'right': FieldInfo(annotation=str, required=False, default='➡')}

          Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

          This replaces Model.__fields__ from Pydantic V1.

          @@ -797,18 +797,18 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
          -exception StartupError(base)[source]#
          +exception StartupError(base)[source]

          Bases: Exception

          Exception class for startup errors.

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

          Subpackages#

          +

          Subpackages

          • Exts
          • @@ -925,7 +925,7 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
          -

          Submodules#

          +

          Submodules

          • async_stats
              @@ -1073,7 +1073,7 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
          - + diff --git a/v11.1.0/output/pydis_core.site_api.html b/v11.1.0/output/pydis_core.site_api.html index 492e3290..b956c086 100644 --- a/v11.1.0/output/pydis_core.site_api.html +++ b/v11.1.0/output/pydis_core.site_api.html @@ -5,14 +5,14 @@ - + site_api - Pydis Core v11.1.0 - + @@ -390,16 +390,16 @@
          -

          site_api#

          +

          site_api

          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:
          @@ -414,7 +414,7 @@
          -async close()[source]#
          +async close()[source]

          Close the aiohttp session.

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

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

          Return type:
          @@ -436,7 +436,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:
          @@ -447,7 +447,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:
          @@ -467,7 +467,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:
          @@ -478,7 +478,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:
          @@ -489,7 +489,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:
          @@ -500,7 +500,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:
          @@ -527,12 +527,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:
          @@ -547,7 +547,7 @@
          -__str__()[source]#
          +__str__()[source]

          Return a string representation of the error.

          @@ -640,7 +640,7 @@ - + diff --git a/v11.1.0/output/pydis_core.utils.caching.html b/v11.1.0/output/pydis_core.utils.caching.html index 80238eac..23a50b22 100644 --- a/v11.1.0/output/pydis_core.utils.caching.html +++ b/v11.1.0/output/pydis_core.utils.caching.html @@ -5,14 +5,14 @@ - + caching - Pydis Core v11.1.0 - + @@ -390,18 +390,18 @@
          -

          caching#

          +

          caching

          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:
          @@ -418,7 +418,7 @@
          -__init__(max_size=128)[source]#
          +__init__(max_size=128)[source]

          Initialise a new AsyncCache instance.

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

          Clear cache instance.

          Return type:
          @@ -516,7 +516,7 @@ - + diff --git a/v11.1.0/output/pydis_core.utils.channel.html b/v11.1.0/output/pydis_core.utils.channel.html index b7e05d9c..330dead1 100644 --- a/v11.1.0/output/pydis_core.utils.channel.html +++ b/v11.1.0/output/pydis_core.utils.channel.html @@ -5,14 +5,14 @@ - + channel - Pydis Core v11.1.0 - + @@ -390,11 +390,11 @@
          -

          channel#

          +

          channel

          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:
          @@ -422,7 +422,7 @@
          -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:
          @@ -512,7 +512,7 @@ - + diff --git a/v11.1.0/output/pydis_core.utils.checks.html b/v11.1.0/output/pydis_core.utils.checks.html index 1fccb43b..9620bfc9 100644 --- a/v11.1.0/output/pydis_core.utils.checks.html +++ b/v11.1.0/output/pydis_core.utils.checks.html @@ -5,14 +5,14 @@ - + checks - Pydis Core v11.1.0 - + @@ -390,29 +390,29 @@
          -

          checks#

          +

          checks

          -exception ContextCheckFailure(redirect_channel)[source]#
          +exception ContextCheckFailure(redirect_channel)[source]

          Bases: CheckFailure

          Raised when a context-specific check fails.

          -__init__(redirect_channel)[source]#
          +__init__(redirect_channel)[source]
          -exception InWhitelistCheckFailure(redirect_channel)[source]#
          +exception InWhitelistCheckFailure(redirect_channel)[source]

          Bases: ContextCheckFailure

          Raised when the in_whitelist check fails.

          -cooldown_with_role_bypass(rate, per, type_=('default', 0), *, bypass_roles)[source]#
          +cooldown_with_role_bypass(rate, per, type_=('default', 0), *, bypass_roles)[source]

          Decorate a command to have a cooldown, which can be bypassed by users with specified roles.

          Note: This replaces the Command.before_invoke callback, which might introduce problems in the future.

          @@ -438,7 +438,7 @@
          -async has_any_role_check(ctx, *roles)[source]#
          +async has_any_role_check(ctx, *roles)[source]

          Verify if the context’s author has any of the specified roles.

          This check will always fail if the context is a DM, since DMs don’t have roles.

          @@ -459,7 +459,7 @@
          -async has_no_roles_check(ctx, *roles)[source]#
          +async has_no_roles_check(ctx, *roles)[source]

          Verify if the context’s author doesn’t have any of the specified roles.

          This check will always fail if the context is a DM, since DMs don’t have roles.

          @@ -480,7 +480,7 @@
          -in_whitelist_check(ctx, redirect, channels=(), categories=(), roles=(), *, fail_silently=False)[source]#
          +in_whitelist_check(ctx, redirect, channels=(), categories=(), roles=(), *, fail_silently=False)[source]

          Check if a command was issued in a context that is whitelisted by channel, category, or roles.

          Parameters:
          @@ -584,7 +584,7 @@ - + diff --git a/v11.1.0/output/pydis_core.utils.commands.html b/v11.1.0/output/pydis_core.utils.commands.html index 8b7d8060..ef8fcc49 100644 --- a/v11.1.0/output/pydis_core.utils.commands.html +++ b/v11.1.0/output/pydis_core.utils.commands.html @@ -5,14 +5,14 @@ - + commands - Pydis Core v11.1.0 - + @@ -390,10 +390,10 @@
          -

          commands#

          +

          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:
          @@ -485,7 +485,7 @@ - + diff --git a/v11.1.0/output/pydis_core.utils.cooldown.html b/v11.1.0/output/pydis_core.utils.cooldown.html index 1701a6e4..05b0dfe9 100644 --- a/v11.1.0/output/pydis_core.utils.cooldown.html +++ b/v11.1.0/output/pydis_core.utils.cooldown.html @@ -5,14 +5,14 @@ - + cooldown - Pydis Core v11.1.0 - + @@ -390,21 +390,21 @@
          -

          cooldown#

          +

          cooldown

          Helpers for setting a cooldown on commands.

          -exception CommandOnCooldown(message, function, /, *args, **kwargs)[source]#
          +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:
          @@ -420,20 +420,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:
          @@ -535,7 +535,7 @@ its return value is then used to check for the cooldown instead of the raw argum - + diff --git a/v11.1.0/output/pydis_core.utils.error_handling.commands.abc.html b/v11.1.0/output/pydis_core.utils.error_handling.commands.abc.html index bf39c0b1..6051952b 100644 --- a/v11.1.0/output/pydis_core.utils.error_handling.commands.abc.html +++ b/v11.1.0/output/pydis_core.utils.error_handling.commands.abc.html @@ -5,14 +5,14 @@ - + abc - Pydis Core v11.1.0 - + @@ -390,15 +390,15 @@
          -

          abc#

          +

          abc

          -class AbstractCommandErrorHandler[source]#
          +class AbstractCommandErrorHandler[source]

          Bases: ABC

          An abstract command error handler.

          -abstract async handle_app_command_error(interaction, error)[source]#
          +abstract async handle_app_command_error(interaction, error)[source]

          Handle error raised in the context of app commands.

          Return type:
          @@ -409,7 +409,7 @@
          -abstract async handle_text_command_error(context, error)[source]#
          +abstract async handle_text_command_error(context, error)[source]

          Handle error raised in the context of text commands.

          Return type:
          @@ -420,7 +420,7 @@
          -abstract async should_handle_error(error)[source]#
          +abstract async should_handle_error(error)[source]

          A predicate that determines whether the error should be handled.

          Return type:
          @@ -507,7 +507,7 @@ - + diff --git a/v11.1.0/output/pydis_core.utils.error_handling.commands.html b/v11.1.0/output/pydis_core.utils.error_handling.commands.html index ea9d9b4b..d7c17b28 100644 --- a/v11.1.0/output/pydis_core.utils.error_handling.commands.html +++ b/v11.1.0/output/pydis_core.utils.error_handling.commands.html @@ -5,14 +5,14 @@ - + commands package - Pydis Core v11.1.0 - + @@ -390,15 +390,15 @@
          -

          commands package#

          +

          commands package

          -class AbstractCommandErrorHandler[source]#
          +class AbstractCommandErrorHandler[source]

          Bases: ABC

          An abstract command error handler.

          -abstract async handle_app_command_error(interaction, error)[source]#
          +abstract async handle_app_command_error(interaction, error)[source]

          Handle error raised in the context of app commands.

          Return type:
          @@ -409,7 +409,7 @@
          -abstract async handle_text_command_error(context, error)[source]#
          +abstract async handle_text_command_error(context, error)[source]

          Handle error raised in the context of text commands.

          Return type:
          @@ -420,7 +420,7 @@
          -abstract async should_handle_error(error)[source]#
          +abstract async should_handle_error(error)[source]

          A predicate that determines whether the error should be handled.

          Return type:
          @@ -433,17 +433,17 @@
          -class CommandErrorManager(default)[source]#
          +class CommandErrorManager(default)[source]

          Bases: object

          A class that registers error handlers and handles all command related errors.

          -__init__(default)[source]#
          +__init__(default)[source]
          -async handle_error(error, context_or_interaction)[source]#
          +async handle_error(error, context_or_interaction)[source]

          Handle a Discord exception.

          Iterate through available handlers by registration order, and choose the first one capable of handling the error as determined by should_handle_error; there is no priority system.

          @@ -456,7 +456,7 @@ the error as determined by should_handle_error; there is no priorit
          -register_handler(handler)[source]#
          +register_handler(handler)[source]

          Register a command error handler.

          Return type:
          @@ -468,7 +468,7 @@ the error as determined by should_handle_error; there is no priorit
          -

          Submodules#

          +

          Submodules

          • abc
              @@ -575,7 +575,7 @@ the error as determined by should_handle_error; there is no priorit
          - + diff --git a/v11.1.0/output/pydis_core.utils.error_handling.commands.manager.html b/v11.1.0/output/pydis_core.utils.error_handling.commands.manager.html index 765f10dd..35aee6f6 100644 --- a/v11.1.0/output/pydis_core.utils.error_handling.commands.manager.html +++ b/v11.1.0/output/pydis_core.utils.error_handling.commands.manager.html @@ -5,14 +5,14 @@ - + manager - Pydis Core v11.1.0 - + @@ -390,20 +390,20 @@
          -

          manager#

          +

          manager

          -class CommandErrorManager(default)[source]#
          +class CommandErrorManager(default)[source]

          Bases: object

          A class that registers error handlers and handles all command related errors.

          -__init__(default)[source]#
          +__init__(default)[source]
          -async handle_error(error, context_or_interaction)[source]#
          +async handle_error(error, context_or_interaction)[source]

          Handle a Discord exception.

          Iterate through available handlers by registration order, and choose the first one capable of handling the error as determined by should_handle_error; there is no priority system.

          @@ -416,7 +416,7 @@ the error as determined by should_handle_error; there is no priorit
          -register_handler(handler)[source]#
          +register_handler(handler)[source]

          Register a command error handler.

          Return type:
          @@ -503,7 +503,7 @@ the error as determined by should_handle_error; there is no priorit - + diff --git a/v11.1.0/output/pydis_core.utils.error_handling.html b/v11.1.0/output/pydis_core.utils.error_handling.html index 36697148..cd867100 100644 --- a/v11.1.0/output/pydis_core.utils.error_handling.html +++ b/v11.1.0/output/pydis_core.utils.error_handling.html @@ -5,14 +5,14 @@ - + error_handling package - Pydis Core v11.1.0 - + @@ -390,10 +390,10 @@
          -

          error_handling package#

          +

          error_handling package

          -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:
          @@ -409,7 +409,7 @@
          -

          Subpackages#

          +

          Subpackages

          - + diff --git a/v11.1.0/output/pydis_core.utils.function.html b/v11.1.0/output/pydis_core.utils.function.html index 3cca874e..d650df62 100644 --- a/v11.1.0/output/pydis_core.utils.function.html +++ b/v11.1.0/output/pydis_core.utils.function.html @@ -5,14 +5,14 @@ - + function - Pydis Core v11.1.0 - + @@ -390,18 +390,18 @@
          -

          function#

          +

          function

          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.

          @@ -425,7 +425,7 @@ with the wrapper replaced with the function
          -get_arg_value(name_or_pos, arguments)[source]#
          +get_arg_value(name_or_pos, arguments)[source]

          Return a value from arguments based on a name or position.

          Parameters:
          @@ -448,7 +448,7 @@ with the wrapper replaced with the function
          -get_arg_value_wrapper(decorator_func, name_or_pos, func=None)[source]#
          +get_arg_value_wrapper(decorator_func, name_or_pos, func=None)[source]

          Call decorator_func with the value of the arg at the given name/position.

          Parameters:
          @@ -470,7 +470,7 @@ parameter names to argument values of the function it’s decorating.

          -get_bound_args(func, args, kwargs)[source]#
          +get_bound_args(func, args, kwargs)[source]

          Bind args and kwargs to func and return a mapping of parameter names to argument values.

          Default parameter values are also set.

          @@ -492,7 +492,7 @@ parameter names to argument values of the function it’s decorating.

          -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 @@ -596,7 +596,7 @@ changes won’t be reflected in the new function’s globals.

          - + diff --git a/v11.1.0/output/pydis_core.utils.html b/v11.1.0/output/pydis_core.utils.html index 873488d5..e1b25da5 100644 --- a/v11.1.0/output/pydis_core.utils.html +++ b/v11.1.0/output/pydis_core.utils.html @@ -5,14 +5,14 @@ - + Utils - Pydis Core v11.1.0 - + @@ -390,11 +390,11 @@
          -

          Utils#

          +

          Utils

          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:
          @@ -413,7 +413,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:
          @@ -429,7 +429,7 @@ that will act as top-level groups rather than being aliases of the command’s g
          -

          Subpackages#

          +

          Subpackages

          • error_handling package
              @@ -449,7 +449,7 @@ that will act as top-level groups rather than being aliases of the command’s g
          -

          Submodules#

          +

          Submodules

          • caching
              @@ -687,7 +687,7 @@ that will act as top-level groups rather than being aliases of the command’s g
          - + diff --git a/v11.1.0/output/pydis_core.utils.interactions.html b/v11.1.0/output/pydis_core.utils.interactions.html index e918d9dd..d162cdce 100644 --- a/v11.1.0/output/pydis_core.utils.interactions.html +++ b/v11.1.0/output/pydis_core.utils.interactions.html @@ -5,14 +5,14 @@ - + interactions - Pydis Core v11.1.0 - + @@ -390,10 +390,10 @@
          -

          interactions#

          +

          interactions

          -class DeleteMessageButton(*, style=('secondary', 2), label='Delete', **kwargs)[source]#
          +class DeleteMessageButton(*, style=('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.

          @@ -408,12 +408,12 @@
          -__init__(*, style=('secondary', 2), label='Delete', **kwargs)[source]#
          +__init__(*, style=('secondary', 2), label='Delete', **kwargs)[source]
          -async callback(interaction)[source]#
          +async callback(interaction)[source]

          Delete the original message on button click.

          Return type:
          @@ -426,7 +426,7 @@
          -class ViewWithUserAndRoleCheck(*, allowed_users, allowed_roles, timeout=180.0, message=None)[source]#
          +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.

          @@ -443,12 +443,12 @@ If None
          -__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:
          @@ -462,7 +462,7 @@ If None
          -async on_timeout()[source]#
          +async on_timeout()[source]

          Remove the view from self.message if set.

          Return type:
          @@ -473,7 +473,7 @@ If None
          -stop()[source]#
          +stop()[source]

          Stop listening for interactions, and remove the view from self.message if set.

          Return type:
          @@ -486,7 +486,7 @@ If None
          -user_has_access(user, *, allowed_users=(), allowed_roles=())[source]#
          +user_has_access(user, *, allowed_users=(), allowed_roles=())[source]

          Return whether the user is in the allowed_users list, or has a role from allowed_roles.

          Parameters:
          @@ -585,7 +585,7 @@ If None - + diff --git a/v11.1.0/output/pydis_core.utils.lock.html b/v11.1.0/output/pydis_core.utils.lock.html index c4556de1..485b2927 100644 --- a/v11.1.0/output/pydis_core.utils.lock.html +++ b/v11.1.0/output/pydis_core.utils.lock.html @@ -5,14 +5,14 @@ - + lock - Pydis Core v11.1.0 - + @@ -390,15 +390,15 @@
          -

          lock#

          +

          lock

          -exception LockedResourceError(resource_type, resource_id)[source]#
          +exception LockedResourceError(resource_type, resource_id)[source]

          Bases: RuntimeError

          Exception raised when an operation is attempted on a locked resource.

          -type[source]#
          +type[source]

          Name of the locked resource’s type

          Type:
          @@ -409,7 +409,7 @@
          -id[source]#
          +id[source]

          ID of the locked resource

          Type:
          @@ -420,38 +420,38 @@
          -__init__(resource_type, resource_id)[source]#
          +__init__(resource_type, resource_id)[source]
          -class SharedEvent[source]#
          +class SharedEvent[source]

          Bases: object

          Context manager managing an internal event exposed through the wait coro.

          While any code is executing in this context manager, the underlying event will not be set; when all of the holders finish the event will be set.

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

          Increment the count of the active holders and clear the internal event.

          -__exit__(_exc_type, _exc_val, _exc_tb)[source]#
          +__exit__(_exc_type, _exc_val, _exc_tb)[source]

          Decrement the count of the active holders; if 0 is reached set the internal event.

          -__init__()[source]#
          +__init__()[source]
          -async wait()[source]#
          +async wait()[source]

          Wait for all active holders to exit.

          Return type:
          @@ -464,7 +464,7 @@ when all of the holders finish the event will be set.

          -lock(namespace, resource_id, *, raise_error=False, wait=False)[source]#
          +lock(namespace, resource_id, *, raise_error=False, wait=False)[source]

          Turn the decorated coroutine function into a mutually exclusive operation on a resource_id.

          If decorating a command, this decorator must go before (below) the command decorator.

          @@ -491,7 +491,7 @@ and return None.

          -lock_arg(namespace, name_or_pos, func=None, *, raise_error=False, wait=False)[source]#
          +lock_arg(namespace, name_or_pos, func=None, *, raise_error=False, wait=False)[source]

          Apply the lock decorator using the value of the arg at the given name/position as the ID.

          See lock docs for more information.

          @@ -589,7 +589,7 @@ and return None.

          - + diff --git a/v11.1.0/output/pydis_core.utils.logging.html b/v11.1.0/output/pydis_core.utils.logging.html index 258b01d5..922f9527 100644 --- a/v11.1.0/output/pydis_core.utils.logging.html +++ b/v11.1.0/output/pydis_core.utils.logging.html @@ -5,14 +5,14 @@ - + logging - Pydis Core v11.1.0 - + @@ -390,16 +390,16 @@
          -

          logging#

          +

          logging

          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)
          @@ -423,7 +423,7 @@
           
           
          -get_logger(name=None)[source]#
          +get_logger(name=None)[source]

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

          Parameters:
          @@ -440,7 +440,7 @@
          -log_format[source]#
          +log_format[source]

          A logging.Formatter that can be used to standardise logging across all projects using pydis_core.

          @@ -522,7 +522,7 @@
          - + diff --git a/v11.1.0/output/pydis_core.utils.members.html b/v11.1.0/output/pydis_core.utils.members.html index abf7a9a7..75182db9 100644 --- a/v11.1.0/output/pydis_core.utils.members.html +++ b/v11.1.0/output/pydis_core.utils.members.html @@ -5,14 +5,14 @@ - + members - Pydis Core v11.1.0 - + @@ -390,11 +390,11 @@
          -

          members#

          +

          members

          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:
          @@ -408,7 +408,7 @@
          -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.

          @@ -498,7 +498,7 @@ - + diff --git a/v11.1.0/output/pydis_core.utils.messages.html b/v11.1.0/output/pydis_core.utils.messages.html index 006ae63a..19bf91fb 100644 --- a/v11.1.0/output/pydis_core.utils.messages.html +++ b/v11.1.0/output/pydis_core.utils.messages.html @@ -5,14 +5,14 @@ - + messages - Pydis Core v11.1.0 - + @@ -390,10 +390,10 @@
          -

          messages#

          +

          messages

          -reaction_check(reaction, user, *, message_id, allowed_emoji, allowed_users, allowed_roles=None)[source]#
          +reaction_check(reaction, user, *, message_id, allowed_emoji, allowed_users, allowed_roles=None)[source]

          Check if a reaction’s emoji and author are allowed and the message is message_id.

          If the user is not allowed, remove the reaction. Ignore reactions made by the bot. If allow_mods is True, allow users with moderator roles even if they’re not in allowed_users.

          @@ -475,7 +475,7 @@ If allow_mods is True, allow users with moderator roles even if the - + diff --git a/v11.1.0/output/pydis_core.utils.pagination.html b/v11.1.0/output/pydis_core.utils.pagination.html index 32844ae2..ef4ddf1d 100644 --- a/v11.1.0/output/pydis_core.utils.pagination.html +++ b/v11.1.0/output/pydis_core.utils.pagination.html @@ -5,14 +5,14 @@ - + pagination - Pydis Core v11.1.0 - + @@ -390,17 +390,17 @@
          -

          pagination#

          +

          pagination

          -exception EmptyPaginatorEmbedError[source]#
          +exception EmptyPaginatorEmbedError[source]

          Bases: Exception

          Raised when attempting to paginate with empty contents.

          -class LinePaginator(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]#
          +class LinePaginator(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]

          Bases: Paginator

          A class that aids in paginating code blocks for Discord messages.

          @@ -417,14 +417,14 @@
          -__init__(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]#
          +__init__(prefix='```', suffix='```', max_size=4000, scale_to_size=4000, max_lines=None, linesep='\\n')[source]

          This function overrides the Paginator.__init__ from inside discord.ext.commands.

          It overrides in order to allow us to configure the maximum number of lines per page.

          -add_line(line='', *, empty=False)[source]#
          +add_line(line='', *, empty=False)[source]

          Adds a line to the current page.

          If a line on a page exceeds max_size characters, then max_size will go up to scale_to_size for a single line before creating a new page for the overflow words. If it @@ -452,7 +452,7 @@ page at a reasonable size.

          -async classmethod paginate(pagination_emojis, lines, ctx, embed, *, prefix='', suffix='', max_lines=None, max_size=500, scale_to_size=4000, empty=True, restrict_to_user=None, timeout=300, footer_text=None, url=None, exception_on_empty_embed=False, reply=False, allowed_roles=None)[source]#
          +async classmethod paginate(pagination_emojis, lines, ctx, embed, *, prefix='', suffix='', max_lines=None, max_size=500, scale_to_size=4000, empty=True, restrict_to_user=None, timeout=300, footer_text=None, url=None, exception_on_empty_embed=False, reply=False, allowed_roles=None)[source]

          Use a paginator and set of reactions to provide pagination over a set of lines.

          The reactions are used to switch page, or to finish with pagination.

          When used, this will send a message using ctx.send() and apply a set of reactions to it. These reactions may @@ -496,24 +496,24 @@ to any user with a moderation role.

          -class PaginationEmojis(**data)[source]#
          +class PaginationEmojis(**data)[source]

          Bases: BaseModel

          The emojis that will be used for pagination.

          -model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
          +model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

          -model_config: ClassVar[ConfigDict] = {}#
          +model_config: ClassVar[ConfigDict] = {}

          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

          -model_fields: ClassVar[dict[str, FieldInfo]] = {'delete': FieldInfo(annotation=str, required=False, default='<:trashcan:637136429717389331>'), 'first': FieldInfo(annotation=str, required=False, default='⏮'), 'last': FieldInfo(annotation=str, required=False, default='⏭'), 'left': FieldInfo(annotation=str, required=False, default='⬅'), 'right': FieldInfo(annotation=str, required=False, default='➡')}#
          +model_fields: ClassVar[dict[str, FieldInfo]] = {'delete': FieldInfo(annotation=str, required=False, default='<:trashcan:637136429717389331>'), 'first': FieldInfo(annotation=str, required=False, default='⏮'), 'last': FieldInfo(annotation=str, required=False, default='⏭'), 'left': FieldInfo(annotation=str, required=False, default='⬅'), 'right': FieldInfo(annotation=str, required=False, default='➡')}

          Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

          This replaces Model.__fields__ from Pydantic V1.

          @@ -604,7 +604,7 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo]. - + diff --git a/v11.1.0/output/pydis_core.utils.paste_service.html b/v11.1.0/output/pydis_core.utils.paste_service.html index 64f0a49c..9d88be0c 100644 --- a/v11.1.0/output/pydis_core.utils.paste_service.html +++ b/v11.1.0/output/pydis_core.utils.paste_service.html @@ -5,14 +5,14 @@ - + paste_service - Pydis Core v11.1.0 - + @@ -390,16 +390,16 @@
          -

          paste_service#

          +

          paste_service

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

          The maximum allows size of a paste, in bytes.

          -class PasteFile(**data)[source]#
          +class PasteFile(**data)[source]

          Bases: BaseModel

          A file to be pasted to the paste service.

          @@ -413,19 +413,19 @@
          -model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
          +model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

          -model_config: ClassVar[ConfigDict] = {}#
          +model_config: ClassVar[ConfigDict] = {}

          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

          -model_fields: ClassVar[dict[str, FieldInfo]] = {'content': FieldInfo(annotation=str, required=True), 'lexer': FieldInfo(annotation=str, required=False, default='python'), 'name': FieldInfo(annotation=str, required=False, default='')}#
          +model_fields: ClassVar[dict[str, FieldInfo]] = {'content': FieldInfo(annotation=str, required=True), 'lexer': FieldInfo(annotation=str, required=False, default='python'), 'name': FieldInfo(annotation=str, required=False, default='')}

          Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

          This replaces Model.__fields__ from Pydantic V1.

          @@ -435,7 +435,7 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
          -class PasteResponse(**data)[source]#
          +class PasteResponse(**data)[source]

          Bases: BaseModel

          A successful response from the paste service.

          @@ -448,19 +448,19 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
          -model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}#
          +model_computed_fields: ClassVar[dict[str, ComputedFieldInfo]] = {}

          A dictionary of computed field names and their corresponding ComputedFieldInfo objects.

          -model_config: ClassVar[ConfigDict] = {}#
          +model_config: ClassVar[ConfigDict] = {}

          Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

          -model_fields: ClassVar[dict[str, FieldInfo]] = {'link': FieldInfo(annotation=str, required=True), 'removal': FieldInfo(annotation=str, required=True)}#
          +model_fields: ClassVar[dict[str, FieldInfo]] = {'link': FieldInfo(annotation=str, required=True), 'removal': FieldInfo(annotation=str, required=True)}

          Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].

          This replaces Model.__fields__ from Pydantic V1.

          @@ -470,28 +470,28 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
          -exception PasteTooLongError[source]#
          +exception PasteTooLongError[source]

          Bases: Exception

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

          -exception PasteUnsupportedLexerError[source]#
          +exception PasteUnsupportedLexerError[source]

          Bases: Exception

          Raised when an unsupported lexer is used.

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

          Bases: Exception

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

          -async send_to_paste_service(*, files, http_session, paste_url='https://paste.pythondiscord.com', max_size=524288)[source]#
          +async send_to_paste_service(*, files, http_session, paste_url='https://paste.pythondiscord.com', max_size=524288)[source]

          Upload some contents to the paste service.

          Parameters:
          @@ -605,7 +605,7 @@ mapping of field names to [FieldInfo][pydantic.fields.FieldInfo]. - + diff --git a/v11.1.0/output/pydis_core.utils.regex.html b/v11.1.0/output/pydis_core.utils.regex.html index 6f7d003d..e39621a8 100644 --- a/v11.1.0/output/pydis_core.utils.regex.html +++ b/v11.1.0/output/pydis_core.utils.regex.html @@ -5,14 +5,14 @@ - + regex - Pydis Core v11.1.0 - + @@ -390,11 +390,11 @@
          -

          regex#

          +

          regex

          Common regular expressions.

          -DISCORD_INVITE[source]#
          +DISCORD_INVITE[source]

          Regex for Discord server invites.

          Warning

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

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

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

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

          @@ -495,7 +495,7 @@ such as - + diff --git a/v11.1.0/output/pydis_core.utils.scheduling.html b/v11.1.0/output/pydis_core.utils.scheduling.html index bfce1223..fa651fbe 100644 --- a/v11.1.0/output/pydis_core.utils.scheduling.html +++ b/v11.1.0/output/pydis_core.utils.scheduling.html @@ -5,14 +5,14 @@ - + scheduling - Pydis Core v11.1.0 - + @@ -390,11 +390,11 @@
          -

          scheduling#

          +

          scheduling

          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 @@ -408,7 +408,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:
          @@ -425,7 +425,7 @@ the same ID used to schedule it.

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

          Initialize a new Scheduler instance.

          Parameters:
          @@ -436,7 +436,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:
          @@ -450,7 +450,7 @@ the same ID used to schedule it.

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

          Unschedule all known tasks.

          Return type:
          @@ -461,7 +461,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.

          @@ -480,7 +480,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.

          @@ -503,7 +503,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.

          @@ -525,7 +525,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.

          @@ -628,7 +628,7 @@ otherwise the running loop is used.

          - + diff --git a/v11.1.0/py-modindex.html b/v11.1.0/py-modindex.html index de5b42e5..caa531c7 100644 --- a/v11.1.0/py-modindex.html +++ b/v11.1.0/py-modindex.html @@ -4,13 +4,13 @@ - Python Module Index - Pydis Core v11.1.0 + Python Module Index - Pydis Core v11.1.0 - + @@ -577,7 +577,7 @@ - + diff --git a/v11.1.0/search.html b/v11.1.0/search.html index 7df68aff..3b9e080b 100644 --- a/v11.1.0/search.html +++ b/v11.1.0/search.html @@ -4,12 +4,12 @@ - Search - Pydis Core v11.1.0 + Search - Pydis Core v11.1.0 - + @@ -429,7 +429,7 @@ - + diff --git a/v11.1.0/searchindex.js b/v11.1.0/searchindex.js index 35d290c7..58395ced 100644 --- a/v11.1.0/searchindex.js +++ b/v11.1.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.checks", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.error_handling.commands", "output/pydis_core.utils.error_handling.commands.abc", "output/pydis_core.utils.error_handling.commands.manager", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.lock", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.messages", "output/pydis_core.utils.pagination", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.checks.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.error_handling.commands.rst", "output/pydis_core.utils.error_handling.commands.abc.rst", "output/pydis_core.utils.error_handling.commands.manager.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.lock.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.messages.rst", "output/pydis_core.utils.pagination.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "checks", "commands", "cooldown", "error_handling package", "commands package", "abc", "manager", "function", "interactions", "lock", "logging", "members", "messages", "pagination", "paste_service", "regex", "scheduling"], "terms": {"11": 0, "1": [0, 20], "0": [0, 8, 10, 18, 19, 20], "30th": 0, "march": 0, "2024": 0, "support": [0, 4, 7, 26], "210": 0, "drop": 0, "restrict": [0, 3, 23], "meant": 0, "fakeredi": 0, "could": [0, 21], "instal": [0, 1], "python": [0, 1, 3, 24, 26], "3": 0, "12": 0, "lupa": 0, "now": [0, 1, 26], "20th": 0, "bug": 0, "209": 0, "extract": 0, "origin": [0, 18], "error": [0, 3, 6, 7, 13, 14, 15, 16, 21, 24], "from": [0, 1, 3, 4, 6, 7, 9, 17, 18, 21, 23, 24, 26], "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 16, 17, 21, 23, 25], "ext": [0, 2, 3, 7, 9, 10, 11, 23], "command": [0, 1, 3, 7, 9, 10, 12, 13, 15, 16, 17, 19, 23], "commandinvokeerror": 0, "befor": [0, 3, 10, 18, 19, 23, 26], "handl": [0, 13, 14, 15, 16, 21, 26], "18th": 0, "break": [0, 3, 17, 23], "207": 0, "enabl": [0, 1], "more": [0, 1, 3, 17, 19, 23], "ruff": 0, "lint": 0, "rule": 0, "see": [0, 1, 17, 18, 19], "github": 0, "releas": 0, "note": [0, 10], "chang": [0, 1, 3, 17, 23], "208": 0, "pydant": [0, 3, 23, 24], "x": 0, "10": 0, "split": 0, "option": [0, 8, 17, 19], "depend": [0, 9], "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 23, 24], "rediscach": 0, "extra": [0, 6], "you": [0, 1, 9, 25], "can": [0, 1, 3, 10, 18, 19, 20, 23, 26], "just": 0, "lua": 0, "us": [0, 1, 3, 4, 6, 7, 9, 10, 12, 17, 19, 20, 21, 23, 24, 25, 26], "either": [0, 3], "all": [0, 1, 3, 4, 7, 14, 16, 19, 20, 26], "both": [0, 1, 3, 24], "thi": [0, 1, 3, 7, 9, 10, 12, 17, 18, 19, 21, 23, 24, 25, 26], "allow": [0, 1, 3, 18, 22, 23, 24], "user": [0, 3, 10, 12, 18, 22, 23], "who": [0, 18], "do": [0, 1, 9, 19], "reli": 0, "environ": [0, 1], "featur": [0, 1, 3], "205": 0, "add": [0, 3, 10, 12, 23], "pydis_cor": [0, 1, 3, 18, 20], "util": [0, 1, 2, 3, 8, 17, 18, 20], "error_handl": [0, 3, 7], "abc": [0, 13, 14], "abstractcommanderrorhandl": [0, 7, 13, 14, 15], "manag": [0, 3, 13, 14, 19], "commanderrormanag": [0, 7, 13, 14, 16], "implement": [0, 3, 4, 8, 18, 20], "regist": [0, 14, 16], "handler": [0, 3, 14, 15, 16], "independantli": 0, "204": [0, 6], "document": 0, "instanc": [0, 3, 6, 8, 9, 10, 20, 26], "attribut": [0, 7, 17], "botbas": [0, 2, 3], "206": 0, "bump": 0, "15": 0, "2": [0, 3, 18], "new": [0, 1, 3, 4, 6, 8, 17, 23, 26], "config": [0, 3, 23, 24], "namespac": [0, 19, 26], "target": [0, 8], "isn": [0, 13, 17], "t": [0, 3, 10, 11, 13, 17, 19, 26], "Be": 0, "awar": [0, 26], "time": [0, 10, 26], "write": [0, 1], "our": [0, 1, 7], "usag": 0, "doe": [0, 17], "current": [0, 3, 19, 23, 26], "i": [0, 1, 3, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "due": 0, "requir": [0, 1, 3, 23, 24, 26], "script": 0, "within": [0, 3], "As": 0, "7": 0, "januari": 0, "194": 0, "interact": [0, 3, 7, 9, 14, 15, 23], "user_has_access": [0, 3, 7, 18], "helper": [0, 9, 12, 21], "function": [0, 3, 7, 8, 9, 12, 19, 20, 21, 23, 26], "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "whether": [0, 3, 6, 9, 10, 14, 15, 18, 23], "given": [0, 3, 4, 7, 9, 11, 17, 19, 20, 21, 26], "allowed_us": [0, 18, 22], "list": [0, 1, 3, 18, 23, 24], "ha": [0, 3, 7, 10, 18], "role": [0, 1, 3, 10, 18, 21, 22, 23], "allowed_rol": [0, 1, 3, 18, 22, 23], "158": 0, "lock": [0, 3, 7], "control": 0, "concurr": 0, "logic": 0, "202": 0, "variou": [0, 9], "develop": [0, 2, 3, 7], "ci": 0, "workflow": 0, "action": 0, "version": [0, 11], "6": 0, "199": 0, "port": [0, 4], "common": [0, 1, 3, 7, 20, 25], "check": [0, 3, 6, 7, 9, 12, 13, 18, 22, 26], "other": [0, 1, 19, 26], "bot": [0, 1, 3, 7, 9, 22], "189": 0, "messag": [0, 3, 7, 11, 12, 13, 18, 20, 23, 26], "reaction_check": [0, 3, 7, 22], "predic": [0, 14, 15], "dictat": 0, "right": [0, 3, 23], "specif": [0, 10], "set": [0, 1, 3, 12, 17, 18, 19, 23], "reaction": [0, 3, 22, 23], "base": [0, 3, 4, 6, 8, 10, 12, 14, 15, 16, 17, 18, 19, 20, 23, 24, 26], "certain": [0, 1], "criteria": 0, "pagin": [0, 2, 3, 7], "linepagin": [0, 2, 3, 7, 23], "which": [0, 1, 3, 7, 10, 12, 17, 19, 23, 26], "over": [0, 3, 23], "content": [0, 3, 11, 23, 24], "emb": [0, 3, 23], "emoji": [0, 3, 22, 23], "facilit": 0, "navig": [0, 1, 3, 23], "5": [0, 12], "14th": 0, "decemb": 0, "2023": 0, "200": 0, "attempt": [0, 3, 9, 19, 21, 23], "read": 0, "respons": [0, 6, 24], "bodi": 0, "http": [0, 3, 6, 24, 25], "code": [0, 1, 3, 6, 19, 23, 25], "previous": 0, "onli": [0, 3], "site_api": [0, 2, 3], "apicli": [0, 2, 3, 6], "delet": [0, 3, 6, 8, 18, 23, 24], "did": 0, "10th": 0, "197": 0, "mark": 0, "tild": 0, "specifi": [0, 10, 12, 18], "pydi": [0, 2], "core": [0, 1], "newer": 0, "librari": [0, 1], "without": [0, 10], "u": [0, 3, 23], "have": [0, 9, 10, 17, 20], "cut": 0, "4": 0, "26th": 0, "octob": 0, "196": 0, "mani": [0, 3, 8], "aiodn": 0, "19th": 0, "septemb": 0, "195": 0, "websocket": 0, "chardet": 0, "async_rediscach": [0, 3], "logger": [0, 20], "warn": [0, 26], "level": [0, 7, 20], "asyncio": [0, 4, 26], "info": [0, 1], "default": [0, 1, 3, 10, 14, 16, 17, 23, 24], "log_format": [0, 3, 7, 20], "log": [0, 3, 7, 13, 21, 26], "standardis": [0, 20], "across": [0, 3, 20, 23], "servic": [0, 1, 3, 24], "28th": 0, "august": 0, "192": 0, "py": [0, 3, 17], "25th": 0, "juli": 0, "190": 0, "overwrit": [0, 3], "process_command": [0, 2, 3], "ensur": [0, 3, 18, 25], "ar": [0, 1, 3, 8, 17, 18, 22, 23, 25], "process": [0, 3], "until": [0, 3, 19, 25], "extens": [0, 3], "load": [0, 1, 3, 7], "work": [0, 1], "client": [0, 3, 4], "load_extens": [0, 2, 3], "188": 0, "send": [0, 3, 6, 18, 23], "multipl": 0, "file": [0, 1, 24], "onc": [0, 3, 8], "past": [0, 24, 26], "call": [0, 3, 12, 17, 26], "paste_servic": [0, 3, 7], "send_to_paste_servic": [0, 3, 7, 24], "must": [0, 17, 19, 26], "provid": [0, 1, 3, 8, 11, 13, 23, 26], "pastefil": [0, 3, 7, 24], "184": 0, "remov": [0, 3, 18, 22, 23, 24], "store": [0, 3, 7, 8, 23], "attr": 0, "viewwithuserandrolecheck": [0, 3, 7, 18], "when": [0, 3, 4, 6, 7, 8, 10, 12, 17, 19, 23, 24, 26], "stop": [0, 7, 18], "addit": 0, "exist": [0, 1, 26], "timeout": [0, 3, 18, 23], "187": 0, "fix": 0, "channel": [0, 3, 7, 10, 12], "get_or_fetch_channel": [0, 3, 7, 9], "": [0, 1, 3, 7, 8, 10, 11, 12, 17, 18, 19, 20, 22, 23, 25, 26], "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "includ": [0, 1, 13], "privatechannel": [0, 9], "thread": [0, 9], "9": 0, "2nd": 0, "185": 0, "updat": [0, 17], "expiri": 0, "label": [0, 18], "month": 0, "30": 0, "dai": 0, "22nd": 0, "june": 0, "183": 0, "push": 0, "correct": [0, 1], "changeset": 0, "pypi": 0, "182": 0, "lexer": [0, 24], "valid": 0, "pastebin": 0, "url": [0, 3, 6, 23, 24], "pythondiscord": [0, 24], "com": [0, 24], "8": 0, "13th": 0, "181": 0, "176": 0, "migrat": 0, "repo": 0, "177": 0, "automat": [0, 3, 23], "forbidden": [0, 9, 13], "90001": [0, 13], "schedul": [0, 3, 7], "179": 0, "upload": [0, 24], "text": [0, 3, 6, 11, 14, 15, 23, 24], "6th": 0, "mai": [0, 3, 8, 19, 23], "175": 0, "wait": [0, 3, 7, 19, 26], "guild": [0, 1, 3, 10, 21], "avail": [0, 3, 14, 16, 19], "cog": [0, 3, 5], "174": 0, "februari": 0, "173": 0, "9th": 0, "172": 0, "24th": 0, "2022": 0, "171": 0, "sync": [0, 3], "app": [0, 3, 14, 15], "after": [0, 3, 18, 23, 26], "been": [0, 3], "also": [0, 3, 7, 17, 18, 19, 23], "need": [0, 1, 3, 23], "run": [0, 1, 12, 19, 26], "task": [0, 26], "23rd": 0, "170": 0, "save": [0, 3, 24], "refer": 0, "newli": 0, "creat": [0, 3, 4, 8, 12, 17, 23, 26], "169": 0, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 26], "upon": 0, "receiv": [0, 6, 9], "bad": 0, "request": [0, 3, 6, 25], "member": [0, 3, 7, 18], "get_or_fetch_memb": [0, 3, 7, 21], "17th": 0, "novemb": 0, "151": 0, "162": 0, "being": [0, 7, 10, 21], "abl": 0, "button": [0, 18], "press": 0, "88": 0, "decor": [0, 8, 10, 12, 17, 19], "success": [0, 24], "duplic": [0, 12], "invoc": [0, 12], "5th": 0, "157": 0, "renam": 0, "project": [0, 1, 20], "publish": 0, "138": 0, "125": 0, "stabl": 0, "16th": 0, "124": 0, "regex": [0, 3, 7], "discord_invit": [0, 3, 7, 25], "match": [0, 3, 17], "lead": 0, "www": 0, "27th": 0, "110": 0, "v1": [0, 3, 23, 24], "rc2": 0, "107": 0, "declar": 0, "sampl": 0, "boilerpl": 0, "explain": 0, "how": [0, 8, 10, 17, 26], "108": 0, "101": 0, "clean": [0, 11], "string": [0, 6], "referenc": 0, "106": 0, "an": [0, 1, 3, 4, 6, 7, 8, 9, 10, 14, 15, 17, 19, 20, 23, 24, 26], "On": 0, "view": [0, 18], "its": [0, 3, 12, 17], "104": 0, "deletemessagebutton": [0, 3, 7, 18], "wrong": 0, "method": [0, 4, 6, 7, 20], "103": 0, "attach": 0, "parent": [0, 18], "gener": [0, 3, 12, 26], "98": 0, "close": [0, 2, 3, 6, 26], "stat": [0, 2, 3, 4], "_transport": 0, "wa": [0, 9, 10, 26], "91": 0, "miss": 0, "await": [0, 3, 12, 18, 19, 21, 23], "ping_servic": [0, 2, 3], "some": [0, 3, 23, 24], "case": [0, 3, 23], "pass": [0, 3, 6, 17, 20, 21, 26], "self": [0, 3, 18], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18, 19, 20, 21, 23, 24, 26], "incorrect": 0, "docstr": 0, "handle_role_chang": [0, 3, 7, 21], "96": 0, "connect": [0, 3, 4], "statsd_url": [0, 2, 3], "93": 0, "0eb3d26": 0, "auto": 0, "mod": 0, "auto_mod": 0, "message_typ": 0, "filter": 0, "system": [0, 1, 14, 16], "79": 0, "restor": 0, "site": [0, 3, 6], "sphinx": 0, "multivers": 0, "make": [0, 1, 3, 20, 23], "older": 0, "doc": [0, 19], "78": 0, "4cbe8f5": 0, "permiss": [0, 9], "resolut": 0, "deal": 0, "out": [0, 1, 3, 18], "75": 0, "invit": [0, 25], "longer": [0, 18], "safe": 0, "result": [0, 26], "captur": [0, 17, 25], "charact": [0, 3, 23], "up": [0, 1, 3, 23], "whitespac": [0, 25], "april": 0, "72": 0, "5a06fa5": 0, "notabl": 0, "one": [0, 3, 10, 14, 16, 23], "commit": 0, "dynam": 0, "extend": 0, "chunk": 0, "number": [0, 3, 10, 23, 24], "so": [0, 1, 3, 7], "should": [0, 1, 3, 6, 14, 15, 18, 23, 24], "actual": 0, "69": 0, "get": [0, 3, 6, 9, 17, 21], "21st": 0, "68": 0, "pyproject": [0, 1], "toml": [0, 1], "directli": [0, 17], "main": 0, "don": [0, 10, 26], "modul": [0, 3, 7, 17, 26], "start": [0, 3, 26], "_": 0, "66": 0, "each": [0, 3, 23], "own": [0, 17], "avoid": [0, 3, 23], "singl": [0, 3, 23], "crash": 0, "entir": [0, 3], "65": 0, "unqualifi": [0, 2, 3, 7], "manipul": [0, 17], "64": 0, "987235d": 0, "revert": 0, "help": [0, 1], "behaviour": [0, 3], "broke": 0, "custom": [0, 8, 20], "basic": [0, 18], "forum": 0, "63": 0, "api_cli": [0, 2, 3], "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 13, 14, 16, 18, 19, 23, 26], "61": 0, "reconnect": 0, "redi": [0, 3], "session": [0, 3, 6, 24], "setup": [0, 3], "56": 0, "move": 0, "creation": 0, "event": [0, 3, 4, 19, 26], "_guild_avail": 0, "hook": 0, "deprec": 0, "notic": 0, "dummi": [0, 3], "asyncstatsdcli": 0, "real": 0, "cannot": [0, 3, 19, 23], "made": [0, 22], "init": [0, 3, 4], "54": 0, "aiohttp": [0, 3, 6, 24], "asyncresolv": 0, "42": 0, "public": 0, "statsd": [0, 3, 4], "sub": [0, 3], "class": [0, 3, 4, 6, 8, 12, 14, 15, 16, 18, 19, 20, 23, 24, 26], "abstract": [0, 14, 15], "lot": 0, "share": [0, 17], "between": [0, 1, 17], "latest": 0, "alpha": 0, "39": 0, "back": 0, "37": 0, "trace": [0, 7, 20], "import": 0, "3rd": 0, "35": 0, "apply_monkey_patch": [0, 2, 3, 7], "34": 0, "api": [0, 3, 6, 21], "wrapper": [0, 6, 12, 17, 26], "32": 0, "0a0": 0, "disnak": 0, "29": 0, "cach": [0, 3, 7, 9, 21], "monkei": [0, 7], "patch": [0, 3, 6, 7], "ad": [0, 1, 3, 7, 18, 20, 23], "intersphinx": 0, "block": [0, 3, 12, 23, 25], "detect": 0, "2021": 0, "autogener": 0, "packag": [0, 3, 7], "poetri": [0, 1], "To": [1, 3, 20], "your": 1, "few": 1, "possibl": 1, "approach": 1, "copi": [1, 17], "pre": 1, "templat": 1, "dev": [1, 3], "folder": 1, "below": [1, 19], "what": 1, "go": [1, 3, 19, 23], "them": [1, 3, 17, 26], "ll": [1, 26], "might": [1, 3, 10], "mean": 1, "modifi": [1, 21], "ones": 1, "etc": [1, 10], "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18, 20, 21, 23, 24, 26], "step": 1, "most": 1, "groundwork": 1, "exact": 1, "vari": 1, "re": [1, 3, 13, 22, 26], "want": 1, "sir": 1, "lancebot": 1, "pip": 1, "path": 1, "root": [1, 3, 7], "directori": 1, "machin": 1, "That": 1, "contain": [1, 3, 10, 18, 23, 24, 26], "sure": 1, "again": 1, "git": 1, "ignor": [1, 7, 17, 22], "free": 1, "howev": 1, "like": [1, 17], "m": 1, "docker": 1, "compos": 1, "d": [1, 17], "configur": [1, 3, 23, 24], "variabl": 1, "program": 1, "env": 1, "bot_token": 1, "token": [1, 6], "intent": 1, "guild_id": [1, 2, 3], "monitor": 1, "prefix": [1, 3, 4, 23], "invok": [1, 10, 12, 18], "mention": [1, 3], "A": [1, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 23, 24, 26], "comma": 1, "seper": 1, "id": [1, 3, 7, 9, 10, 18, 19, 23, 26], "anyth": [1, 24], "reinstal": 1, "applic": 1, "http_session": [2, 3, 24], "redis_sess": [2, 3], "all_extens": [2, 3], "add_cog": [2, 3], "add_command": [2, 3], "clear": [2, 3, 7, 8, 19], "log_to_dev_log": [2, 3], "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "register_command_error_manag": [2, 3], "remove_command": [2, 3], "setup_hook": [2, 3], "wait_until_guild_avail": [2, 3], "emptypaginatorembederror": [2, 3, 7, 23], "add_lin": [2, 3, 7, 23], "paginationemoji": [2, 3, 7, 23], "model_computed_field": [2, 3, 7, 23, 24], "model_config": [2, 3, 7, 23, 24], "model_field": [2, 3, 7, 23, 24], "startuperror": [2, 3], "subpackag": 2, "submodul": [2, 13], "async_stat": [2, 3], "asyncstatscli": [2, 3, 4], "responsecodeerror": [2, 3, 6], "index": 2, "search": 2, "page": [2, 3, 23], "inform": [2, 19, 20], "local": 2, "test": 2, "changelog": 2, "tool": [3, 7], "arg": [3, 12, 17, 19, 20], "kwarg": [3, 6, 12, 17, 18, 20, 26], "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], "belong": 3, "int": [3, 4, 8, 9, 10, 17, 18, 23, 24], "clientsess": [3, 6, 24], "commun": [3, 4], "metric": 3, "str": [3, 4, 6, 7, 10, 11, 17, 18, 19, 20, 23, 24, 26], "redissess": 3, "were": 3, "found": [3, 17, 21, 26], "frozenset": [3, 17], "initialis": [3, 8], "server": [3, 25], "If": [3, 6, 10, 12, 17, 18, 19, 22, 23, 26], "oper": [3, 19, 23, 26], "normal": 3, "alias": [3, 7], "Not": 3, "instanti": [3, 18, 26], "instead": [3, 12, 26], "connector": 3, "resolv": [3, 17], "sync_app_command": 3, "true": [3, 6, 10, 12, 19, 20, 22, 23, 24, 26], "bool": [3, 6, 9, 10, 12, 14, 15, 18, 19, 22, 23, 26], "intern": [3, 7, 19], "becom": [3, 19], "appear": 3, "still": [3, 23], "empti": [3, 23], "guild_available_but_cache_empti": 3, "emit": 3, "unavail": 3, "ping": 3, "thei": [3, 17, 22], "relev": 3, "bind": [3, 17], "tree": 3, "reason": [3, 23], "doesn": [3, 10, 26], "happen": 3, "constructor": [3, 6], "becaus": [3, 17], "registr": [3, 14, 16], "name": [3, 7, 17, 19, 20, 23, 24, 26], "alia": [3, 7, 12], "individu": 3, "manual": 3, "edit": 3, "all_command": 3, "startup": 3, "create_socket": [3, 4], "readi": 3, "on_readi": 3, "inadequ": 3, "second": [3, 10, 12, 18, 23, 26], "guild_creat": 3, "gatewai": 3, "give": 3, "thu": 3, "popul": 3, "except": [3, 6, 10, 12, 14, 16, 17, 19, 20, 23, 24, 26], "rais": [3, 6, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 23, 24, 26], "suffix": [3, 23], "max_siz": [3, 8, 23, 24], "4000": [3, 23], "scale_to_s": [3, 23], "max_lin": [3, 23], "linesep": [3, 23], "n": [3, 23], "aid": [3, 23], "pagination_emoji": [3, 23], "insert": [3, 23], "everi": [3, 23], "e": [3, 23], "g": [3, 23], "three": [3, 23], "backtick": [3, 23], "append": [3, 23], "end": [3, 23], "maximum": [3, 8, 23, 24], "amount": [3, 23], "codepoint": [3, 23], "line": [3, 23], "scale": [3, 23], "overrid": [3, 23], "insid": [3, 23], "It": [3, 7, 19, 23], "order": [3, 8, 14, 16, 17, 19, 23, 26], "per": [3, 10, 23], "fals": [3, 10, 12, 19, 23, 24], "exce": [3, 8, 23], "overflow": [3, 23], "word": [3, 23], "exceed": [3, 23], "excess": [3, 23], "place": [3, 23], "next": [3, 23], "unti": [3, 23], "remain": [3, 23], "boundari": [3, 23], "truncat": [3, 23], "continu": [3, 23], "onto": [3, 23], "In": [3, 23], "alreadi": [3, 23, 26], "would": [3, 23], "caus": [3, 7, 23], "done": [3, 18, 23, 26], "best": [3, 23], "effort": [3, 23], "while": [3, 12, 19, 23], "keep": [3, 23, 26], "total": [3, 23], "length": [3, 12, 23], "size": [3, 8, 23, 24], "indic": [3, 21, 23], "classmethod": [3, 23], "ctx": [3, 10, 11, 18, 23], "500": [3, 23], "restrict_to_us": [3, 23], "300": [3, 23], "footer_text": [3, 23], "exception_on_empty_emb": [3, 23], "repli": [3, 11, 12, 13, 23], "switch": [3, 23], "finish": [3, 19, 23], "appli": [3, 7, 8, 10, 12, 19, 23, 24], "These": [3, 23], "five": [3, 23], "minut": [3, 23], "limit": [3, 23], "author": [3, 10, 22, 23], "ani": [3, 6, 10, 17, 19, 23, 25, 26], "moder": [3, 18, 22, 23], "context": [3, 10, 11, 14, 15, 19, 23], "hold": [3, 19, 23], "serv": [3, 23], "whom": [3, 23], "anymor": [3, 23], "footer": [3, 23], "sequenc": [3, 7, 17, 18, 23], "exampl": [3, 23], "set_author": [3, 23], "icon_url": [3, 23], "icon": [3, 23], "data": [3, 23, 24], "basemodel": [3, 23, 24], "classvar": [3, 23, 24], "dict": [3, 6, 17, 23, 24], "computedfieldinfo": [3, 23, 24], "dictionari": [3, 23, 24], "comput": [3, 23, 24], "field": [3, 23, 24], "correspond": [3, 23, 24], "object": [3, 6, 7, 8, 9, 12, 14, 16, 19, 21, 23, 24, 26], "configdict": [3, 23, 24], "model": [3, 23, 24], "conform": [3, 23, 24], "fieldinfo": [3, 23, 24], "annot": [3, 17, 23, 24], "trashcan": [3, 23], "637136429717389331": [3, 23], "first": [3, 14, 16, 23], "last": [3, 10, 18, 23], "left": [3, 23], "metadata": [3, 23, 24], "about": [3, 12, 23, 24], "defin": [3, 23, 24], "map": [3, 17, 19, 23, 24], "replac": [3, 10, 17, 23, 24], "__fields__": [3, 23, 24], "handle_forbidden_from_block": [3, 7, 13], "asynccach": [3, 7, 8], "is_in_categori": [3, 7, 9], "contextcheckfailur": [3, 7, 10], "inwhitelistcheckfailur": [3, 7, 10], "cooldown_with_role_bypass": [3, 7, 10], "has_any_role_check": [3, 7, 10], "has_no_roles_check": [3, 7, 10], "in_whitelist_check": [3, 7, 10], "clean_text_or_repli": [3, 7, 11], "cooldown": [3, 7, 10], "commandoncooldown": [3, 7, 12], "p": [3, 7, 12], "r": [3, 7, 12], "block_duplicate_invoc": [3, 7, 12], "globalnameconflicterror": [3, 7, 17], "command_wrap": [3, 7, 17], "get_arg_valu": [3, 7, 17], "get_arg_value_wrapp": [3, 7, 17], "get_bound_arg": [3, 7, 17], "update_wrapper_glob": [3, 7, 17], "lockedresourceerror": [3, 7, 19], "sharedev": [3, 7, 19], "lock_arg": [3, 7, 19], "customlogg": [3, 7, 20], "get_logg": [3, 7, 20], "max_paste_s": [3, 7, 24], "pasterespons": [3, 7, 24], "pastetoolongerror": [3, 7, 24], "pasteunsupportedlexererror": [3, 7, 24], "pasteuploaderror": [3, 7, 24], "formatted_code_regex": [3, 7, 25], "raw_code_regex": [3, 7, 25], "create_task": [3, 7, 26], "maybe_raise_for_statu": [3, 6], "post": [3, 6, 24], "put": [3, 6], "__str__": [3, 6], "transport": 4, "loop": [4, 26], "host": 4, "localhost": 4, "8125": 4, "statsclientbas": 4, "abstracteventloop": [4, 26], "create_datagram_endpoint": 4, "socket": 4, "reusabl": 5, "around": 6, "site_api_url": 6, "site_api_token": 6, "session_kwarg": 6, "django": 6, "initi": [6, 26], "authent": 6, "keyword": [6, 7, 17, 20], "argument": [6, 7, 8, 11, 12, 17, 19, 20, 21], "endpoint": 6, "raise_for_statu": 6, "equival": 6, "static": 6, "should_rais": 6, "non": 6, "ok": 6, "clientrespons": 6, "json": 6, "response_json": 6, "response_text": 6, "valueerror": [6, 17, 24], "represent": 6, "group": [7, 25], "root_alias": 7, "two": 7, "act": 7, "top": 7, "rather": 7, "than": [7, 24], "send_typ": 7, "403": 7, "under": 7, "heavi": 7, "cloudflar": 7, "worker": 7, "rout": 7, "thrown": 7, "qualifi": 7, "__call__": [7, 8], "call_without_cooldown": [7, 12], "callback": [7, 10, 18], "interaction_check": [7, 18], "on_timeout": [7, 18], "__enter__": [7, 19], "__exit__": [7, 19], "__contains__": [7, 26], "cancel": [7, 26], "cancel_al": [7, 26], "schedule_at": [7, 26], "schedule_lat": [7, 26], "relat": [8, 14, 16, 20], "128": 8, "lru": 8, "coroutin": [8, 19, 21, 26], "kei": 8, "fifo": 8, "offset": 8, "arg_offset": 8, "posit": [8, 17, 19], "callabl": [8, 10, 12, 17, 19, 21], "wrap": [8, 17, 26], "item": 8, "channel_id": 9, "fetch": [9, 21], "invaliddata": 9, "unknown": 9, "httpexcept": 9, "retriev": 9, "fail": [9, 10, 24], "notfound": 9, "invalid": 9, "guildchannel": 9, "category_id": 9, "categori": [9, 10], "textchannel": 9, "redirect_channel": 10, "checkfailur": 10, "in_whitelist": 10, "rate": 10, "type_": 10, "bypass_rol": 10, "bypass": 10, "before_invok": 10, "introduc": 10, "problem": [10, 20], "futur": [10, 26], "trigger": 10, "float": [10, 12, 18, 26], "durat": 10, "long": [10, 24, 26], "buckettyp": 10, "iter": [10, 12, 14, 16], "describ": 10, "behavior": 10, "typeerror": [10, 17], "verifi": 10, "alwai": 10, "dm": 10, "sinc": 10, "where": 10, "union": 10, "collect": 10, "least": 10, "otherwis": [10, 19, 26], "redirect": 10, "fail_sil": 10, "issu": 10, "whitelist": 10, "silent": 10, "badargu": 11, "wasn": 11, "els": 11, "commanderror": 12, "typevar": [12, 17, 26], "valu": [12, 17, 19, 20], "signatur": 12, "cooldown_dur": 12, "send_notic": 12, "args_preprocessor": 12, "prevent": [12, 19, 26], "same": [12, 26], "notifi": 12, "paramspec": [12, 17], "raw": [12, 25], "handle_app_command_error": [13, 14, 15], "handle_text_command_error": [13, 14, 15], "should_handle_error": [13, 14, 15, 16], "handle_error": [13, 14, 16], "register_handl": [13, 14, 16], "noreturn": [14, 15], "determin": [14, 15, 16], "context_or_interact": [14, 16], "through": [14, 16, 19], "choos": [14, 16], "capabl": [14, 16], "prioriti": [14, 16], "conflict": 17, "global": 17, "assign": 17, "__module__": 17, "__name__": 17, "__qualname__": 17, "__doc__": 17, "__annotations__": 17, "__dict__": 17, "ignored_conflict_nam": 17, "look": [17, 26], "forwardref": 17, "evalu": 17, "detail": 17, "_p": 17, "_r": 17, "behav": 17, "functool": 17, "name_or_po": [17, 19], "ordereddict": [17, 19], "decorator_func": 17, "func": [17, 19], "accept": [17, 18], "tupl": [17, 26], "For": 17, "__global__": 17, "state": 17, "won": 17, "reflect": 17, "typehint": 17, "style": 18, "secondari": 18, "click": 18, "itself": 18, "carri": 18, "buttonstyl": 18, "180": 18, "ui": 18, "input": 18, "similar": [18, 25], "occur": 18, "listen": 18, "access": 18, "resource_typ": 19, "resource_id": 19, "runtimeerror": 19, "resourc": 19, "hashabl": [19, 26], "expos": 19, "coro": [19, 21, 26], "execut": [19, 26], "underli": 19, "holder": 19, "increment": 19, "count": 19, "activ": 19, "_exc_typ": 19, "_exc_val": 19, "_exc_tb": 19, "decrement": 19, "reach": 19, "exit": 19, "raise_error": 19, "turn": 19, "mutual": 19, "exclus": 19, "identifi": [19, 26], "collis": 19, "among": 19, "perform": 19, "acquir": 19, "msg": 20, "sever": 20, "exc_info": 20, "houston": 20, "we": [20, 21], "interest": 20, "mypi": 20, "recognis": 20, "formatt": 20, "interactin": 21, "member_id": 21, "failur": 21, "sole": 21, "expect": 21, "add_rol": 21, "remove_rol": 21, "purpos": 21, "intend": 21, "message_id": 22, "allowed_emoji": 22, "allow_mod": 22, "even": 22, "524288": 24, "byte": 24, "format": [24, 25], "link": 24, "too": 24, "larg": 24, "unsupport": 24, "encount": 24, "paste_url": 24, "max": 24, "larger": 24, "reject": 24, "max_length": 24, "greater": 24, "regular": 25, "express": 25, "pattern": 25, "pleas": 25, "sanitis": 25, "output": 25, "someth": 25, "urllib": 25, "pars": 25, "quot": 25, "track": 26, "distinguish": 26, "suggest": 26, "immedi": 26, "uniqu": 26, "prematur": 26, "task_id": 26, "unschedul": 26, "known": 26, "unawait": 26, "elsewher": 26, "timezon": 26, "calcul": 26, "subtract": 26, "na\u00efv": 26, "utc": 26, "datetim": 26, "delai": 26, "suppressed_except": 26, "event_loop": 26, "task_return": 26}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 4, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 4, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 3, 1, "", "all_extensions"], [3, 3, 1, "", "api_client"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 3, 1, "", "guild_id"], [3, 3, 1, "", "http_session"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 3, 1, "", "redis_session"], [3, 2, 1, "", "register_command_error_manager"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 3, 1, "", "stats"], [3, 3, 1, "", "statsd_url"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.LinePaginator": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_line"], [3, 2, 1, "", "paginate"]], "pydis_core.PaginationEmojis": [[3, 3, 1, "", "model_computed_fields"], [3, 3, 1, "", "model_config"], [3, 3, 1, "", "model_fields"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 4, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 5, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "checks"], [11, 0, 0, "-", "commands"], [12, 0, 0, "-", "cooldown"], [13, 0, 0, "-", "error_handling"], [17, 0, 0, "-", "function"], [18, 0, 0, "-", "interactions"], [19, 0, 0, "-", "lock"], [20, 0, 0, "-", "logging"], [21, 0, 0, "-", "members"], [22, 0, 0, "-", "messages"], [23, 0, 0, "-", "pagination"], [24, 0, 0, "-", "paste_service"], [25, 0, 0, "-", "regex"], [26, 0, 0, "-", "scheduling"], [7, 5, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 5, 1, "", "get_or_fetch_channel"], [9, 5, 1, "", "is_in_category"]], "pydis_core.utils.checks": [[10, 4, 1, "", "ContextCheckFailure"], [10, 4, 1, "", "InWhitelistCheckFailure"], [10, 5, 1, "", "cooldown_with_role_bypass"], [10, 5, 1, "", "has_any_role_check"], [10, 5, 1, "", "has_no_roles_check"], [10, 5, 1, "", "in_whitelist_check"]], "pydis_core.utils.checks.ContextCheckFailure": [[10, 2, 1, "", "__init__"]], "pydis_core.utils.commands": [[11, 5, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[12, 4, 1, "", "CommandOnCooldown"], [12, 6, 1, "", "P"], [12, 1, 1, "", "R"], [12, 5, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[12, 2, 1, "", "__init__"], [12, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[14, 0, 0, "-", "commands"], [13, 5, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.error_handling.commands": [[14, 1, 1, "", "AbstractCommandErrorHandler"], [14, 1, 1, "", "CommandErrorManager"], [15, 0, 0, "-", "abc"], [16, 0, 0, "-", "manager"]], "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler": [[14, 2, 1, "", "handle_app_command_error"], [14, 2, 1, "", "handle_text_command_error"], [14, 2, 1, "", "should_handle_error"]], "pydis_core.utils.error_handling.commands.CommandErrorManager": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "handle_error"], [14, 2, 1, "", "register_handler"]], "pydis_core.utils.error_handling.commands.abc": [[15, 1, 1, "", "AbstractCommandErrorHandler"]], "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler": [[15, 2, 1, "", "handle_app_command_error"], [15, 2, 1, "", "handle_text_command_error"], [15, 2, 1, "", "should_handle_error"]], "pydis_core.utils.error_handling.commands.manager": [[16, 1, 1, "", "CommandErrorManager"]], "pydis_core.utils.error_handling.commands.manager.CommandErrorManager": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "handle_error"], [16, 2, 1, "", "register_handler"]], "pydis_core.utils.function": [[17, 4, 1, "", "GlobalNameConflictError"], [17, 5, 1, "", "command_wraps"], [17, 5, 1, "", "get_arg_value"], [17, 5, 1, "", "get_arg_value_wrapper"], [17, 5, 1, "", "get_bound_args"], [17, 5, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[18, 1, 1, "", "DeleteMessageButton"], [18, 1, 1, "", "ViewWithUserAndRoleCheck"], [18, 5, 1, "", "user_has_access"]], "pydis_core.utils.interactions.DeleteMessageButton": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "interaction_check"], [18, 2, 1, "", "on_timeout"], [18, 2, 1, "", "stop"]], "pydis_core.utils.lock": [[19, 4, 1, "", "LockedResourceError"], [19, 1, 1, "", "SharedEvent"], [19, 5, 1, "", "lock"], [19, 5, 1, "", "lock_arg"]], "pydis_core.utils.lock.LockedResourceError": [[19, 2, 1, "", "__init__"], [19, 3, 1, "", "id"], [19, 3, 1, "", "type"]], "pydis_core.utils.lock.SharedEvent": [[19, 2, 1, "", "__enter__"], [19, 2, 1, "", "__exit__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "wait"]], "pydis_core.utils.logging": [[20, 1, 1, "", "CustomLogger"], [20, 5, 1, "", "get_logger"], [20, 6, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[20, 2, 1, "", "trace"]], "pydis_core.utils.members": [[21, 5, 1, "", "get_or_fetch_member"], [21, 5, 1, "", "handle_role_change"]], "pydis_core.utils.messages": [[22, 5, 1, "", "reaction_check"]], "pydis_core.utils.pagination": [[23, 4, 1, "", "EmptyPaginatorEmbedError"], [23, 1, 1, "", "LinePaginator"], [23, 1, 1, "", "PaginationEmojis"]], "pydis_core.utils.pagination.LinePaginator": [[23, 2, 1, "", "__init__"], [23, 2, 1, "", "add_line"], [23, 2, 1, "", "paginate"]], "pydis_core.utils.pagination.PaginationEmojis": [[23, 3, 1, "", "model_computed_fields"], [23, 3, 1, "", "model_config"], [23, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[24, 6, 1, "", "MAX_PASTE_SIZE"], [24, 1, 1, "", "PasteFile"], [24, 1, 1, "", "PasteResponse"], [24, 4, 1, "", "PasteTooLongError"], [24, 4, 1, "", "PasteUnsupportedLexerError"], [24, 4, 1, "", "PasteUploadError"], [24, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[24, 3, 1, "", "model_computed_fields"], [24, 3, 1, "", "model_config"], [24, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[24, 3, 1, "", "model_computed_fields"], [24, 3, 1, "", "model_config"], [24, 3, 1, "", "model_fields"]], "pydis_core.utils.regex": [[25, 6, 1, "", "DISCORD_INVITE"], [25, 6, 1, "", "FORMATTED_CODE_REGEX"], [25, 6, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[26, 1, 1, "", "Scheduler"], [26, 5, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[26, 2, 1, "", "__contains__"], [26, 2, 1, "", "__init__"], [26, 2, 1, "", "cancel"], [26, 2, 1, "", "cancel_all"], [26, 2, 1, "", "schedule"], [26, 2, 1, "", "schedule_at"], [26, 2, 1, "", "schedule_later"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:exception", "5": "py:function", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "exception", "Python exception"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"]}, "titleterms": {"changelog": 0, "local": 1, "develop": 1, "test": 1, "option": 1, "1": 1, "2": 1, "bot": 2, "core": [2, 3], "project": 2, "document": 2, "refer": 2, "modul": 2, "extra": 2, "pydi": 3, "subpackag": [3, 7, 13], "submodul": [3, 7, 14], "async_stat": 4, "ext": 5, "site_api": 6, "util": 7, "cach": 8, "channel": 9, "check": 10, "command": [11, 14], "cooldown": 12, "error_handl": 13, "packag": [13, 14], "abc": 15, "manag": 16, "function": 17, "interact": 18, "lock": 19, "log": 20, "member": 21, "messag": 22, "pagin": 23, "paste_servic": 24, "regex": 25, "schedul": 26}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 60}, "alltitles": {"cooldown": [[12, "module-pydis_core.utils.cooldown"]], "manager": [[16, "module-pydis_core.utils.error_handling.commands.manager"]], "abc": [[15, "module-pydis_core.utils.error_handling.commands.abc"]], "error_handling package": [[13, "module-pydis_core.utils.error_handling"]], "Subpackages": [[13, "subpackages"], [7, "subpackages"], [3, "subpackages"]], "commands package": [[14, "module-pydis_core.utils.error_handling.commands"]], "Submodules": [[14, "submodules"], [7, "submodules"], [3, "submodules"]], "function": [[17, "module-pydis_core.utils.function"]], "channel": [[9, "module-pydis_core.utils.channel"]], "checks": [[10, "module-pydis_core.utils.checks"]], "site_api": [[6, "module-pydis_core.site_api"]], "commands": [[11, "module-pydis_core.utils.commands"]], "caching": [[8, "module-pydis_core.utils.caching"]], "Utils": [[7, "module-pydis_core.utils"]], "Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Reference": [[2, "reference"]], "Modules:": [[2, null]], "Extras": [[2, "extras"]], "Changelog": [[0, "changelog"]], "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"]], "Pydis Core": [[3, "module-pydis_core"]], "Exts": [[5, "module-pydis_core.exts"]], "pagination": [[23, "module-pydis_core.utils.pagination"]], "members": [[21, "module-pydis_core.utils.members"]], "lock": [[19, "module-pydis_core.utils.lock"]], "messages": [[22, "module-pydis_core.utils.messages"]], "logging": [[20, "module-pydis_core.utils.logging"]], "interactions": [[18, "module-pydis_core.utils.interactions"]], "regex": [[25, "module-pydis_core.utils.regex"]], "scheduling": [[26, "module-pydis_core.utils.scheduling"]], "paste_service": [[24, "module-pydis_core.utils.paste_service"]]}, "indexentries": {"botbase (class in pydis_core)": [[3, "pydis_core.BotBase"]], "emptypaginatorembederror": [[3, "pydis_core.EmptyPaginatorEmbedError"], [23, "pydis_core.utils.pagination.EmptyPaginatorEmbedError"]], "linepaginator (class in pydis_core)": [[3, "pydis_core.LinePaginator"]], "paginationemojis (class in pydis_core)": [[3, "pydis_core.PaginationEmojis"]], "startuperror": [[3, "pydis_core.StartupError"]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__"]], "__init__() (linepaginator method)": [[3, "pydis_core.LinePaginator.__init__"], [23, "pydis_core.utils.pagination.LinePaginator.__init__"]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__"]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog"]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command"]], "add_line() (linepaginator method)": [[3, "pydis_core.LinePaginator.add_line"], [23, "pydis_core.utils.pagination.LinePaginator.add_line"]], "all_extensions (botbase attribute)": [[3, "pydis_core.BotBase.all_extensions"]], "api_client (botbase attribute)": [[3, "pydis_core.BotBase.api_client"]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear"]], "close() (botbase method)": [[3, "pydis_core.BotBase.close"]], "guild_id (botbase attribute)": [[3, "pydis_core.BotBase.guild_id"]], "http_session (botbase attribute)": [[3, "pydis_core.BotBase.http_session"]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions"]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log"]], "model_computed_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_computed_fields"], [23, "pydis_core.utils.pagination.PaginationEmojis.model_computed_fields"]], "model_config (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_config"], [23, "pydis_core.utils.pagination.PaginationEmojis.model_config"]], "model_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_fields"], [23, "pydis_core.utils.pagination.PaginationEmojis.model_fields"]], "module": [[3, "module-pydis_core"], [4, "module-pydis_core.async_stats"], [5, "module-pydis_core.exts"], [6, "module-pydis_core.site_api"], [7, "module-pydis_core.utils"], [8, "module-pydis_core.utils.caching"], [9, "module-pydis_core.utils.channel"], [10, "module-pydis_core.utils.checks"], [11, "module-pydis_core.utils.commands"], [12, "module-pydis_core.utils.cooldown"], [13, "module-pydis_core.utils.error_handling"], [14, "module-pydis_core.utils.error_handling.commands"], [15, "module-pydis_core.utils.error_handling.commands.abc"], [16, "module-pydis_core.utils.error_handling.commands.manager"], [17, "module-pydis_core.utils.function"], [18, "module-pydis_core.utils.interactions"], [19, "module-pydis_core.utils.lock"], [20, "module-pydis_core.utils.logging"], [21, "module-pydis_core.utils.members"], [22, "module-pydis_core.utils.messages"], [23, "module-pydis_core.utils.pagination"], [24, "module-pydis_core.utils.paste_service"], [25, "module-pydis_core.utils.regex"], [26, "module-pydis_core.utils.scheduling"]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available"]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable"]], "paginate() (linepaginator class method)": [[3, "pydis_core.LinePaginator.paginate"], [23, "pydis_core.utils.pagination.LinePaginator.paginate"]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services"]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands"]], "pydis_core": [[3, "module-pydis_core"]], "redis_session (botbase attribute)": [[3, "pydis_core.BotBase.redis_session"]], "register_command_error_manager() (botbase method)": [[3, "pydis_core.BotBase.register_command_error_manager"]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command"]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook"]], "stats (botbase attribute)": [[3, "pydis_core.BotBase.stats"]], "statsd_url (botbase attribute)": [[3, "pydis_core.BotBase.statsd_url"]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available"]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient"]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__"]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket"]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats"]], "pydis_core.exts": [[5, "module-pydis_core.exts"]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient"]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError"]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__"]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__"]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__"]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close"]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete"]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get"]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status"]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch"]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post"]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put"]], "pydis_core.site_api": [[6, "module-pydis_core.site_api"]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request"]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches"]], "pydis_core.utils": [[7, "module-pydis_core.utils"]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify"]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache"]], "__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__"]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__"]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear"]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching"]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel"]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category"]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel"]], "contextcheckfailure": [[10, "pydis_core.utils.checks.ContextCheckFailure"]], "inwhitelistcheckfailure": [[10, "pydis_core.utils.checks.InWhitelistCheckFailure"]], "__init__() (contextcheckfailure method)": [[10, "pydis_core.utils.checks.ContextCheckFailure.__init__"]], "cooldown_with_role_bypass() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.cooldown_with_role_bypass"]], "has_any_role_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_any_role_check"]], "has_no_roles_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_no_roles_check"]], "in_whitelist_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.in_whitelist_check"]], "pydis_core.utils.checks": [[10, "module-pydis_core.utils.checks"]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[11, "pydis_core.utils.commands.clean_text_or_reply"]], "pydis_core.utils.commands": [[11, "module-pydis_core.utils.commands"]], "commandoncooldown": [[12, "pydis_core.utils.cooldown.CommandOnCooldown"]], "p (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.P"]], "r (class in pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.R"]], "__init__() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.__init__"]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.block_duplicate_invocations"]], "call_without_cooldown() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown"]], "pydis_core.utils.cooldown": [[12, "module-pydis_core.utils.cooldown"]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[13, "pydis_core.utils.error_handling.handle_forbidden_from_block"]], "pydis_core.utils.error_handling": [[13, "module-pydis_core.utils.error_handling"]], "abstractcommanderrorhandler (class in pydis_core.utils.error_handling.commands)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler"]], "commanderrormanager (class in pydis_core.utils.error_handling.commands)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager"]], "__init__() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.__init__"], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__"]], "handle_app_command_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error"], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error"]], "handle_error() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error"], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error"]], "handle_text_command_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error"], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error"]], "pydis_core.utils.error_handling.commands": [[14, "module-pydis_core.utils.error_handling.commands"]], "register_handler() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler"], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler"]], "should_handle_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error"], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error"]], "abstractcommanderrorhandler (class in pydis_core.utils.error_handling.commands.abc)": [[15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler"]], "pydis_core.utils.error_handling.commands.abc": [[15, "module-pydis_core.utils.error_handling.commands.abc"]], "commanderrormanager (class in pydis_core.utils.error_handling.commands.manager)": [[16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager"]], "pydis_core.utils.error_handling.commands.manager": [[16, "module-pydis_core.utils.error_handling.commands.manager"]], "globalnameconflicterror": [[17, "pydis_core.utils.function.GlobalNameConflictError"]], "command_wraps() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.command_wraps"]], "get_arg_value() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_arg_value"]], "get_arg_value_wrapper() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_arg_value_wrapper"]], "get_bound_args() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_bound_args"]], "pydis_core.utils.function": [[17, "module-pydis_core.utils.function"]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.update_wrapper_globals"]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.DeleteMessageButton"]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck"]], "__init__() (deletemessagebutton method)": [[18, "pydis_core.utils.interactions.DeleteMessageButton.__init__"]], "__init__() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__"]], "callback() (deletemessagebutton method)": [[18, "pydis_core.utils.interactions.DeleteMessageButton.callback"]], "interaction_check() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check"]], "on_timeout() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout"]], "pydis_core.utils.interactions": [[18, "module-pydis_core.utils.interactions"]], "stop() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop"]], "user_has_access() (in module pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.user_has_access"]], "lockedresourceerror": [[19, "pydis_core.utils.lock.LockedResourceError"]], "sharedevent (class in pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.SharedEvent"]], "__enter__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__enter__"]], "__exit__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__exit__"]], "__init__() (lockedresourceerror method)": [[19, "pydis_core.utils.lock.LockedResourceError.__init__"]], "__init__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__init__"]], "id (lockedresourceerror attribute)": [[19, "pydis_core.utils.lock.LockedResourceError.id"]], "lock() (in module pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.lock"]], "lock_arg() (in module pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.lock_arg"]], "pydis_core.utils.lock": [[19, "module-pydis_core.utils.lock"]], "type (lockedresourceerror attribute)": [[19, "pydis_core.utils.lock.LockedResourceError.type"]], "wait() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.wait"]], "customlogger (class in pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.CustomLogger"]], "get_logger() (in module pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.get_logger"]], "log_format (in module pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.log_format"]], "pydis_core.utils.logging": [[20, "module-pydis_core.utils.logging"]], "trace() (customlogger method)": [[20, "pydis_core.utils.logging.CustomLogger.trace"]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[21, "pydis_core.utils.members.get_or_fetch_member"]], "handle_role_change() (in module pydis_core.utils.members)": [[21, "pydis_core.utils.members.handle_role_change"]], "pydis_core.utils.members": [[21, "module-pydis_core.utils.members"]], "pydis_core.utils.messages": [[22, "module-pydis_core.utils.messages"]], "reaction_check() (in module pydis_core.utils.messages)": [[22, "pydis_core.utils.messages.reaction_check"]], "linepaginator (class in pydis_core.utils.pagination)": [[23, "pydis_core.utils.pagination.LinePaginator"]], "paginationemojis (class in pydis_core.utils.pagination)": [[23, "pydis_core.utils.pagination.PaginationEmojis"]], "pydis_core.utils.pagination": [[23, "module-pydis_core.utils.pagination"]], "max_paste_size (in module pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.MAX_PASTE_SIZE"]], "pastefile (class in pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.PasteFile"]], "pasteresponse (class in pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.PasteResponse"]], "pastetoolongerror": [[24, "pydis_core.utils.paste_service.PasteTooLongError"]], "pasteunsupportedlexererror": [[24, "pydis_core.utils.paste_service.PasteUnsupportedLexerError"]], "pasteuploaderror": [[24, "pydis_core.utils.paste_service.PasteUploadError"]], "model_computed_fields (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_computed_fields"]], "model_computed_fields (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields"]], "model_config (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_config"]], "model_config (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_config"]], "model_fields (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_fields"]], "model_fields (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_fields"]], "pydis_core.utils.paste_service": [[24, "module-pydis_core.utils.paste_service"]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.send_to_paste_service"]], "discord_invite (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.DISCORD_INVITE"]], "formatted_code_regex (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.FORMATTED_CODE_REGEX"]], "raw_code_regex (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.RAW_CODE_REGEX"]], "pydis_core.utils.regex": [[25, "module-pydis_core.utils.regex"]], "scheduler (class in pydis_core.utils.scheduling)": [[26, "pydis_core.utils.scheduling.Scheduler"]], "__contains__() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.__contains__"]], "__init__() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.__init__"]], "cancel() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.cancel"]], "cancel_all() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.cancel_all"]], "create_task() (in module pydis_core.utils.scheduling)": [[26, "pydis_core.utils.scheduling.create_task"]], "pydis_core.utils.scheduling": [[26, "module-pydis_core.utils.scheduling"]], "schedule() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule"]], "schedule_at() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule_at"]], "schedule_later() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule_later"]]}}) \ No newline at end of file +Search.setIndex({"alltitles": {"Bot Core Project Documentation": [[2, "bot-core-project-documentation"]], "Changelog": [[0, "changelog"]], "Extras": [[2, "extras"]], "Exts": [[5, "module-pydis_core.exts"]], "Local Development & Testing": [[1, "local-development-testing"]], "Modules:": [[2, null]], "Option 1": [[1, "option-1"]], "Option 2": [[1, "option-2"]], "Pydis Core": [[3, "module-pydis_core"]], "Reference": [[2, "reference"]], "Submodules": [[3, "submodules"], [7, "submodules"], [14, "submodules"]], "Subpackages": [[3, "subpackages"], [7, "subpackages"], [13, "subpackages"]], "Utils": [[7, "module-pydis_core.utils"]], "abc": [[15, "module-pydis_core.utils.error_handling.commands.abc"]], "async_stats": [[4, "module-pydis_core.async_stats"]], "caching": [[8, "module-pydis_core.utils.caching"]], "channel": [[9, "module-pydis_core.utils.channel"]], "checks": [[10, "module-pydis_core.utils.checks"]], "commands": [[11, "module-pydis_core.utils.commands"]], "commands package": [[14, "module-pydis_core.utils.error_handling.commands"]], "cooldown": [[12, "module-pydis_core.utils.cooldown"]], "error_handling package": [[13, "module-pydis_core.utils.error_handling"]], "function": [[17, "module-pydis_core.utils.function"]], "interactions": [[18, "module-pydis_core.utils.interactions"]], "lock": [[19, "module-pydis_core.utils.lock"]], "logging": [[20, "module-pydis_core.utils.logging"]], "manager": [[16, "module-pydis_core.utils.error_handling.commands.manager"]], "members": [[21, "module-pydis_core.utils.members"]], "messages": [[22, "module-pydis_core.utils.messages"]], "pagination": [[23, "module-pydis_core.utils.pagination"]], "paste_service": [[24, "module-pydis_core.utils.paste_service"]], "regex": [[25, "module-pydis_core.utils.regex"]], "scheduling": [[26, "module-pydis_core.utils.scheduling"]], "site_api": [[6, "module-pydis_core.site_api"]]}, "docnames": ["changelog", "development", "index", "output/pydis_core", "output/pydis_core.async_stats", "output/pydis_core.exts", "output/pydis_core.site_api", "output/pydis_core.utils", "output/pydis_core.utils.caching", "output/pydis_core.utils.channel", "output/pydis_core.utils.checks", "output/pydis_core.utils.commands", "output/pydis_core.utils.cooldown", "output/pydis_core.utils.error_handling", "output/pydis_core.utils.error_handling.commands", "output/pydis_core.utils.error_handling.commands.abc", "output/pydis_core.utils.error_handling.commands.manager", "output/pydis_core.utils.function", "output/pydis_core.utils.interactions", "output/pydis_core.utils.lock", "output/pydis_core.utils.logging", "output/pydis_core.utils.members", "output/pydis_core.utils.messages", "output/pydis_core.utils.pagination", "output/pydis_core.utils.paste_service", "output/pydis_core.utils.regex", "output/pydis_core.utils.scheduling"], "envversion": {"sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.todo": 2}, "filenames": ["changelog.rst", "development.rst", "index.rst", "output/pydis_core.rst", "output/pydis_core.async_stats.rst", "output/pydis_core.exts.rst", "output/pydis_core.site_api.rst", "output/pydis_core.utils.rst", "output/pydis_core.utils.caching.rst", "output/pydis_core.utils.channel.rst", "output/pydis_core.utils.checks.rst", "output/pydis_core.utils.commands.rst", "output/pydis_core.utils.cooldown.rst", "output/pydis_core.utils.error_handling.rst", "output/pydis_core.utils.error_handling.commands.rst", "output/pydis_core.utils.error_handling.commands.abc.rst", "output/pydis_core.utils.error_handling.commands.manager.rst", "output/pydis_core.utils.function.rst", "output/pydis_core.utils.interactions.rst", "output/pydis_core.utils.lock.rst", "output/pydis_core.utils.logging.rst", "output/pydis_core.utils.members.rst", "output/pydis_core.utils.messages.rst", "output/pydis_core.utils.pagination.rst", "output/pydis_core.utils.paste_service.rst", "output/pydis_core.utils.regex.rst", "output/pydis_core.utils.scheduling.rst"], "indexentries": {"__call__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__call__", false]], "__contains__() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.__contains__", false]], "__enter__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__enter__", false]], "__exit__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__exit__", false]], "__init__() (apiclient method)": [[6, "pydis_core.site_api.APIClient.__init__", false]], "__init__() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.__init__", false]], "__init__() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.__init__", false]], "__init__() (botbase method)": [[3, "pydis_core.BotBase.__init__", false]], "__init__() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.__init__", false], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.__init__", false]], "__init__() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.__init__", false]], "__init__() (contextcheckfailure method)": [[10, "pydis_core.utils.checks.ContextCheckFailure.__init__", false]], "__init__() (deletemessagebutton method)": [[18, "pydis_core.utils.interactions.DeleteMessageButton.__init__", false]], "__init__() (linepaginator method)": [[3, "pydis_core.LinePaginator.__init__", false], [23, "pydis_core.utils.pagination.LinePaginator.__init__", false]], "__init__() (lockedresourceerror method)": [[19, "pydis_core.utils.lock.LockedResourceError.__init__", false]], "__init__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__init__", false]], "__init__() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.__init__", false]], "__init__() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.__init__", false]], "__init__() (startuperror method)": [[3, "pydis_core.StartupError.__init__", false]], "__init__() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.__init__", false]], "__str__() (responsecodeerror method)": [[6, "pydis_core.site_api.ResponseCodeError.__str__", false]], "abstractcommanderrorhandler (class in pydis_core.utils.error_handling.commands)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler", false]], "abstractcommanderrorhandler (class in pydis_core.utils.error_handling.commands.abc)": [[15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler", false]], "add_cog() (botbase method)": [[3, "pydis_core.BotBase.add_cog", false]], "add_command() (botbase method)": [[3, "pydis_core.BotBase.add_command", false]], "add_line() (linepaginator method)": [[3, "pydis_core.LinePaginator.add_line", false], [23, "pydis_core.utils.pagination.LinePaginator.add_line", false]], "all_extensions (botbase attribute)": [[3, "pydis_core.BotBase.all_extensions", false]], "api_client (botbase attribute)": [[3, "pydis_core.BotBase.api_client", false]], "apiclient (class in pydis_core.site_api)": [[6, "pydis_core.site_api.APIClient", false]], "apply_monkey_patches() (in module pydis_core.utils)": [[7, "pydis_core.utils.apply_monkey_patches", false]], "asynccache (class in pydis_core.utils.caching)": [[8, "pydis_core.utils.caching.AsyncCache", false]], "asyncstatsclient (class in pydis_core.async_stats)": [[4, "pydis_core.async_stats.AsyncStatsClient", false]], "block_duplicate_invocations() (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.block_duplicate_invocations", false]], "botbase (class in pydis_core)": [[3, "pydis_core.BotBase", false]], "call_without_cooldown() (commandoncooldown method)": [[12, "pydis_core.utils.cooldown.CommandOnCooldown.call_without_cooldown", false]], "callback() (deletemessagebutton method)": [[18, "pydis_core.utils.interactions.DeleteMessageButton.callback", false]], "cancel() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.cancel", false]], "cancel_all() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.cancel_all", false]], "clean_text_or_reply() (in module pydis_core.utils.commands)": [[11, "pydis_core.utils.commands.clean_text_or_reply", false]], "clear() (asynccache method)": [[8, "pydis_core.utils.caching.AsyncCache.clear", false]], "clear() (botbase method)": [[3, "pydis_core.BotBase.clear", false]], "close() (apiclient method)": [[6, "pydis_core.site_api.APIClient.close", false]], "close() (botbase method)": [[3, "pydis_core.BotBase.close", false]], "command_wraps() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.command_wraps", false]], "commanderrormanager (class in pydis_core.utils.error_handling.commands)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager", false]], "commanderrormanager (class in pydis_core.utils.error_handling.commands.manager)": [[16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager", false]], "commandoncooldown": [[12, "pydis_core.utils.cooldown.CommandOnCooldown", false]], "contextcheckfailure": [[10, "pydis_core.utils.checks.ContextCheckFailure", false]], "cooldown_with_role_bypass() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.cooldown_with_role_bypass", false]], "create_socket() (asyncstatsclient method)": [[4, "pydis_core.async_stats.AsyncStatsClient.create_socket", false]], "create_task() (in module pydis_core.utils.scheduling)": [[26, "pydis_core.utils.scheduling.create_task", false]], "customlogger (class in pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.CustomLogger", false]], "delete() (apiclient method)": [[6, "pydis_core.site_api.APIClient.delete", false]], "deletemessagebutton (class in pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.DeleteMessageButton", false]], "discord_invite (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.DISCORD_INVITE", false]], "emptypaginatorembederror": [[3, "pydis_core.EmptyPaginatorEmbedError", false], [23, "pydis_core.utils.pagination.EmptyPaginatorEmbedError", false]], "formatted_code_regex (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.FORMATTED_CODE_REGEX", false]], "get() (apiclient method)": [[6, "pydis_core.site_api.APIClient.get", false]], "get_arg_value() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_arg_value", false]], "get_arg_value_wrapper() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_arg_value_wrapper", false]], "get_bound_args() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.get_bound_args", false]], "get_logger() (in module pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.get_logger", false]], "get_or_fetch_channel() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.get_or_fetch_channel", false]], "get_or_fetch_member() (in module pydis_core.utils.members)": [[21, "pydis_core.utils.members.get_or_fetch_member", false]], "globalnameconflicterror": [[17, "pydis_core.utils.function.GlobalNameConflictError", false]], "guild_id (botbase attribute)": [[3, "pydis_core.BotBase.guild_id", false]], "handle_app_command_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_app_command_error", false], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_app_command_error", false]], "handle_error() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.handle_error", false], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.handle_error", false]], "handle_forbidden_from_block() (in module pydis_core.utils.error_handling)": [[13, "pydis_core.utils.error_handling.handle_forbidden_from_block", false]], "handle_role_change() (in module pydis_core.utils.members)": [[21, "pydis_core.utils.members.handle_role_change", false]], "handle_text_command_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.handle_text_command_error", false], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.handle_text_command_error", false]], "has_any_role_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_any_role_check", false]], "has_no_roles_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.has_no_roles_check", false]], "http_session (botbase attribute)": [[3, "pydis_core.BotBase.http_session", false]], "id (lockedresourceerror attribute)": [[19, "pydis_core.utils.lock.LockedResourceError.id", false]], "in_whitelist_check() (in module pydis_core.utils.checks)": [[10, "pydis_core.utils.checks.in_whitelist_check", false]], "interaction_check() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.interaction_check", false]], "inwhitelistcheckfailure": [[10, "pydis_core.utils.checks.InWhitelistCheckFailure", false]], "is_in_category() (in module pydis_core.utils.channel)": [[9, "pydis_core.utils.channel.is_in_category", false]], "linepaginator (class in pydis_core)": [[3, "pydis_core.LinePaginator", false]], "linepaginator (class in pydis_core.utils.pagination)": [[23, "pydis_core.utils.pagination.LinePaginator", false]], "load_extensions() (botbase method)": [[3, "pydis_core.BotBase.load_extensions", false]], "lock() (in module pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.lock", false]], "lock_arg() (in module pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.lock_arg", false]], "lockedresourceerror": [[19, "pydis_core.utils.lock.LockedResourceError", false]], "log_format (in module pydis_core.utils.logging)": [[20, "pydis_core.utils.logging.log_format", false]], "log_to_dev_log() (botbase method)": [[3, "pydis_core.BotBase.log_to_dev_log", false]], "max_paste_size (in module pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.MAX_PASTE_SIZE", false]], "maybe_raise_for_status() (apiclient static method)": [[6, "pydis_core.site_api.APIClient.maybe_raise_for_status", false]], "model_computed_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_computed_fields", false], [23, "pydis_core.utils.pagination.PaginationEmojis.model_computed_fields", false]], "model_computed_fields (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_computed_fields", false]], "model_computed_fields (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_computed_fields", false]], "model_config (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_config", false], [23, "pydis_core.utils.pagination.PaginationEmojis.model_config", false]], "model_config (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_config", false]], "model_config (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_config", false]], "model_fields (paginationemojis attribute)": [[3, "pydis_core.PaginationEmojis.model_fields", false], [23, "pydis_core.utils.pagination.PaginationEmojis.model_fields", false]], "model_fields (pastefile attribute)": [[24, "pydis_core.utils.paste_service.PasteFile.model_fields", false]], "model_fields (pasteresponse attribute)": [[24, "pydis_core.utils.paste_service.PasteResponse.model_fields", false]], "module": [[3, "module-pydis_core", false], [4, "module-pydis_core.async_stats", false], [5, "module-pydis_core.exts", false], [6, "module-pydis_core.site_api", false], [7, "module-pydis_core.utils", false], [8, "module-pydis_core.utils.caching", false], [9, "module-pydis_core.utils.channel", false], [10, "module-pydis_core.utils.checks", false], [11, "module-pydis_core.utils.commands", false], [12, "module-pydis_core.utils.cooldown", false], [13, "module-pydis_core.utils.error_handling", false], [14, "module-pydis_core.utils.error_handling.commands", false], [15, "module-pydis_core.utils.error_handling.commands.abc", false], [16, "module-pydis_core.utils.error_handling.commands.manager", false], [17, "module-pydis_core.utils.function", false], [18, "module-pydis_core.utils.interactions", false], [19, "module-pydis_core.utils.lock", false], [20, "module-pydis_core.utils.logging", false], [21, "module-pydis_core.utils.members", false], [22, "module-pydis_core.utils.messages", false], [23, "module-pydis_core.utils.pagination", false], [24, "module-pydis_core.utils.paste_service", false], [25, "module-pydis_core.utils.regex", false], [26, "module-pydis_core.utils.scheduling", false]], "on_guild_available() (botbase method)": [[3, "pydis_core.BotBase.on_guild_available", false]], "on_guild_unavailable() (botbase method)": [[3, "pydis_core.BotBase.on_guild_unavailable", false]], "on_timeout() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.on_timeout", false]], "p (in module pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.P", false]], "paginate() (linepaginator class method)": [[3, "pydis_core.LinePaginator.paginate", false], [23, "pydis_core.utils.pagination.LinePaginator.paginate", false]], "paginationemojis (class in pydis_core)": [[3, "pydis_core.PaginationEmojis", false]], "paginationemojis (class in pydis_core.utils.pagination)": [[23, "pydis_core.utils.pagination.PaginationEmojis", false]], "pastefile (class in pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.PasteFile", false]], "pasteresponse (class in pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.PasteResponse", false]], "pastetoolongerror": [[24, "pydis_core.utils.paste_service.PasteTooLongError", false]], "pasteunsupportedlexererror": [[24, "pydis_core.utils.paste_service.PasteUnsupportedLexerError", false]], "pasteuploaderror": [[24, "pydis_core.utils.paste_service.PasteUploadError", false]], "patch() (apiclient method)": [[6, "pydis_core.site_api.APIClient.patch", false]], "ping_services() (botbase method)": [[3, "pydis_core.BotBase.ping_services", false]], "post() (apiclient method)": [[6, "pydis_core.site_api.APIClient.post", false]], "process_commands() (botbase method)": [[3, "pydis_core.BotBase.process_commands", false]], "put() (apiclient method)": [[6, "pydis_core.site_api.APIClient.put", false]], "pydis_core": [[3, "module-pydis_core", false]], "pydis_core.async_stats": [[4, "module-pydis_core.async_stats", false]], "pydis_core.exts": [[5, "module-pydis_core.exts", false]], "pydis_core.site_api": [[6, "module-pydis_core.site_api", false]], "pydis_core.utils": [[7, "module-pydis_core.utils", false]], "pydis_core.utils.caching": [[8, "module-pydis_core.utils.caching", false]], "pydis_core.utils.channel": [[9, "module-pydis_core.utils.channel", false]], "pydis_core.utils.checks": [[10, "module-pydis_core.utils.checks", false]], "pydis_core.utils.commands": [[11, "module-pydis_core.utils.commands", false]], "pydis_core.utils.cooldown": [[12, "module-pydis_core.utils.cooldown", false]], "pydis_core.utils.error_handling": [[13, "module-pydis_core.utils.error_handling", false]], "pydis_core.utils.error_handling.commands": [[14, "module-pydis_core.utils.error_handling.commands", false]], "pydis_core.utils.error_handling.commands.abc": [[15, "module-pydis_core.utils.error_handling.commands.abc", false]], "pydis_core.utils.error_handling.commands.manager": [[16, "module-pydis_core.utils.error_handling.commands.manager", false]], "pydis_core.utils.function": [[17, "module-pydis_core.utils.function", false]], "pydis_core.utils.interactions": [[18, "module-pydis_core.utils.interactions", false]], "pydis_core.utils.lock": [[19, "module-pydis_core.utils.lock", false]], "pydis_core.utils.logging": [[20, "module-pydis_core.utils.logging", false]], "pydis_core.utils.members": [[21, "module-pydis_core.utils.members", false]], "pydis_core.utils.messages": [[22, "module-pydis_core.utils.messages", false]], "pydis_core.utils.pagination": [[23, "module-pydis_core.utils.pagination", false]], "pydis_core.utils.paste_service": [[24, "module-pydis_core.utils.paste_service", false]], "pydis_core.utils.regex": [[25, "module-pydis_core.utils.regex", false]], "pydis_core.utils.scheduling": [[26, "module-pydis_core.utils.scheduling", false]], "r (class in pydis_core.utils.cooldown)": [[12, "pydis_core.utils.cooldown.R", false]], "raw_code_regex (in module pydis_core.utils.regex)": [[25, "pydis_core.utils.regex.RAW_CODE_REGEX", false]], "reaction_check() (in module pydis_core.utils.messages)": [[22, "pydis_core.utils.messages.reaction_check", false]], "redis_session (botbase attribute)": [[3, "pydis_core.BotBase.redis_session", false]], "register_command_error_manager() (botbase method)": [[3, "pydis_core.BotBase.register_command_error_manager", false]], "register_handler() (commanderrormanager method)": [[14, "pydis_core.utils.error_handling.commands.CommandErrorManager.register_handler", false], [16, "pydis_core.utils.error_handling.commands.manager.CommandErrorManager.register_handler", false]], "remove_command() (botbase method)": [[3, "pydis_core.BotBase.remove_command", false]], "request() (apiclient method)": [[6, "pydis_core.site_api.APIClient.request", false]], "responsecodeerror": [[6, "pydis_core.site_api.ResponseCodeError", false]], "schedule() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule", false]], "schedule_at() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule_at", false]], "schedule_later() (scheduler method)": [[26, "pydis_core.utils.scheduling.Scheduler.schedule_later", false]], "scheduler (class in pydis_core.utils.scheduling)": [[26, "pydis_core.utils.scheduling.Scheduler", false]], "send_to_paste_service() (in module pydis_core.utils.paste_service)": [[24, "pydis_core.utils.paste_service.send_to_paste_service", false]], "setup_hook() (botbase method)": [[3, "pydis_core.BotBase.setup_hook", false]], "sharedevent (class in pydis_core.utils.lock)": [[19, "pydis_core.utils.lock.SharedEvent", false]], "should_handle_error() (abstractcommanderrorhandler method)": [[14, "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler.should_handle_error", false], [15, "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler.should_handle_error", false]], "startuperror": [[3, "pydis_core.StartupError", false]], "stats (botbase attribute)": [[3, "pydis_core.BotBase.stats", false]], "statsd_url (botbase attribute)": [[3, "pydis_core.BotBase.statsd_url", false]], "stop() (viewwithuserandrolecheck method)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck.stop", false]], "trace() (customlogger method)": [[20, "pydis_core.utils.logging.CustomLogger.trace", false]], "type (lockedresourceerror attribute)": [[19, "pydis_core.utils.lock.LockedResourceError.type", false]], "unqualify() (in module pydis_core.utils)": [[7, "pydis_core.utils.unqualify", false]], "update_wrapper_globals() (in module pydis_core.utils.function)": [[17, "pydis_core.utils.function.update_wrapper_globals", false]], "user_has_access() (in module pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.user_has_access", false]], "viewwithuserandrolecheck (class in pydis_core.utils.interactions)": [[18, "pydis_core.utils.interactions.ViewWithUserAndRoleCheck", false]], "wait() (sharedevent method)": [[19, "pydis_core.utils.lock.SharedEvent.wait", false]], "wait_until_guild_available() (botbase method)": [[3, "pydis_core.BotBase.wait_until_guild_available", false]]}, "objects": {"": [[3, 0, 0, "-", "pydis_core"]], "pydis_core": [[3, 1, 1, "", "BotBase"], [3, 4, 1, "", "EmptyPaginatorEmbedError"], [3, 1, 1, "", "LinePaginator"], [3, 1, 1, "", "PaginationEmojis"], [3, 4, 1, "", "StartupError"], [4, 0, 0, "-", "async_stats"], [5, 0, 0, "-", "exts"], [6, 0, 0, "-", "site_api"], [7, 0, 0, "-", "utils"]], "pydis_core.BotBase": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_cog"], [3, 2, 1, "", "add_command"], [3, 3, 1, "", "all_extensions"], [3, 3, 1, "", "api_client"], [3, 2, 1, "", "clear"], [3, 2, 1, "", "close"], [3, 3, 1, "", "guild_id"], [3, 3, 1, "", "http_session"], [3, 2, 1, "", "load_extensions"], [3, 2, 1, "", "log_to_dev_log"], [3, 2, 1, "", "on_guild_available"], [3, 2, 1, "", "on_guild_unavailable"], [3, 2, 1, "", "ping_services"], [3, 2, 1, "", "process_commands"], [3, 3, 1, "", "redis_session"], [3, 2, 1, "", "register_command_error_manager"], [3, 2, 1, "", "remove_command"], [3, 2, 1, "", "setup_hook"], [3, 3, 1, "", "stats"], [3, 3, 1, "", "statsd_url"], [3, 2, 1, "", "wait_until_guild_available"]], "pydis_core.LinePaginator": [[3, 2, 1, "", "__init__"], [3, 2, 1, "", "add_line"], [3, 2, 1, "", "paginate"]], "pydis_core.PaginationEmojis": [[3, 3, 1, "", "model_computed_fields"], [3, 3, 1, "", "model_config"], [3, 3, 1, "", "model_fields"]], "pydis_core.StartupError": [[3, 2, 1, "", "__init__"]], "pydis_core.async_stats": [[4, 1, 1, "", "AsyncStatsClient"]], "pydis_core.async_stats.AsyncStatsClient": [[4, 2, 1, "", "__init__"], [4, 2, 1, "", "create_socket"]], "pydis_core.site_api": [[6, 1, 1, "", "APIClient"], [6, 4, 1, "", "ResponseCodeError"]], "pydis_core.site_api.APIClient": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "close"], [6, 2, 1, "", "delete"], [6, 2, 1, "", "get"], [6, 2, 1, "", "maybe_raise_for_status"], [6, 2, 1, "", "patch"], [6, 2, 1, "", "post"], [6, 2, 1, "", "put"], [6, 2, 1, "", "request"]], "pydis_core.site_api.ResponseCodeError": [[6, 2, 1, "", "__init__"], [6, 2, 1, "", "__str__"]], "pydis_core.utils": [[7, 5, 1, "", "apply_monkey_patches"], [8, 0, 0, "-", "caching"], [9, 0, 0, "-", "channel"], [10, 0, 0, "-", "checks"], [11, 0, 0, "-", "commands"], [12, 0, 0, "-", "cooldown"], [13, 0, 0, "-", "error_handling"], [17, 0, 0, "-", "function"], [18, 0, 0, "-", "interactions"], [19, 0, 0, "-", "lock"], [20, 0, 0, "-", "logging"], [21, 0, 0, "-", "members"], [22, 0, 0, "-", "messages"], [23, 0, 0, "-", "pagination"], [24, 0, 0, "-", "paste_service"], [25, 0, 0, "-", "regex"], [26, 0, 0, "-", "scheduling"], [7, 5, 1, "", "unqualify"]], "pydis_core.utils.caching": [[8, 1, 1, "", "AsyncCache"]], "pydis_core.utils.caching.AsyncCache": [[8, 2, 1, "", "__call__"], [8, 2, 1, "", "__init__"], [8, 2, 1, "", "clear"]], "pydis_core.utils.channel": [[9, 5, 1, "", "get_or_fetch_channel"], [9, 5, 1, "", "is_in_category"]], "pydis_core.utils.checks": [[10, 4, 1, "", "ContextCheckFailure"], [10, 4, 1, "", "InWhitelistCheckFailure"], [10, 5, 1, "", "cooldown_with_role_bypass"], [10, 5, 1, "", "has_any_role_check"], [10, 5, 1, "", "has_no_roles_check"], [10, 5, 1, "", "in_whitelist_check"]], "pydis_core.utils.checks.ContextCheckFailure": [[10, 2, 1, "", "__init__"]], "pydis_core.utils.commands": [[11, 5, 1, "", "clean_text_or_reply"]], "pydis_core.utils.cooldown": [[12, 4, 1, "", "CommandOnCooldown"], [12, 6, 1, "", "P"], [12, 1, 1, "", "R"], [12, 5, 1, "", "block_duplicate_invocations"]], "pydis_core.utils.cooldown.CommandOnCooldown": [[12, 2, 1, "", "__init__"], [12, 2, 1, "", "call_without_cooldown"]], "pydis_core.utils.error_handling": [[14, 0, 0, "-", "commands"], [13, 5, 1, "", "handle_forbidden_from_block"]], "pydis_core.utils.error_handling.commands": [[14, 1, 1, "", "AbstractCommandErrorHandler"], [14, 1, 1, "", "CommandErrorManager"], [15, 0, 0, "-", "abc"], [16, 0, 0, "-", "manager"]], "pydis_core.utils.error_handling.commands.AbstractCommandErrorHandler": [[14, 2, 1, "", "handle_app_command_error"], [14, 2, 1, "", "handle_text_command_error"], [14, 2, 1, "", "should_handle_error"]], "pydis_core.utils.error_handling.commands.CommandErrorManager": [[14, 2, 1, "", "__init__"], [14, 2, 1, "", "handle_error"], [14, 2, 1, "", "register_handler"]], "pydis_core.utils.error_handling.commands.abc": [[15, 1, 1, "", "AbstractCommandErrorHandler"]], "pydis_core.utils.error_handling.commands.abc.AbstractCommandErrorHandler": [[15, 2, 1, "", "handle_app_command_error"], [15, 2, 1, "", "handle_text_command_error"], [15, 2, 1, "", "should_handle_error"]], "pydis_core.utils.error_handling.commands.manager": [[16, 1, 1, "", "CommandErrorManager"]], "pydis_core.utils.error_handling.commands.manager.CommandErrorManager": [[16, 2, 1, "", "__init__"], [16, 2, 1, "", "handle_error"], [16, 2, 1, "", "register_handler"]], "pydis_core.utils.function": [[17, 4, 1, "", "GlobalNameConflictError"], [17, 5, 1, "", "command_wraps"], [17, 5, 1, "", "get_arg_value"], [17, 5, 1, "", "get_arg_value_wrapper"], [17, 5, 1, "", "get_bound_args"], [17, 5, 1, "", "update_wrapper_globals"]], "pydis_core.utils.interactions": [[18, 1, 1, "", "DeleteMessageButton"], [18, 1, 1, "", "ViewWithUserAndRoleCheck"], [18, 5, 1, "", "user_has_access"]], "pydis_core.utils.interactions.DeleteMessageButton": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "callback"]], "pydis_core.utils.interactions.ViewWithUserAndRoleCheck": [[18, 2, 1, "", "__init__"], [18, 2, 1, "", "interaction_check"], [18, 2, 1, "", "on_timeout"], [18, 2, 1, "", "stop"]], "pydis_core.utils.lock": [[19, 4, 1, "", "LockedResourceError"], [19, 1, 1, "", "SharedEvent"], [19, 5, 1, "", "lock"], [19, 5, 1, "", "lock_arg"]], "pydis_core.utils.lock.LockedResourceError": [[19, 2, 1, "", "__init__"], [19, 3, 1, "", "id"], [19, 3, 1, "", "type"]], "pydis_core.utils.lock.SharedEvent": [[19, 2, 1, "", "__enter__"], [19, 2, 1, "", "__exit__"], [19, 2, 1, "", "__init__"], [19, 2, 1, "", "wait"]], "pydis_core.utils.logging": [[20, 1, 1, "", "CustomLogger"], [20, 5, 1, "", "get_logger"], [20, 6, 1, "", "log_format"]], "pydis_core.utils.logging.CustomLogger": [[20, 2, 1, "", "trace"]], "pydis_core.utils.members": [[21, 5, 1, "", "get_or_fetch_member"], [21, 5, 1, "", "handle_role_change"]], "pydis_core.utils.messages": [[22, 5, 1, "", "reaction_check"]], "pydis_core.utils.pagination": [[23, 4, 1, "", "EmptyPaginatorEmbedError"], [23, 1, 1, "", "LinePaginator"], [23, 1, 1, "", "PaginationEmojis"]], "pydis_core.utils.pagination.LinePaginator": [[23, 2, 1, "", "__init__"], [23, 2, 1, "", "add_line"], [23, 2, 1, "", "paginate"]], "pydis_core.utils.pagination.PaginationEmojis": [[23, 3, 1, "", "model_computed_fields"], [23, 3, 1, "", "model_config"], [23, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service": [[24, 6, 1, "", "MAX_PASTE_SIZE"], [24, 1, 1, "", "PasteFile"], [24, 1, 1, "", "PasteResponse"], [24, 4, 1, "", "PasteTooLongError"], [24, 4, 1, "", "PasteUnsupportedLexerError"], [24, 4, 1, "", "PasteUploadError"], [24, 5, 1, "", "send_to_paste_service"]], "pydis_core.utils.paste_service.PasteFile": [[24, 3, 1, "", "model_computed_fields"], [24, 3, 1, "", "model_config"], [24, 3, 1, "", "model_fields"]], "pydis_core.utils.paste_service.PasteResponse": [[24, 3, 1, "", "model_computed_fields"], [24, 3, 1, "", "model_config"], [24, 3, 1, "", "model_fields"]], "pydis_core.utils.regex": [[25, 6, 1, "", "DISCORD_INVITE"], [25, 6, 1, "", "FORMATTED_CODE_REGEX"], [25, 6, 1, "", "RAW_CODE_REGEX"]], "pydis_core.utils.scheduling": [[26, 1, 1, "", "Scheduler"], [26, 5, 1, "", "create_task"]], "pydis_core.utils.scheduling.Scheduler": [[26, 2, 1, "", "__contains__"], [26, 2, 1, "", "__init__"], [26, 2, 1, "", "cancel"], [26, 2, 1, "", "cancel_all"], [26, 2, 1, "", "schedule"], [26, 2, 1, "", "schedule_at"], [26, 2, 1, "", "schedule_later"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "exception", "Python exception"], "5": ["py", "function", "Python function"], "6": ["py", "data", "Python data"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:attribute", "4": "py:exception", "5": "py:function", "6": "py:data"}, "terms": {"": [0, 1, 3, 7, 8, 10, 11, 12, 17, 18, 19, 20, 22, 23, 25, 26], "0": [0, 8, 10, 18, 19, 20], "0a0": 0, "0eb3d26": 0, "1": [0, 20], "10": 0, "101": 0, "103": 0, "104": 0, "106": 0, "107": 0, "108": 0, "10th": 0, "11": 0, "110": 0, "12": 0, "124": 0, "125": 0, "128": 8, "138": 0, "13th": 0, "14th": 0, "15": 0, "151": 0, "157": 0, "158": 0, "162": 0, "169": 0, "16th": 0, "170": 0, "171": 0, "172": 0, "173": 0, "174": 0, "175": 0, "176": 0, "177": 0, "179": 0, "17th": 0, "180": 18, "181": 0, "182": 0, "183": 0, "184": 0, "185": 0, "187": 0, "188": 0, "189": 0, "18th": 0, "190": 0, "192": 0, "194": 0, "195": 0, "196": 0, "197": 0, "199": 0, "19th": 0, "2": [0, 3, 18], "200": 0, "202": 0, "2021": 0, "2022": 0, "2023": 0, "2024": 0, "204": [0, 6], "205": 0, "206": 0, "207": 0, "208": 0, "209": 0, "20th": 0, "210": 0, "21st": 0, "22nd": 0, "23rd": 0, "24th": 0, "25th": 0, "26th": 0, "27th": 0, "28th": 0, "29": 0, "2nd": 0, "3": 0, "30": 0, "300": [3, 23], "30th": 0, "32": 0, "34": 0, "35": 0, "37": 0, "39": 0, "3rd": 0, "4": 0, "4000": [3, 23], "403": 7, "42": 0, "4cbe8f5": 0, "5": [0, 12], "500": [3, 23], "524288": 24, "54": 0, "56": 0, "5a06fa5": 0, "5th": 0, "6": 0, "61": 0, "63": 0, "637136429717389331": [3, 23], "64": 0, "65": 0, "66": 0, "68": 0, "69": 0, "6th": 0, "7": 0, "72": 0, "75": 0, "78": 0, "79": 0, "8": 0, "8125": 4, "88": 0, "9": 0, "90001": [0, 13], "91": 0, "93": 0, "96": 0, "98": 0, "987235d": 0, "9th": 0, "A": [1, 3, 6, 7, 8, 9, 10, 12, 14, 15, 16, 17, 18, 20, 23, 24, 26], "As": 0, "Be": 0, "For": 17, "If": [3, 6, 10, 12, 17, 18, 19, 22, 23, 26], "In": [3, 23], "It": [3, 7, 19, 23], "Not": 3, "On": 0, "That": 1, "The": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18, 20, 21, 23, 24, 26], "These": [3, 23], "To": [1, 3, 20], "_": 0, "__annotations__": 17, "__call__": [7, 8], "__contains__": [7, 26], "__dict__": 17, "__doc__": 17, "__enter__": [7, 19], "__exit__": [7, 19], "__fields__": [3, 23, 24], "__global__": 17, "__init__": [0, 2, 3, 4, 6, 7, 8, 10, 12, 13, 14, 16, 18, 19, 23, 26], "__module__": 17, "__name__": 17, "__qualname__": 17, "__str__": [3, 6], "_exc_tb": 19, "_exc_typ": 19, "_exc_val": 19, "_guild_avail": 0, "_p": 17, "_r": 17, "_transport": 0, "abc": [0, 13, 14], "abl": 0, "about": [3, 12, 23, 24], "abstract": [0, 14, 15], "abstractcommanderrorhandl": [0, 7, 13, 14, 15], "abstracteventloop": [4, 26], "accept": [17, 18], "access": 18, "acquir": 19, "across": [0, 3, 20, 23], "act": 7, "action": 0, "activ": 19, "actual": 0, "ad": [0, 1, 3, 7, 18, 20, 23], "add": [0, 3, 10, 12, 23], "add_cog": [2, 3], "add_command": [2, 3], "add_lin": [2, 3, 7, 23], "add_rol": 21, "addit": 0, "after": [0, 3, 18, 23, 26], "again": 1, "aid": [3, 23], "aiodn": 0, "aiohttp": [0, 3, 6, 24], "alia": [3, 7, 12], "alias": [3, 7], "all": [0, 1, 3, 4, 7, 14, 16, 19, 20, 26], "all_command": 3, "all_extens": [2, 3], "allow": [0, 1, 3, 18, 22, 23, 24], "allow_mod": 22, "allowed_emoji": 22, "allowed_rol": [0, 1, 3, 18, 22, 23], "allowed_us": [0, 18, 22], "alpha": 0, "alreadi": [3, 23, 26], "also": [0, 3, 7, 17, 18, 19, 23], "alwai": 10, "among": 19, "amount": [3, 23], "an": [0, 1, 3, 4, 6, 7, 8, 9, 10, 14, 15, 17, 19, 20, 23, 24, 26], "ani": [3, 6, 10, 17, 19, 23, 25, 26], "annot": [3, 17, 23, 24], "anymor": [3, 23], "anyth": [1, 24], "api": [0, 3, 6, 21], "api_cli": [0, 2, 3], "apicli": [0, 2, 3, 6], "app": [0, 3, 14, 15], "appear": 3, "append": [3, 23], "appli": [3, 7, 8, 10, 12, 19, 23, 24], "applic": 1, "apply_monkey_patch": [0, 2, 3, 7], "approach": 1, "april": 0, "ar": [0, 1, 3, 8, 17, 18, 22, 23, 25], "arg": [3, 12, 17, 19, 20], "arg_offset": 8, "args_preprocessor": 12, "argument": [6, 7, 8, 11, 12, 17, 19, 20, 21], "around": 6, "assign": 17, "async": [0, 3, 4, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 21, 23, 24], "async_rediscach": [0, 3], "async_stat": [2, 3], "asynccach": [3, 7, 8], "asyncio": [0, 4, 26], "asyncresolv": 0, "asyncstatscli": [2, 3, 4], "asyncstatsdcli": 0, "attach": 0, "attempt": [0, 3, 9, 19, 21, 23], "attr": 0, "attribut": [0, 7, 17], "august": 0, "authent": 6, "author": [3, 10, 22, 23], "auto": 0, "auto_mod": 0, "autogener": 0, "automat": [0, 3, 23], "avail": [0, 3, 14, 16, 19], "avoid": [0, 3, 23], "await": [0, 3, 12, 18, 19, 21, 23], "awar": [0, 26], "back": 0, "backtick": [3, 23], "bad": 0, "badargu": 11, "base": [0, 3, 4, 6, 8, 10, 12, 14, 15, 16, 17, 18, 19, 20, 23, 24, 26], "basemodel": [3, 23, 24], "basic": [0, 18], "becaus": [3, 17], "becom": [3, 19], "been": [0, 3], "befor": [0, 3, 10, 18, 19, 23, 26], "before_invok": 10, "behav": 17, "behavior": 10, "behaviour": [0, 3], "being": [0, 7, 10, 21], "belong": 3, "below": [1, 19], "best": [3, 23], "between": [0, 1, 17], "bind": [3, 17], "block": [0, 3, 12, 23, 25], "block_duplicate_invoc": [3, 7, 12], "bodi": 0, "boilerpl": 0, "bool": [3, 6, 9, 10, 12, 14, 15, 18, 19, 22, 23, 26], "bot": [0, 1, 3, 7, 9, 22], "bot_token": 1, "botbas": [0, 2, 3], "both": [0, 1, 3, 24], "boundari": [3, 23], "break": [0, 3, 17, 23], "broke": 0, "buckettyp": 10, "bug": 0, "bump": 0, "button": [0, 18], "buttonstyl": 18, "bypass": 10, "bypass_rol": 10, "byte": 24, "cach": [0, 3, 7, 9, 21], "calcul": 26, "call": [0, 3, 12, 17, 26], "call_without_cooldown": [7, 12], "callabl": [8, 10, 12, 17, 19, 21], "callback": [7, 10, 18], "can": [0, 1, 3, 10, 18, 19, 20, 23, 26], "cancel": [7, 26], "cancel_al": [7, 26], "cannot": [0, 3, 19, 23], "capabl": [14, 16], "captur": [0, 17, 25], "carri": 18, "case": [0, 3, 23], "categori": [9, 10], "category_id": 9, "caus": [3, 7, 23], "certain": [0, 1], "chang": [0, 1, 3, 17, 23], "changelog": 2, "changeset": 0, "channel": [0, 3, 7, 10, 12], "channel_id": 9, "charact": [0, 3, 23], "chardet": 0, "check": [0, 3, 6, 7, 9, 12, 13, 18, 22, 26], "checkfailur": 10, "choos": [14, 16], "chunk": 0, "ci": 0, "class": [0, 3, 4, 6, 8, 12, 14, 15, 16, 18, 19, 20, 23, 24, 26], "classmethod": [3, 23], "classvar": [3, 23, 24], "clean": [0, 11], "clean_text_or_repli": [3, 7, 11], "clear": [2, 3, 7, 8, 19], "click": 18, "client": [0, 3, 4], "clientrespons": 6, "clientsess": [3, 6, 24], "close": [0, 2, 3, 6, 26], "cloudflar": 7, "code": [0, 1, 3, 6, 19, 23, 25], "codepoint": [3, 23], "cog": [0, 3, 5], "collect": 10, "collis": 19, "com": [0, 24], "comma": 1, "command": [0, 1, 3, 7, 9, 10, 12, 13, 15, 16, 17, 19, 23], "command_wrap": [3, 7, 17], "commanderror": 12, "commanderrormanag": [0, 7, 13, 14, 16], "commandinvokeerror": 0, "commandoncooldown": [3, 7, 12], "commit": 0, "common": [0, 1, 3, 7, 20, 25], "commun": [3, 4], "compos": 1, "comput": [3, 23, 24], "computedfieldinfo": [3, 23, 24], "concurr": 0, "config": [0, 3, 23, 24], "configdict": [3, 23, 24], "configur": [1, 3, 23, 24], "conflict": 17, "conform": [3, 23, 24], "connect": [0, 3, 4], "connector": 3, "constructor": [3, 6], "contain": [1, 3, 10, 18, 23, 24, 26], "content": [0, 3, 11, 23, 24], "context": [3, 10, 11, 14, 15, 19, 23], "context_or_interact": [14, 16], "contextcheckfailur": [3, 7, 10], "continu": [3, 23], "control": 0, "cooldown": [3, 7, 10], "cooldown_dur": 12, "cooldown_with_role_bypass": [3, 7, 10], "copi": [1, 17], "core": [0, 1], "coro": [19, 21, 26], "coroutin": [8, 19, 21, 26], "correct": [0, 1], "correspond": [3, 23, 24], "could": [0, 21], "count": 19, "crash": 0, "creat": [0, 3, 4, 8, 12, 17, 23, 26], "create_datagram_endpoint": 4, "create_socket": [3, 4], "create_task": [3, 7, 26], "creation": 0, "criteria": 0, "ctx": [3, 10, 11, 18, 23], "current": [0, 3, 19, 23, 26], "custom": [0, 8, 20], "customlogg": [3, 7, 20], "cut": 0, "d": [1, 17], "dai": 0, "data": [3, 23, 24], "datetim": 26, "deal": 0, "decemb": 0, "declar": 0, "decor": [0, 8, 10, 12, 17, 19], "decorator_func": 17, "decrement": 19, "default": [0, 1, 3, 10, 14, 16, 17, 23, 24], "defin": [3, 23, 24], "delai": 26, "delet": [0, 3, 6, 8, 18, 23, 24], "deletemessagebutton": [0, 3, 7, 18], "depend": [0, 9], "deprec": 0, "describ": 10, "detail": 17, "detect": 0, "determin": [14, 15, 16], "dev": [1, 3], "develop": [0, 2, 3, 7], "dict": [3, 6, 17, 23, 24], "dictat": 0, "dictionari": [3, 23, 24], "did": 0, "directli": [0, 17], "directori": 1, "discord": [0, 1, 3, 5, 7, 9, 10, 11, 13, 14, 16, 17, 21, 23, 25], "discord_invit": [0, 3, 7, 25], "disnak": 0, "distinguish": 26, "django": 6, "dm": 10, "do": [0, 1, 9, 19], "doc": [0, 19], "docker": 1, "docstr": 0, "document": 0, "doe": [0, 17], "doesn": [3, 10, 26], "don": [0, 10, 26], "done": [3, 18, 23, 26], "drop": 0, "due": 0, "dummi": [0, 3], "duplic": [0, 12], "durat": 10, "dynam": 0, "e": [3, 23], "each": [0, 3, 23], "edit": 3, "effort": [3, 23], "either": [0, 3], "els": 11, "elsewher": 26, "emb": [0, 3, 23], "emit": 3, "emoji": [0, 3, 22, 23], "empti": [3, 23], "emptypaginatorembederror": [2, 3, 7, 23], "enabl": [0, 1], "encount": 24, "end": [3, 23], "endpoint": 6, "ensur": [0, 3, 18, 25], "entir": [0, 3], "env": 1, "environ": [0, 1], "equival": 6, "error": [0, 3, 6, 7, 13, 14, 15, 16, 21, 24], "error_handl": [0, 3, 7], "etc": [1, 10], "evalu": 17, "even": 22, "event": [0, 3, 4, 19, 26], "event_loop": 26, "everi": [3, 23], "exact": 1, "exampl": [3, 23], "exc_info": 20, "exce": [3, 8, 23], "exceed": [3, 23], "except": [3, 6, 10, 12, 14, 16, 17, 19, 20, 23, 24, 26], "exception_on_empty_emb": [3, 23], "excess": [3, 23], "exclus": 19, "execut": [19, 26], "exist": [0, 1, 26], "exit": 19, "expect": 21, "expiri": 0, "explain": 0, "expos": 19, "express": 25, "ext": [0, 2, 3, 7, 9, 10, 11, 23], "extend": 0, "extens": [0, 3], "extra": [0, 6], "extract": 0, "facilit": 0, "fail": [9, 10, 24], "fail_sil": 10, "failur": 21, "fakeredi": 0, "fals": [3, 10, 12, 19, 23, 24], "featur": [0, 1, 3], "februari": 0, "fetch": [9, 21], "few": 1, "field": [3, 23, 24], "fieldinfo": [3, 23, 24], "fifo": 8, "file": [0, 1, 24], "filter": 0, "finish": [3, 19, 23], "first": [3, 14, 16, 23], "five": [3, 23], "fix": 0, "float": [10, 12, 18, 26], "folder": 1, "footer": [3, 23], "footer_text": [3, 23], "forbidden": [0, 9, 13], "format": [24, 25], "formatt": 20, "formatted_code_regex": [3, 7, 25], "forum": 0, "forwardref": 17, "found": [3, 17, 21, 26], "free": 1, "from": [0, 1, 3, 4, 6, 7, 9, 17, 18, 21, 23, 24, 26], "frozenset": [3, 17], "func": [17, 19], "function": [0, 3, 7, 8, 9, 12, 19, 20, 21, 23, 26], "functool": 17, "futur": [10, 26], "g": [3, 23], "gatewai": 3, "gener": [0, 3, 12, 26], "get": [0, 3, 6, 9, 17, 21], "get_arg_valu": [3, 7, 17], "get_arg_value_wrapp": [3, 7, 17], "get_bound_arg": [3, 7, 17], "get_logg": [3, 7, 20], "get_or_fetch_channel": [0, 3, 7, 9], "get_or_fetch_memb": [0, 3, 7, 21], "git": 1, "github": 0, "give": 3, "given": [0, 3, 4, 7, 9, 11, 17, 19, 20, 21, 26], "global": 17, "globalnameconflicterror": [3, 7, 17], "go": [1, 3, 19, 23], "greater": 24, "groundwork": 1, "group": [7, 25], "guild": [0, 1, 3, 10, 21], "guild_available_but_cache_empti": 3, "guild_creat": 3, "guild_id": [1, 2, 3], "guildchannel": 9, "ha": [0, 3, 7, 10, 18], "handl": [0, 13, 14, 15, 16, 21, 26], "handle_app_command_error": [13, 14, 15], "handle_error": [13, 14, 16], "handle_forbidden_from_block": [3, 7, 13], "handle_role_chang": [0, 3, 7, 21], "handle_text_command_error": [13, 14, 15], "handler": [0, 3, 14, 15, 16], "happen": 3, "has_any_role_check": [3, 7, 10], "has_no_roles_check": [3, 7, 10], "hashabl": [19, 26], "have": [0, 9, 10, 17, 20], "heavi": 7, "help": [0, 1], "helper": [0, 9, 12, 21], "hold": [3, 19, 23], "holder": 19, "hook": 0, "host": 4, "houston": 20, "how": [0, 8, 10, 17, 26], "howev": 1, "http": [0, 3, 6, 24, 25], "http_session": [2, 3, 24], "httpexcept": 9, "i": [0, 1, 3, 6, 7, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "icon": [3, 23], "icon_url": [3, 23], "id": [1, 3, 7, 9, 10, 18, 19, 23, 26], "identifi": [19, 26], "ignor": [1, 7, 17, 22], "ignored_conflict_nam": 17, "immedi": 26, "implement": [0, 3, 4, 8, 18, 20], "import": 0, "in_whitelist": 10, "in_whitelist_check": [3, 7, 10], "inadequ": 3, "includ": [0, 1, 13], "incorrect": 0, "increment": 19, "independantli": 0, "index": 2, "indic": [3, 21, 23], "individu": 3, "info": [0, 1], "inform": [2, 19, 20], "init": [0, 3, 4], "initi": [6, 26], "initialis": [3, 8], "input": 18, "insert": [3, 23], "insid": [3, 23], "instal": [0, 1], "instanc": [0, 3, 6, 8, 9, 10, 20, 26], "instanti": [3, 18, 26], "instead": [3, 12, 26], "int": [3, 4, 8, 9, 10, 17, 18, 23, 24], "intend": 21, "intent": 1, "interact": [0, 3, 7, 9, 14, 15, 23], "interactin": 21, "interaction_check": [7, 18], "interest": 20, "intern": [3, 7, 19], "intersphinx": 0, "introduc": 10, "invalid": 9, "invaliddata": 9, "invit": [0, 25], "invoc": [0, 12], "invok": [1, 10, 12, 18], "inwhitelistcheckfailur": [3, 7, 10], "is_in_categori": [3, 7, 9], "isn": [0, 13, 17], "issu": 10, "item": 8, "iter": [10, 12, 14, 16], "its": [0, 3, 12, 17], "itself": 18, "januari": 0, "json": 6, "juli": 0, "june": 0, "just": 0, "keep": [3, 23, 26], "kei": 8, "keyword": [6, 7, 17, 20], "known": 26, "kwarg": [3, 6, 12, 17, 18, 20, 26], "label": [0, 18], "lancebot": 1, "larg": 24, "larger": 24, "last": [3, 10, 18, 23], "latest": 0, "lead": 0, "least": 10, "left": [3, 23], "length": [3, 12, 23], "level": [0, 7, 20], "lexer": [0, 24], "librari": [0, 1], "like": [1, 17], "limit": [3, 23], "line": [3, 23], "linepagin": [0, 2, 3, 7, 23], "linesep": [3, 23], "link": 24, "lint": 0, "list": [0, 1, 3, 18, 23, 24], "listen": 18, "ll": [1, 26], "load": [0, 1, 3, 7], "load_extens": [0, 2, 3], "local": 2, "localhost": 4, "lock": [0, 3, 7], "lock_arg": [3, 7, 19], "lockedresourceerror": [3, 7, 19], "log": [0, 3, 7, 13, 21, 26], "log_format": [0, 3, 7, 20], "log_to_dev_log": [2, 3], "logger": [0, 20], "logic": 0, "long": [10, 24, 26], "longer": [0, 18], "look": [17, 26], "loop": [4, 26], "lot": 0, "lru": 8, "lua": 0, "lupa": 0, "m": 1, "machin": 1, "made": [0, 22], "mai": [0, 3, 8, 19, 23], "main": 0, "make": [0, 1, 3, 20, 23], "manag": [0, 3, 13, 14, 19], "mani": [0, 3, 8], "manipul": [0, 17], "manual": 3, "map": [3, 17, 19, 23, 24], "march": 0, "mark": 0, "match": [0, 3, 17], "max": 24, "max_length": 24, "max_lin": [3, 23], "max_paste_s": [3, 7, 24], "max_siz": [3, 8, 23, 24], "maximum": [3, 8, 23, 24], "maybe_raise_for_statu": [3, 6], "mean": 1, "meant": 0, "member": [0, 3, 7, 18], "member_id": 21, "mention": [1, 3], "messag": [0, 3, 7, 11, 12, 13, 18, 20, 23, 26], "message_id": 22, "message_typ": 0, "metadata": [3, 23, 24], "method": [0, 4, 6, 7, 20], "metric": 3, "might": [1, 3, 10], "migrat": 0, "minut": [3, 23], "miss": 0, "mod": 0, "model": [3, 23, 24], "model_computed_field": [2, 3, 7, 23, 24], "model_config": [2, 3, 7, 23, 24], "model_field": [2, 3, 7, 23, 24], "moder": [3, 18, 22, 23], "modifi": [1, 21], "modul": [0, 3, 7, 17, 26], "monitor": 1, "monkei": [0, 7], "month": 0, "more": [0, 1, 3, 17, 19, 23], "most": 1, "move": 0, "msg": 20, "multipl": 0, "multivers": 0, "must": [0, 17, 19, 26], "mutual": 19, "mypi": 20, "n": [3, 23], "name": [3, 7, 17, 19, 20, 23, 24, 26], "name_or_po": [17, 19], "namespac": [0, 19, 26], "navig": [0, 1, 3, 23], "na\u00efv": 26, "need": [0, 1, 3, 23], "new": [0, 1, 3, 4, 6, 8, 17, 23, 26], "newer": 0, "newli": 0, "next": [3, 23], "non": 6, "none": [0, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 21, 22, 23, 26], "noreturn": [14, 15], "normal": 3, "notabl": 0, "note": [0, 10], "notfound": 9, "notic": 0, "notifi": 12, "novemb": 0, "now": [0, 1, 26], "number": [0, 3, 10, 23, 24], "object": [3, 6, 7, 8, 9, 12, 14, 16, 19, 21, 23, 24, 26], "occur": 18, "octob": 0, "offset": 8, "ok": 6, "older": 0, "on_guild_avail": [2, 3], "on_guild_unavail": [2, 3], "on_readi": 3, "on_timeout": [7, 18], "onc": [0, 3, 8], "one": [0, 3, 10, 14, 16, 23], "ones": 1, "onli": [0, 3], "onto": [3, 23], "oper": [3, 19, 23, 26], "option": [0, 8, 17, 19], "order": [3, 8, 14, 16, 17, 19, 23, 26], "ordereddict": [17, 19], "origin": [0, 18], "other": [0, 1, 19, 26], "otherwis": [10, 19, 26], "our": [0, 1, 7], "out": [0, 1, 3, 18], "output": 25, "over": [0, 3, 23], "overflow": [3, 23], "overrid": [3, 23], "overwrit": [0, 3], "own": [0, 17], "p": [3, 7, 12], "packag": [0, 3, 7], "page": [2, 3, 23], "pagin": [0, 2, 3, 7], "pagination_emoji": [3, 23], "paginationemoji": [2, 3, 7, 23], "paramet": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 17, 18, 19, 20, 21, 23, 24, 26], "paramspec": [12, 17], "parent": [0, 18], "pars": 25, "pass": [0, 3, 6, 17, 20, 21, 26], "past": [0, 24, 26], "paste_servic": [0, 3, 7], "paste_url": 24, "pastebin": 0, "pastefil": [0, 3, 7, 24], "pasterespons": [3, 7, 24], "pastetoolongerror": [3, 7, 24], "pasteunsupportedlexererror": [3, 7, 24], "pasteuploaderror": [3, 7, 24], "patch": [0, 3, 6, 7], "path": 1, "pattern": 25, "per": [3, 10, 23], "perform": 19, "permiss": [0, 9], "ping": 3, "ping_servic": [0, 2, 3], "pip": 1, "place": [3, 23], "pleas": 25, "poetri": [0, 1], "popul": 3, "port": [0, 4], "posit": [8, 17, 19], "possibl": 1, "post": [3, 6, 24], "pre": 1, "predic": [0, 14, 15], "prefix": [1, 3, 4, 23], "prematur": 26, "press": 0, "prevent": [12, 19, 26], "previous": 0, "prioriti": [14, 16], "privatechannel": [0, 9], "problem": [10, 20], "process": [0, 3], "process_command": [0, 2, 3], "program": 1, "project": [0, 1, 20], "provid": [0, 1, 3, 8, 11, 13, 23, 26], "public": 0, "publish": 0, "purpos": 21, "push": 0, "put": [3, 6], "py": [0, 3, 17], "pydant": [0, 3, 23, 24], "pydi": [0, 2], "pydis_cor": [0, 1, 3, 18, 20], "pypi": 0, "pyproject": [0, 1], "python": [0, 1, 3, 24, 26], "pythondiscord": [0, 24], "qualifi": 7, "quot": 25, "r": [3, 7, 12], "rais": [3, 6, 9, 10, 11, 12, 13, 14, 15, 17, 19, 21, 23, 24, 26], "raise_error": 19, "raise_for_statu": 6, "rate": 10, "rather": 7, "raw": [12, 25], "raw_code_regex": [3, 7, 25], "rc2": 0, "re": [1, 3, 13, 22, 26], "reach": 19, "reaction": [0, 3, 22, 23], "reaction_check": [0, 3, 7, 22], "read": 0, "readi": 3, "real": 0, "reason": [3, 23], "receiv": [0, 6, 9], "recognis": 20, "reconnect": 0, "redi": [0, 3], "redirect": 10, "redirect_channel": 10, "redis_sess": [2, 3], "rediscach": 0, "redissess": 3, "refer": 0, "referenc": 0, "reflect": 17, "regex": [0, 3, 7], "regist": [0, 14, 16], "register_command_error_manag": [2, 3], "register_handl": [13, 14, 16], "registr": [3, 14, 16], "regular": 25, "reinstal": 1, "reject": 24, "relat": [8, 14, 16, 20], "releas": 0, "relev": 3, "reli": 0, "remain": [3, 23], "remov": [0, 3, 18, 22, 23, 24], "remove_command": [2, 3], "remove_rol": 21, "renam": 0, "replac": [3, 10, 17, 23, 24], "repli": [3, 11, 12, 13, 23], "repo": 0, "represent": 6, "request": [0, 3, 6, 25], "requir": [0, 1, 3, 23, 24, 26], "resolut": 0, "resolv": [3, 17], "resourc": 19, "resource_id": 19, "resource_typ": 19, "respons": [0, 6, 24], "response_json": 6, "response_text": 6, "responsecodeerror": [2, 3, 6], "restor": 0, "restrict": [0, 3, 23], "restrict_to_us": [3, 23], "result": [0, 26], "retriev": 9, "return": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "reusabl": 5, "revert": 0, "right": [0, 3, 23], "role": [0, 1, 3, 10, 18, 21, 22, 23], "root": [1, 3, 7], "root_alias": 7, "rout": 7, "ruff": 0, "rule": 0, "run": [0, 1, 12, 19, 26], "runtimeerror": 19, "safe": 0, "same": [12, 26], "sampl": 0, "sanitis": 25, "save": [0, 3, 24], "scale": [3, 23], "scale_to_s": [3, 23], "schedul": [0, 3, 7], "schedule_at": [7, 26], "schedule_lat": [7, 26], "script": 0, "search": 2, "second": [3, 10, 12, 18, 23, 26], "secondari": 18, "see": [0, 1, 17, 18, 19], "self": [0, 3, 18], "send": [0, 3, 6, 18, 23], "send_notic": 12, "send_to_paste_servic": [0, 3, 7, 24], "send_typ": 7, "seper": 1, "septemb": 0, "sequenc": [3, 7, 17, 18, 23], "serv": [3, 23], "server": [3, 25], "servic": [0, 1, 3, 24], "session": [0, 3, 6, 24], "session_kwarg": 6, "set": [0, 1, 3, 12, 17, 18, 19, 23], "set_author": [3, 23], "setup": [0, 3], "setup_hook": [2, 3], "sever": 20, "share": [0, 17], "sharedev": [3, 7, 19], "should": [0, 1, 3, 6, 14, 15, 18, 23, 24], "should_handle_error": [13, 14, 15, 16], "should_rais": 6, "signatur": 12, "silent": 10, "similar": [18, 25], "sinc": 10, "singl": [0, 3, 23], "sir": 1, "site": [0, 3, 6], "site_api": [0, 2, 3], "site_api_token": 6, "site_api_url": 6, "size": [3, 8, 23, 24], "so": [0, 1, 3, 7], "socket": 4, "sole": 21, "some": [0, 3, 23, 24], "someth": 25, "sourc": [3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], "specif": [0, 10], "specifi": [0, 10, 12, 18], "sphinx": 0, "split": 0, "stabl": 0, "standardis": [0, 20], "start": [0, 3, 26], "startup": 3, "startuperror": [2, 3], "stat": [0, 2, 3, 4], "state": 17, "static": 6, "statsclientbas": 4, "statsd": [0, 3, 4], "statsd_url": [0, 2, 3], "step": 1, "still": [3, 23], "stop": [0, 7, 18], "store": [0, 3, 7, 8, 23], "str": [3, 4, 6, 7, 10, 11, 17, 18, 19, 20, 23, 24, 26], "string": [0, 6], "style": 18, "sub": [0, 3], "submodul": [2, 13], "subpackag": 2, "subtract": 26, "success": [0, 24], "suffix": [3, 23], "suggest": 26, "support": [0, 4, 7, 26], "suppressed_except": 26, "sure": 1, "switch": [3, 23], "sync": [0, 3], "sync_app_command": 3, "system": [0, 1, 14, 16], "t": [0, 3, 10, 11, 13, 17, 19, 26], "target": [0, 8], "task": [0, 26], "task_id": 26, "task_return": 26, "templat": 1, "test": 2, "text": [0, 3, 6, 11, 14, 15, 23, 24], "textchannel": 9, "than": [7, 24], "thei": [3, 17, 22], "them": [1, 3, 17, 26], "thi": [0, 1, 3, 7, 9, 10, 12, 17, 18, 19, 21, 23, 24, 25, 26], "thread": [0, 9], "three": [3, 23], "through": [14, 16, 19], "thrown": 7, "thu": 3, "tild": 0, "time": [0, 10, 26], "timeout": [0, 3, 18, 23], "timezon": 26, "token": [1, 6], "toml": [0, 1], "too": 24, "tool": [3, 7], "top": 7, "total": [3, 23], "trace": [0, 7, 20], "track": 26, "transport": 4, "trashcan": [3, 23], "tree": 3, "trigger": 10, "true": [3, 6, 10, 12, 19, 20, 22, 23, 24, 26], "truncat": [3, 23], "tupl": [17, 26], "turn": 19, "two": 7, "type": [0, 3, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 26], "type_": 10, "typeerror": [10, 17], "typehint": 17, "typevar": [12, 17, 26], "u": [0, 3, 23], "ui": 18, "unavail": 3, "unawait": 26, "under": 7, "underli": 19, "union": 10, "uniqu": 26, "unknown": 9, "unqualifi": [0, 2, 3, 7], "unschedul": 26, "unsupport": 24, "unti": [3, 23], "until": [0, 3, 19, 25], "up": [0, 1, 3, 23], "updat": [0, 17], "update_wrapper_glob": [3, 7, 17], "upload": [0, 24], "upon": 0, "url": [0, 3, 6, 23, 24], "urllib": 25, "us": [0, 1, 3, 4, 6, 7, 9, 10, 12, 17, 19, 20, 21, 23, 24, 25, 26], "usag": 0, "user": [0, 3, 10, 12, 18, 22, 23], "user_has_access": [0, 3, 7, 18], "utc": 26, "util": [0, 1, 2, 3, 8, 17, 18, 20], "v1": [0, 3, 23, 24], "valid": 0, "valu": [12, 17, 19, 20], "valueerror": [6, 17, 24], "vari": 1, "variabl": 1, "variou": [0, 9], "verifi": 10, "version": [0, 11], "view": [0, 18], "viewwithuserandrolecheck": [0, 3, 7, 18], "wa": [0, 9, 10, 26], "wait": [0, 3, 7, 19, 26], "wait_until_guild_avail": [2, 3], "want": 1, "warn": [0, 26], "wasn": 11, "we": [20, 21], "websocket": 0, "were": 3, "what": 1, "when": [0, 3, 4, 6, 7, 8, 10, 12, 17, 19, 23, 24, 26], "where": 10, "whether": [0, 3, 6, 9, 10, 14, 15, 18, 23], "which": [0, 1, 3, 7, 10, 12, 17, 19, 23, 26], "while": [3, 12, 19, 23], "whitelist": 10, "whitespac": [0, 25], "who": [0, 18], "whom": [3, 23], "within": [0, 3], "without": [0, 10], "won": 17, "word": [3, 23], "work": [0, 1], "worker": 7, "workflow": 0, "would": [3, 23], "wrap": [8, 17, 26], "wrapper": [0, 6, 12, 17, 26], "write": [0, 1], "wrong": 0, "www": 0, "x": 0, "you": [0, 1, 9, 25], "your": 1}, "titles": ["Changelog", "Local Development & Testing", "Bot Core Project Documentation", "Pydis Core", "async_stats", "Exts", "site_api", "Utils", "caching", "channel", "checks", "commands", "cooldown", "error_handling package", "commands package", "abc", "manager", "function", "interactions", "lock", "logging", "members", "messages", "pagination", "paste_service", "regex", "scheduling"], "titleterms": {"1": 1, "2": 1, "abc": 15, "async_stat": 4, "bot": 2, "cach": 8, "changelog": 0, "channel": 9, "check": 10, "command": [11, 14], "cooldown": 12, "core": [2, 3], "develop": 1, "document": 2, "error_handl": 13, "ext": 5, "extra": 2, "function": 17, "interact": 18, "local": 1, "lock": 19, "log": 20, "manag": 16, "member": 21, "messag": 22, "modul": 2, "option": 1, "packag": [13, 14], "pagin": 23, "paste_servic": 24, "project": 2, "pydi": 3, "refer": 2, "regex": 25, "schedul": 26, "site_api": 6, "submodul": [3, 7, 14], "subpackag": [3, 7, 13], "test": 1, "util": 7}}) \ No newline at end of file diff --git a/v11.1.0/versions.html b/v11.1.0/versions.html index 94c4c7be..8add56f0 100644 --- a/v11.1.0/versions.html +++ b/v11.1.0/versions.html @@ -4,14 +4,14 @@ - + Versions - Pydis Core v11.1.0 - + @@ -603,7 +603,7 @@ - + -- cgit v1.2.3